如何使用Java从ARN值解析AmazonS3 bucket名称和对象键?

如何使用Java从ARN值解析AmazonS3 bucket名称和对象键?,java,amazon-web-services,amazon-s3,Java,Amazon Web Services,Amazon S3,我正在使用AmazonS3,我需要使用Java解析来自对象ARN的AmazonS3 bucket名称和对象键。有内置的图书馆吗?如果没有,你能帮我编写java代码吗。AmazonS3API没有用于此的API方法。您可以使用Java逻辑从对象ARN获取bucket名称和对象名称。这是你的解决方案 String arn = "arn:aws:s3:::bucketmay10002/book.pdf"; String bucketObject = "&qu

我正在使用AmazonS3,我需要使用Java解析来自对象ARN的AmazonS3 bucket名称和对象键。有内置的图书馆吗?如果没有,你能帮我编写java代码吗。

AmazonS3API没有用于此的API方法。您可以使用Java逻辑从对象ARN获取bucket名称和对象名称。这是你的解决方案

    String arn = "arn:aws:s3:::bucketmay10002/book.pdf";
    String bucketObject = "";


    String[] value1 = arn.split(":::");
    for (String t : value1){
        bucketObject = t ;
        System.out.println(bucketObject);
}

    String[] value3 = bucketObject.split("/");
    for (String t : value3)
        System.out.println(t);
}
输出:

  • 自动气象站:s3
  • bucketmay10002/book.pdf
  • bucketmay10002
  • book.pdf

如您所见,您可以从给定的对象ARN中获得bucket名称和对象名称。

欢迎使用stackoverflow,请分享您迄今为止的尝试。你指的是桶的ARN还是物体的ARN?这是一个正则表达式,用于从ARN(组2)中提取bucketname(组1)和对象键:
*:(*?)\/(*)