@Ptah, можешь поделиться, как ты разрешил лямбда-сервису доступ к S3?

аюсь загрузить, обработать и записать файлы Parquet в S3 с помощью AWS Lambda. Мой процесс тестирования / развертывания:

https://github.com/lambci/docker-lambda в качестве контейнера для макета среды Amazon из-за собственных библиотек, которые необходимо установить (среди прочего, numpy).Эта процедура для создания ZIP-файла:http://docs.aws.amazon.com/lambda/latest/dg/with-s3-example-deployment-pkg.html#with-s3-example-deployment-pkg-pythonДобавьте в zip тестовую функцию python, отправьте ее на S3, обновите лямбду и протестируйте ее

Кажется, что есть два возможных подхода,которые оба работают локально с док-контейнером:

fastparquet с s3fs: К сожалению, размер распакованного пакета превышает 256 МБ, и поэтому я не могу обновить его с помощью лямбда-кода.

pyarrow с s3fs: я следовалhttps://github.com/apache/arrow/pull/916 и при выполнении с лямбда-функцией я получаю либо:

Если я префикс URI с S3 или S3N (как в примере кода): в среде LambdaOSError: Passed non-file path: s3://mybucket/path/to/myfile в pyarrow / parquet.py, строка 848. Локально получаюIndexError: list index out of range в pyarrow / parquet.py, строка 714Если я не префикс URI с S3 или S3N: Это работает локально (я могу прочитать данные паркета). В среде Lambda я получаю то же самоеOSError: Passed non-file path: s3://mybucket/path/to/myfile в pyarrow / parquet.py, строка 848.

Мои вопросы:

почему я получаю другой результат в моем док-контейнере, чем в среде Lambda?Как правильно указать URI?Есть ли приемлемый способ чтения файлов Parquet в S3 через AWS Lambda?

Спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос