提供ServerSideEncryption以从AWS S3下载文件

时间:2018-08-23 04:48:12

标签: amazon-web-services amazon-s3 amazon-redshift downloadfile

我必须将数据从redshift导出到本地路径,这应该使用Airflow中的PostgresOperator完成。因此,分两步执行。

步骤1:执行了将数据导出到经过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,则为IT botocore.exceptions.ClientError: An error occurred (404) when calling the HeadObject operation: Not Found

请让我知道如何提供ServerSideEncryption来将文件从S3下载到本地。

谢谢。

0 个答案:

没有答案