这可能是由于AWS S3 Bucket或对象的权限设置不正确造成的。您可以尝试通过以下代码中的ACL参数设置Bucket或对象的权限,并使用此代码生成预签名URL:
import boto3
from botocore.client import Config
s3 = boto3.client('s3',
aws_access_key_id=,
aws_secret_access_key=)
# 设置Bucket或对象的权限
s3.put_object_acl(ACL='public-read', Bucket=, Key=)
# 生成预签名URL
url = s3.generate_presigned_url('get_object',
Params={'Bucket': , 'Key': },
ExpiresIn=3600,
HttpMethod='GET')
print(url)
在此示例中,ACL参数设置为“public-read”,这将允许公共读取对象。您可以根据需要设置ACL参数。
如果问题仍然存在,请确保AWS密钥和权限正确,并且Bucket或对象存在。
下一篇:AWS预签名URL上传速度慢