我必须将数据从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下载到本地。
谢谢。