Как я могу скопировать область содержимого контента с помощью лямбда-функции - PullRequest
1 голос
/ 05 апреля 2020

Как я могу скопировать содержимое из корзины в Вирджинии в корзину в Ирландии с помощью лямбда-функции?

Я пытаюсь создать лямбда-функцию в Вирджинии:

const aws = require('aws-sdk');
const s3 = new aws.S3();
s3.copyObject({
    Bucket: 'my-bucket-in-ireland',
    CopySource: 'my-bucket-in-virginia' + '/' + 'myKey.zip',
    Key: 'myKey.zip'
}, function (err, data) {
    // further handling logic goes here
});

Но я получил ошибку:

"The authorization header is malformed; the region 'us-east-1' is wrong; expecting 'eu-west-1'"

1 Ответ

2 голосов
/ 05 апреля 2020

Проблема, похоже, связана с вычислением подписи AWS. Я думаю, что клиент s3 использует область лямбда-функции (us-east-1). Но я думаю, что в целях расчета подписи он ожидает, что регион будет регионом назначения (eu-west-1). Можете ли вы попробовать передать регион клиенту s3 и посмотреть, принята ли подпись?

const aws = require('aws-sdk');
const s3 = new aws.S3({region: 'eu-west-1'});
...