簡體   English   中英

generate_presigned_post url 由於“未提供 AWSAcesskey”而失敗

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM