问题出现的原因是AWS SDK默认使用5分钟的有效期来生成预签名URL,但如果视频长度超过1分钟,那么在上传或下载时将无法完成操作。因此,需要在生成URL时重新指定有效期时间。 以下是用Python SDK的示例代码:
import boto3
import datetime
s3_client = boto3.client('s3', region_name='your_region')
bucket_name = 'your_bucket_name'
object_key = 'your_object_key'
# Set expiration time
expiration = datetime.datetime.now() + datetime.timedelta(minutes=10)
# Generate presigned URL with expiration time
url = s3_client.generate_presigned_url(
'get_object',
Params={
'Bucket': bucket_name,
'Key': object_key
},
ExpiresIn=600 # 10 minutes
)
print(url)
首先,引入必要的包并创建S3 Client对象。 然后,设置URL的过期时间为10分钟。 最后,生成预签名URL时指定有效期为10分钟并打印URL。