[英]generate_presigned_post url failing due to "No AWSAcesskey was presented"
我正在使用以下代碼生成預簽名帖子
def generate_pre_signed_upload_url(content_type: str, expiration: int, fields, bucket_name: str, object_name: str):
try:
config = Config(signature_version='s3v4')
s3 = boto3.client("s3", region_name='us-west-2', config=config)
return s3.generate_presigned_post(
Bucket=bucket_name,
Key=object_name,
Fields=fields,
ExpiresIn=expiration,
Conditions=[{"Content-Type": content_type}],
)
except Exception as e:
raise e
對此的回應是:
{
"url": "https://sandbox-taxservice-s3bucket-s3bucket6575f0a6-19dl1xpyc3fzo.s3.amazonaws.com/",
"fields": {
"key": "xxxxxxxxxxxxx",
"x-amz-algorithm": "AWS4-HMAC-SHA256",
"x-amz-credential": "xxxxxxxxx",
"x-amz-date": "xxxxxx",
"x-amz-security-token": "xxxxxx",
"policy": "xxxxxxxx",
"x-amz-signature": "xxxxxxx"
}
}
當我嘗試在發布請求中使用 url/字段時,出現 AWSAcessKey 錯誤(見下文)
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>AccessDenied</Code>
<Message>No AWSAccessKey was presented.</Message>
<RequestId>354BCDQHZ4NB8Y4D</RequestId>
<HostId>aBM0WkvvrVg9H+Q2H826rHA/bPhxvSGGEg5HKbkxEHwbzybN0p0dhbR4F8np/ovKHJlx9Cwgrgc=</HostId>
</Error>
有誰知道如何解決這一問題? 我更改的所有參數都沒有在返回字段中放置 AWSAcessKey。
該代碼現在可以正常工作,是另一端的錯誤請求。 不得不提出要求
r = requests.post(response['url'], data=response['fields'], files=files)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.