Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services boto3生成带有SSE加密的预签名url_Amazon Web Services_Amazon S3_Encryption_Boto3 - Fatal编程技术网

Amazon web services boto3生成带有SSE加密的预签名url

Amazon web services boto3生成带有SSE加密的预签名url,amazon-web-services,amazon-s3,encryption,boto3,Amazon Web Services,Amazon S3,Encryption,Boto3,我正在寻找使用boto3和sse加密生成预签名url的示例 这是到目前为止我的代码 s3_client = boto3.client('s3', region_name='ap-south-1', endpoint_url='http://s3.ap-south-1.amazonaws.com',

我正在寻找使用boto3和sse加密生成预签名url的示例

这是到目前为止我的代码

s3_client = boto3.client('s3',
                                  region_name='ap-south-1',
                                  endpoint_url='http://s3.ap-south-1.amazonaws.com',
                                  config=boto3.session.Config(signature_version='s3v4'),
                                  )
        try:
            response = s3_client.generate_presigned_url('put_object',
                                                        Params={'Bucket': bucket_name,
                                                                'Key': object_name},
                                                        ExpiresIn=expiration)
        except ClientError as e:
            logging.error("In client error exception code")
            logging.error(e)
            return None
我正在努力找到正确的参数来使用SSE加密。
我能够使用PUT调用上传文件。我还想从客户端了解用于坚持sse加密的头。

您可以向预签名URL添加条件,这些条件必须满足才能使上载有效。这可能包括
x-amz-server-side-encryption

见:

或者,您可以添加一个bucket策略来拒绝任何未加密的请求


请参阅:

是否应将其作为标题的一部分发送?x-amz-server-side-encryption由于我使用了PUT选项,是否应该将其作为查询字符串的一部分发送?我从上面显示的服务器代码中获取预签名UrL。我确实将其视为查询字符串
x-amz-server-side-encryption-customer-algorithm
的一部分,但我在bucket上启用了sse-s3。我唯一的经验是,在bucket上使用代码片段创建了带条件的预签名UrL。您好,您成功了吗?我有完全相同的要求,无法使它工作