Шифрование на стороне сервера в функции to_csv

Я получаю эту ошибку при использовании to_csv("s3://mys3bucket/result.csv")

Exception: [Errno Write Failed: mys3bucket/result.csv/2489.part]
An error occurred (AccessDenied) when calling the PutObject operation: Access Denied

Это могло быть вызвано тем, что Dask не использует шифрование на стороне сервера. Подскажите пожалуйста, как я могу заставить его использовать SSE или какой-то другой метод для успешной записи файла в корзину s3

1 ответ

Решение

Развернув комментарий @user32185, для управления SSE через dask ваш вызов должен выглядеть примерно так:

to_csv("s3://mys3bucket/result.csv",
       storage_option={'s3_additional_kwargs':
           {'ServerSideEncryption': 'AES256'}})

где особенности SSE с s3fs подробно описаны здесь. Обратите внимание, что вам также могут потребоваться другие ключевые слова на той же странице документов для учетных данных, зоны хранения и т. Д. Параметры передаются в S3FileSystem конструктор, и вы можете вникать в boto docs, чтобы увидеть, что все значит.

Другие вопросы по тегам