此问题可能是由于AWS S3 Access Key Id无效引起的,因此建议确保访问密钥正确并具有必要的权限。
以下是检查访问密钥和生成预签名URL的示例代码:
import boto3
s3_client = boto3.client('s3',
aws_access_key_id='ACCESS_KEY',
aws_secret_access_key='SECRET_KEY')
bucket_name = 'BUCKET_NAME'
object_key = 'OBJECT_KEY'
expiration = 3600
url = s3_client.generate_presigned_url(
ClientMethod='get_object',
Params={
'Bucket': bucket_name,
'Key': object_key
},
ExpiresIn=expiration
)
print(url)
确保ACCESS_KEY和SECRET_KEY的值正确,与您的AWS帐户对应,BUCKET_NAME和OBJECT_KEY存在于您的S3存储桶中即可。
如果您已经确保密钥正确且已经具有必要的权限,并且仍然遇到此问题,建议检查您的IAM角色是否正确配置,并尝试重新生成预签名URL。