AWS S3 JavaScript копирование объектов между регионами

#amazon-web-services #amazon-s3

#amazon-веб-сервисы #amazon-s3

Вопрос:

Я пытаюсь скопировать объект из корзины в одном регионе AWS в отдельную корзину в другом регионе, и когда я выполняю функцию Lambda, я не вижу никаких ошибок. Как бы то ни было, объект не копируется.

Вот код, который я использую. Для лямбда-функции добавлен триггер SQS.

 const s3 = new AWS.S3();   if(event.Records amp;amp; event.Records.length gt;0){  console.log("No.of Records found =",event.Records.length);  event.Records.forEach(record =gt; {  console.log("Record =",record);  //const { body } = record;  if(record amp;amp; record.Message){  console.log('Message =',record.Message);  let messageJSON = JSON.parse(record.Message);   if(messageJSON amp;amp; messageJSON.bucket amp;amp; messageJSON.key){  let params ={  ServerSideEncryption: 'AES256',  CopySource : messageJSON.bucket '/' messageJSON.key,  Bucket : rawBucketName,  Key : rawDataKeyPrefix '/' messageJSON.key  };  console.log('Copying the Object with Key [' params.Key ']');  s3.copyObject(params,function(error,data){  console.log('Error =',error);  console.log('data =',data);  if(error){  console.log('Unable to copy the S3 Objects to Raw Bucket. Error =',error);  }  if(data){  console.log('Successfully copied the Raw Objects into S3 Bucket =',rawBucketName);  }  });  }  }  else{  console.log('Invalid Data received. Nothing to Copy !!');  }  console.log('End of the Function Reached !!');  });  }  

И вот результат, который я вижу в журналах cloudwatch.

 2021-12-07T01:12:49.348Z c25dd144-d129-4963-8494-0ed068badfe2 INFO Copying the Object with Key [raw/41e5cf0457a0a347c5000570de7bb152e9ee776d.nc] 2021-12-06T20:12:49.768-05:00 2021-12-07T01:12:49.711Z c25dd144-d129-4963-8494-0ed068badfe2 INFO End of the Function Reached !!  

Из CLI я могу получить доступ к объекту без каких-либо проблем.

 C:Userssk_acDownloadscmder λ aws s3 ls s3://aws-earth-mo-atmospheric-ukv-prd/41e5cf0457a0a347c5000570de7bb152e9ee776d.nc --no-sign-request --region eu-west-2 2021-12-04 22:19:05 10821279 41e5cf0457a0a347c5000570de7bb152e9ee776d.nc  C:Userssk_acDownloadscmder λ aws s3 ls s3://aws-earth-mo-atmospheric-ukv-prd/41e5cf0457a0a347c5000570de7bb152e9ee776d.nc --no-sign-request 2021-12-04 22:19:05 10821279 41e5cf0457a0a347c5000570de7bb152e9ee776d.nc  C:Userssk_acDownloadscmder λ aws s3 cp s3://aws-earth-mo-atmospheric-ukv-prd/41e5cf0457a0a347c5000570de7bb152e9ee776d.nc . download: s3://aws-earth-mo-atmospheric-ukv-prd/41e5cf0457a0a347c5000570de7bb152e9ee776d.nc to .41e5cf0457a0a347c5000570de7bb152e9ee776d.nc  

Я попробовал GetObject() и по-прежнему не отображает никаких ошибок или данных. (Даже если я укажу регион при создании объекта s3)

Не знаю, что я делаю не так.

Комментарии:

1. Интересно, это одна из тех асинхронных/ожидающих ситуаций, когда функция завершается до выполнения задач?