【问题标题】:How to delete an s3 object tag for some versions using java sdk?如何使用 java sdk 删除某些版本的 s3 对象标签?
【发布时间】:2020-02-17 10:28:22
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-java-sdk


    【解决方案1】:

    请参阅documentation。

    DeleteObjectTaggingRequest 构造函数只请求桶名和对象键,但您可以通过withVersionId(String versionId) 选择版本。所以,

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

    会起作用的。

    【讨论】:

      【解决方案2】:

      只需将“versionId”添加到您的请求中,并带有对象的版本 ID。 如果您希望从多个版本中删除标签,那么我认为循环效果最好。


      欲了解更多信息,请查看:


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

      干杯。

      【讨论】:

      • 我已经尝试像这样在我的请求中添加版本 ID。 s3Client.deleteObjectTagging(new DeleteObjectTaggingRequest(bucket, key, versionid));它不接受第三个 versionid 参数。这是我正在使用的 s3 sdk 版本。 aws-java-sdk-s31.11.656
      • 好的,你试试 "new DeleteObjectsRequest(bucket_name) .withKeys(object_keys)" 怎么样?编辑:你可以在这里找到一个例子:docs.aws.amazon.com/sdk-for-java/v1/developer-guide/…
      • 我正在尝试删除标签,而不是对象!
      猜你喜欢
      • 1970-01-01
      • 2011-06-20
      • 2020-03-16
      • 2013-08-01
      • 2018-03-30
      • 1970-01-01
      • 1970-01-01
      • 2014-12-01
      相关资源
      最近更新 更多