Вы используете высокоуровневые Ресурсы API-вызовы, а не низкоуровневые Клиент API-вызовы.
Ресурсы, такие как s3.Bucket
, имеют атрибуты и это лениво загруженные свойства. Итак, когда вы создаете s3.Object
, это чисто локальная вещь. Но когда вы пытаетесь получить доступ к одному из его свойств, например, к содержимому существующего объекта или его идентификатору версии, SDK boto3 затем выполнит фактический вызов API для службы S3.
Причина, по которой ваш код время скорее всего, у вас нет сетевого пути к сервису S3. Это, вероятно, означает, что вы запускаете свою функцию Lambda в VP C, и вы либо развернули ее в общедоступном c su bnet, либо в частном su bnet, не задавая этому su bnet значение по умолчанию Маршрут к inte rnet через NAT и шлюз Inte rnet или конечную точку S3 VP C.
Итак, либо разверните свою функцию Lambda вне VP C. Или, если вам нужно, чтобы он был в VP C, затем разверните его в частном su bnet вашего VP C (не в общедоступном c su bnet), а затем убедитесь, что у вас есть IGW и NAT в вашей публикации c su bnet и маршрут по умолчанию от частного su bnet Lambda до NAT. Или же go приватный su bnet и S3 VP C Маршрут конечной точки.
PS проверьте параметр event
, переданный в ваш обработчик функции Lambda, на тот случай, если он действительно предоставит вам версию Я БЫ. Я не уверен, так ли это или нет, но было бы хорошо проверить.