Как написать лямбда-функцию для копирования двух разных объектов s3buckets в кросс-аккаунты? - PullRequest
0 голосов
/ 13 июня 2019

Мой сценарий использования:

У меня есть два разных аккаунта aws.

Предположим, в Account-A у меня есть 2 корзины.Один из них - ведро-восток-A в восточном регионе и ведро-запад-A в западном регионе.

Аналогично в Account-B iимеют ведро-восток-B в восточном регионе и ведро-запад-B в западном регионе.

Используя лямбда-функцию, я копирую bucket-east-A объекты в bucket-east-B (кросс-аккаунт) всякий раз, когда в * загружаются какие-либо новые данные1025 * ведро-восток-A методом copyobject ().Теперь мне нужно перенести объекты из корзины западного региона в Account-A в корзину западного региона в Account-B , это должно быть сделано в той же самой лямбда-функции с некоторым условным выражением,Я перепробовал много способов, но потерпел неудачу.Я использую язык Python для этого.Я совершенно новичок в мире ИТ.Может кто-нибудь, пожалуйста, помогите мне с соответствующим условным заявлением или любым другим способом для достижения этой цели.

1 Ответ

1 голос
/ 14 июня 2019

Ваша функция AWS Lambda всегда идет от Account-A -> Account-B, поэтому она должна быть простой.

Когда Amazon S3 Event настроено на ведро, функцию AWS Lambda можнономинирована.Затем событие будет запускать назначенную лямбда-функцию всякий раз, когда объект добавляется в корзину.

Вы должны настроить Bucket-east-A и Bucket-west-A на , чтобы запускать одну и ту же лямбда-функцию .

Когда вызывается функция Lambda, функция поставляется с Имя корзины и Ключ (имя файла) объекта, вызвавшего запуск функции Lambda.Затем лямбда-функция должна смотреть на исходную группу и затем выбирать соответствующую целевую группу:

  • Если источником является Bucket-east-A, то целевая область равна Bucket-east-B
  • Если источником является Bucket-west-A, тогда целевой контейнер равен Bucket-west-B

Остальной код должен остаться прежним, так как он, очевидно, уже работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...