python - dask.dataframe 的 to_parquet 支持服务器端加密吗?

标签 python encryption amazon-s3 dask

我们公司要求对 S3 中的所有静态数据进行加密。通常当我们上传 s3 对象时,我们会做这样的事情:

aws s3 cp a.txt s3://b/test --sse

我正在玩 dask.dataframe 并想将我的一个数据集导出到存储在 S3 中的 Parquet 中,但找不到任何选项来打开加密。知道如何使用 dask.dataframe 应用加密吗?

最佳答案

这目前未在 s3fs 中实现,dask 用于写入 S3 的后端。通过在 S3FileSystem 的构造函数中包含(部分)以下参数,并将它们包含在对 boto3 s3client 的少量调用中,添加起来并不难;那么在调用 to_parquet() 时,参数将包含在 storage_options= 中。

ServerSideEncryption='AES256'|'aws:kms',
SSECustomerAlgorithm='string',
SSECustomerKey='string',
SSEKMSKeyId='string',

还应该有一个选项来设置这些每个文件以及默认情况下在文件系统实例上。随时尝试 PR!请注意,SSE 可能未在 moto 中实现,因此测试使用可能很困难。

请注意,在您的情况下,其中一些值可能由 aws 命令从标准位置读取,例如 ~/.aws/

关于python - dask.dataframe 的 to_parquet 支持服务器端加密吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43359943/

相关文章:

python - 类中属性的顺序

python - 如何避免使用全局变量?

shell - 从 gpg 加密的 shell 脚本设置环境变量?

amazon-s3 - 创建允许访问 Cloudfront 但限制其他任何人访问的 S3 存储桶策略

python - 使用 django-storages 和 s3 时出现 [Errno 32] Broken pipe

Python属性错误: 'NoneType' object has no attribute 'find_all'

python - 如何将 django 项目的默认 ip 设置为 0.0.0.0 以在 visual studio 2015 中进行调试?

python - 为简单的 RSA 加密示例添加随机性

java - (源代码很大)初学者Java项目,很多问题,与加密字母表有关

amazon-web-services - 将 s3fs 挂载为 docker 卷