如何使用 java sdk 删除某些版本的 s3 对象标签?

How to delete an s3 object tag for some versions using java sdk?

我试图删除某些版本的 s3 对象的 s3 标签。我有 s3 对象版本列表。

我可以使用以下代码单独使用存储桶和密钥来删除标签。

final AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
                .withRegion(clientRegion)
                .build();

s3Client.deleteObjectTagging(new DeleteObjectTaggingRequest(bucket, key));

请帮我删除指定版本的 s3 标签。

只需将 'versionId' 添加到您的请求中,以及对象的版本 ID。 如果您想从多个版本中删除标签,那么我认为循环效果最好。


有关更多信息,请查看:


https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html

干杯。

参见documentation

DeleteObjectTaggingRequest 构造函数仅请求存储桶名称和对象键,但您可以通过 withVersionId(String versionId) select 版本。所以,

DeleteObjectTaggingRequest req = new DeleteObjectTaggingRequest(bucket, key).withVersionId(version)

会起作用。