要解决"AWS S3 下载链接问题",您可以使用AWS SDK来生成S3对象的预签名URL,然后将URL提供给用户进行下载。下面是一个使用AWS SDK for Python(boto3)的代码示例:
import boto3
from botocore.exceptions import ClientError
def generate_presigned_url(bucket_name, object_name, expiration=3600):
"""生成S3对象的预签名URL"""
# 创建S3客户端
s3_client = boto3.client('s3')
try:
# 生成预签名URL
response = s3_client.generate_presigned_url('get_object',
Params={'Bucket': bucket_name,
'Key': object_name},
ExpiresIn=expiration)
except ClientError as e:
# 处理错误
print(e)
return None
return response
# 示例用法
bucket_name = 'your-bucket-name'
object_name = 'your-object-key'
# 生成预签名URL
url = generate_presigned_url(bucket_name, object_name)
if url is not None:
print(f"预签名URL: {url}")
请确保在代码中将your-bucket-name
和your-object-key
替换为实际的存储桶名称和对象键。此代码将生成一个有效期为3600秒(1小时)的预签名URL,您可以根据需要调整过期时间。