Я хочу прочитать тег S3, а не тег уровня файла.Если я передаю имя сегмента и хочу получить эти конкретные имена и значения тега сегмента.
Я прочитал документ AWS, в котором описывается API-интерфейс GetObjectTaggingRequest, который может выполнить эту операцию, но при этом в качестве второго параметра принимается Keyname.
Мой код, как показано ниже,
public static void main(String[] args) {
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
.withCredentials(new ProfileCredentialsProvider())
.withRegion(Regions.US_EAST_1)
.build();
String bucketName = "test-bucket";
ObjectListing objects = s3Client.listObjects(bucketName);
for(S3ObjectSummary s3ObjectSummary : objects.getObjectSummaries()){
GetObjectTaggingResult output = s3Client.getObjectTagging(new GetObjectTaggingRequest(bucketName, s3ObjectSummary.getKey()));
List<Tag> tagSet = output.getTagSet();
for( Tag data : tagSet){
System.out.println("Key:"+data.getKey());
System.out.println("value: "+data.getValue());
}
}
}
Это нормально отображается для уровня файла внутри корзины, но для меня я хочу прочитать теги уровня корзины.
Если я выполню AWS CLI,
aws s3api get-bucket-tagging --bucket test-bucket
Я могу получить JSON для корзины.Как я могу сделать это на Java?Любая идея или предложение приветствуются?Заранее спасибо!