nav-img
Облако VMware

AWS SDK для JavaScript для S3 VMware

AWS SDK для JavaScript — набор средств разработки для работы с сервисами AWS в среде Node.js.

Для установки AWS SDK для JavaScript воспользуйтесь инструкцией на сайте разработчика.

До начала работы

Получите реквизиты доступа к Объектному хранилищу (endpoint, access Key, Secret Key). Если у вас нет реквизитов доступа, обратитесь в техническую поддержку.

Настройка

Создайте в домашнем каталоге файл конфигурации .aws/credentials, содержащий пару ключей в формате:

[default]
aws_access_key_id = <access Key>
aws_secret_access_key = <Secret Key>

Примеры операций для Node.js

// Подключение
var S3 = require('aws-sdk/clients/s3');
var s3 = new S3({
accessKeyId: 'НомерАккаунта_ИмяПользователя',
secretAccessKey: 'Пароль',
endpoint: 'https:<endpoint>',
s3ForcePathStyle: true,
region: 'ru-1',
apiVersion: 'latest'
});
// Загрузить объект
var params = {
Bucket: 'BucketName',
Key: 'ObjectName',
Body: 'Test'
};
s3.upload(params, (err, data) => {
if (err) {
console.log(err, err.stack);
} else {
console.log(data);
}
/*
data = {
ETag: '0cbc6611f5540bd0809a388dc95a615b',
Location: 'https://<endpoint>',
key: 'ObjectName',
Key: 'ObjectName',
Bucket: 'BucketName'
}
*/
});
// Получить метаданные объекта
var params = {
Bucket: 'BucketName',
Key: 'ObjectName'
};
s3.headObject(params, (err, data) => {
if (err) {
console.log(err, err.stack);
} else {
console.log(data);
}
/*
data = {
AcceptRanges: 'bytes',
LastModified: 2021-10-03T18:15:15.000Z,
ContentLength: 4,
ETag: '0cb11f5540bd0809a',
ContentType: 'application/octet-stream',
Metadata: {}
}
*/
});
// Получить объект
var params = {
Bucket: 'BucketName',
Key: 'ObjectName'
};
s3.getObject(params, (err, data) => {
if (err) {
console.log(err, err.stack);
} else {
console.log(data);
}
/*
data = {
AcceptRanges: 'bytes',
LastModified: 2021-10-03T18:15:15.000Z,
ContentLength: 4,
ETag: '0cb11f5540bd0809a',
ContentType: 'application/octet-stream',
Metadata: {},
Body: <Buffer 54 65 73 74>
}
*/
});
// Удалить объект
var params = {
Bucket: 'BucketName',
Key: 'ObjectName'
};
s3.deleteObject(params, (err, data) => {
if (err) {
console.log(err, err.stack);
} else {
console.log(data);
}
/*
data = {
}
*/
});

С полной документацией по AWS SDK для JavaScript вы можете ознакомиться на сайте разработчика.