【问题标题】:List objects with AWS S3 SDK for Java 2.x使用适用于 Java 2.x 的 AWS S3 开发工具包列出对象
【发布时间】:2018-12-19 18:01:23
【问题描述】:

我在 Amazon S3 (us-east-1) 中有一个存储桶 (logs),其中包含按应用程序和日期分区的日志(不出所料):

logs
├── peacekeepers
│   └── year=2018
│       ├── month=11
│       │   ├── day=01
│       │   ├── day=…
│       │   └── day=30
│       └── month=12
│           ├── day=01
│           ├── day=…
│           └── day=19
│               ├── 00:00 — 01:00.log
│               ├── …
│               └── 23:00 — 00:00.log
├── rep-hunters
├── retro-fans
└── rubber-duckies

我想列出特定日期、月份、年份的所有对象(日志)……

如何使用AWS SDK for Java 2.x 做到这一点?

【问题讨论】:

    标签: amazon-s3 aws-java-sdk-2.x


    【解决方案1】:

    新的 SDK 可以轻松处理分页结果:

    S3Client client = S3Client.builder().region(Region.US_EAST_1).build();
    ListObjectsV2Request request =
            ListObjectsV2Request
                    .builder()
                    .bucket("logs")
                    .prefix("peacekeepers/year=2018/month=12")
                    // .prefix("peacekeepers/year=2018/month=12/day=19")
                    .build();
    ListObjectsV2Iterable response = client.listObjectsV2Paginator(request);
    
    for (ListObjectsV2Response page : response) {
        for (S3Object object : page.contents()) {
            // Consume the object
            System.out.println(object.key());
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 2023-01-18
      • 2012-05-04
      • 2021-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多