![](/img/trans.png)
[英]generate_presigned_url boto3 generates same URL until expiry when called using cloudfront
[英]boto3 generate_presigned_url with SSE encryption
我正在尋找使用 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 加密。
import boto3
access_key = "..."
secret_key = "..."
bucket = "..."
s3 = boto3.client('s3',
aws_access_key_id=access_key,
aws_secret_access_key=secret_key)
return(s3.generate_presigned_url(
ClientMethod='get_object',
Params={
'Bucket': bucket,
'Key': filename,
'SSECustomerAlgorithm': 'AES256',
}
))
還要添加 header:-
'x-amz-server-side-encryption': 'AES256'
在前端代碼中調用預簽名 url
您可以將條件添加到必須滿足的預簽名 URL 才能使上傳有效。 這可能包括x-amz-server-side-encryption
。
或者,您可以添加一個存儲桶策略來拒絕任何未加密的請求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.