amazon-web-services - 提供 ServerSideEncryption 以从 AWS S3 下载文件
问题描述
我必须将数据从 redshift 导出到本地路径,这应该使用 Airflow 中的 PostgresOperator 完成。因此,分两步执行此操作。
Step1:执行卸载命令,将数据导出到 AES256 加密的 S3 存储桶。
Step2:我正在从这个 s3 存储桶下载数据到本地路径。由于数据是 AES256 加密的,我不知道如何通过提供“ServerSideEncryption”来下载
我正在使用以下方法下载文件。
s3_client.download_file(Bucket=bucket, Key=s3_key,Filename=local_path, ExtraArgs={'ServerSideEncryption':'AES256'})
它会抛出一个错误,提示无效密钥“ServerSideEncryption”和 ExtraArgs 密钥应该在['VersionId', 'SSECustomerAlgorithm', 'SSECustomerKey', 'SSECustomerKeyMD5', 'RequestPayer']
.
如果我不提供 ServerSideEncryption,ITbotocore.exceptions.ClientError: An error occurred (404) when calling the HeadObject operation: Not Found
解决方案
推荐阅读
- r - 将简单的十进制数列转换为数值?
- node.js - AWS lambda html-pdf phantomjs“错误:在 NodeJS 12.x 上编写 EPIPE”
- spring-boot - Istio + Jaeger 使用 Spring Boot 跟踪 gRPC 调用
- javascript - .json() 用于错误处理是什么?
- html - 需要修复 JQuery 脚本以强制“href”从单击中按 CTRL+单击
- javascript - 翻转括号方向的 JavaScript 函数
- codeigniter-4 - 如何在codeIgniter4中使用默认构造函数?
- java - 根据 Maven 结果构建不同的 Docker 镜像(使用 Jenkins)
- elasticsearch - _update_by_query 不会更新所有匹配的文档
- python - 所有可能的 n 阶矩阵,其条目来自 python 中的某个范围