Включите шифрование на стороне сервера и получите версию объекта в 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
});