gpt4 book ai didi

boto - 如何让 boto 为 S3 生成触发下载的签名 URL?

转载 作者:行者123 更新时间:2023-12-02 20:09:32 26 4
gpt4 key购买 nike

我已经尝试过:

connection = S3Connection(
aws_access_key_id=settings.AWS_ACCESS_KEY_ID,
aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY)

url = connection.generate_url(
60,
'GET',
settings.AWS_STORAGE_BUCKET_NAME,
self.get_object().image,
headers={'Content-Type': 'application/octet-stream'})

但是当我尝试访问签名的 URL 时,我收到以下消息:

The request signature we calculated does not match the signature you provided. Check your key and signing method.

如果我删除 headers 属性,我就可以很好地访问图像。我做错了什么?

最佳答案

问题是您无法使用generate_url设置任意 header ,并且虽然存在response_headers选项,但AWS对于您可以设置的内容也有有限的选项。这将达到本例中的预期效果。

url = connection.generate_url(
60,
'GET',
settings.AWS_STORAGE_BUCKET_NAME,
self.get_object().image,
response_headers={
'response-content-type': 'application/octet-stream'
})

关于boto - 如何让 boto 为 S3 生成触发下载的签名 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16409423/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com