Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 使用AWS S3 SDK for Java 2.x列出对象_Amazon S3_Aws Java Sdk 2.x - Fatal编程技术网

Amazon s3 使用AWS S3 SDK for Java 2.x列出对象

Amazon s3 使用AWS S3 SDK for Java 2.x列出对象,amazon-s3,aws-java-sdk-2.x,Amazon S3,Aws Java Sdk 2.x,我在Amazon S3(us-east-1)中有一个bucket(logs),其中包含按应用程序和日期划分的日志,这并不奇怪: logs ├── peacekeepers │   └── year=2018 │   ├── month=11 │   │   ├── day=01 │   │   ├── day=… │   │   └── day=30 │   └── month=12 │   ├── day=01 │   ├

我在Amazon S3(
us-east-1
)中有一个bucket(
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
我想列出特定日期、月份、年份的所有对象(日志)


如何使用?

新的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());
    }
}

新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());
    }
}