Включите шифрование на стороне сервера и получите версию объекта в Amazon S3 с помощью knox и nodejs

До сих пор я был в состоянии успешно использовать node.js, express и knox для добавления / обновления / удаления / получения объектов в Amazon S3. Пытаясь переместить вещи на следующий уровень, я пытаюсь понять, как использовать knox (если это возможно), чтобы сделать две вещи:

1) Установите объект для использования шифрования на стороне сервера при добавлении / обновлении объекта.

2) Получить конкретную версию объекта или получить список версий объекта.

2 ответа

Решение

Энди (который написал AwsSum) здесь.

Используя AwsSum, когда вы помещаете объект, просто установите для "ServerSideEncryption" желаемое значение (в настоящее время S3 поддерживает только "AES256"). Легко!:)

например

var body = ...; // a buffer, a string, a stream

var options = {
    BucketName    : 'chilts',
    ObjectName    : 'my-object.ext',
    ContentLength : Buffer.byteLength(body),
    Body          : body,
    ServerSideEncryption : 'AES256'
};

s3.PutObject(options, function(err, data) {
    console.log("\nputting an object to pie-18 - expecting success");
    console.log(err, 'Error');
    console.log(data, 'Data');
});

Я знаю, что это старый вопрос, но можно загрузить файл с помощью knox, используя шифрование на стороне сервера, указав заголовок:

client.putFile('test.txt', '/test.txt', {"x-amz-server-side-encryption": "AES256"}, function(err, res) {
    //Do something here
});
Другие вопросы по тегам