AWS SDK для JavaScript

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 вы можете ознакомиться на сайте разработчика.