AWS Presigned URL(预签名 URL)是一个带有验证凭据的 URL,用于对 AWS 资源进行安全访问。默认情况下,AWS Presigned URL 最长有效期为 7 天。如果需要超过这个时间限制,可以通过在 SDK 中指定 expires_in 参数来实现。
以下是使用 AWS SDK for Python(Boto3)创建一个有效期为 30 天的 Presigned URL 的示例代码:
import boto3
from datetime import datetime, timedelta
s3 = boto3.client('s3')
# 指定有效期为 30 天
expires_in = 30 * 24 * 60 * 60 # 30 天以秒为单位
# 计算过期时间,这里是当前时间加上有效期
expiration = datetime.now() + timedelta(seconds=expires_in)
# 生成 Presigned URL
presigned_url = s3.generate_presigned_url(
'get_object', # 操作类型,这里是获取对象
Params={
'Bucket': 'your-bucket-name',
'Key': 'your-object-key'
},
ExpiresIn=expires_in # 指定有效期
)
print(presigned_url)
通过以上代码,可以生成一个有效期 30 天的 AWS Presigned URL。