S3 列出版本化对象

问题描述 投票:0回答:1

我正在使用以下语法使用 boto3 列出 s3 中的版本。

object_versions = s3.list_object_versions(Bucket=bucket_name)

奇怪的是,它没有列出只剩下一个版本的对象。请参阅下面的屏幕截图,我可以在 aws 控制台上看到对象,但无法从 boto3 脚本中获取它们。

python-3.x amazon-web-services amazon-s3 boto3
1个回答
0
投票
import boto3

# Create an S3 client
s3 = boto3.client('s3')

# Specify the bucket name
bucket_name = 'your_bucket_name'

# List all versions of objects in the bucket
object_versions = s3.list_object_versions(Bucket=bucket_name)

# Print information about each version (including delete markers)
for version in object_versions.get('Versions', []):
    print(f"Key: {version['Key']}, VersionId: {version['VersionId']}, IsDeleteMarker: False")

# Print information about each delete marker (if any)
for delete_marker in object_versions.get('DeleteMarkers', []):
    print(f"Key: {delete_marker['Key']}, VersionId: {delete_marker['VersionId']}, IsDeleteMarker: True")

此代码将打印有关所有版本的信息,包括版本化对象及其删除标记。

© www.soinside.com 2019 - 2024. All rights reserved.