Tip*_*ter 5 amazon-s3 amazon-web-services boto3
因此,我正在努力寻找有关为 S3 中文件的每个版本生成预签名 url 的方法的信息。我能够获取所有版本,但是当调用generate_presigned_url()时,我没有从版本对象传递的密钥。有什么办法可以做到这一点吗?我希望不需要下载每个版本,但如果这是唯一的方法那就没问题。
这是我当前的片段:
for version in versions:
object = version.get()
url = s3Client.generate_presigned_url(
ClientMethod='get_object',
Params={
'Bucket': bucket,
'Key': object.get('VersionID') #Not sure what value to put here?
}
)
Run Code Online (Sandbox Code Playgroud)
对这个进行了更多的挖掘。看起来可以使用“VersionId”参数获取旧版本文件的预签名 URL。没有提到该参数支持generate_presigned_url 调用,但我还是尝试了一下并且它有效。
for version in versions:
object = version.get()
url = s3Client.generate_presigned_url(
ClientMethod='get_object',
Params={
'Bucket': bucket,
'Key': key,
'VersionId': object.get('VersionId')
}
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2844 次 |
| 最近记录: |