0

我创建了一个由 CEPH 支持的 S3 存储桶,并通过 java S3 客户端和 S3 对象网关以分页方式列出目录,并且随机列出在批量列出 1100 个 blob 后有时会失败,有时在批量列出 2000 个 blob 后会失败并且无法弄清楚如何调试此问题,这是出现的异常,如果您注意到异常中有 requestId,我认为基于此我可以过滤日志,但我在哪里可以找到日志是问题,我已经检查了 s3 网关 pod 日志,但在那里找不到任何此类日志,请告诉我应该在哪里查找相同的日志

com.amazonaws.services.s3.model.AmazonS3Exception: null (Service: Amazon S3; Status Code: 500; Error Code: UnknownError; Request ID: tx00000000000000000e7df-005e626049-1146-rook-ceph-store; S3 Extended Request ID: 1146-rook-ceph-store-rook-ceph-store), S3 Extended Request ID: 1146-rook-ceph-store-rook-ceph-store
at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1799)

这是我遍历blob的代码,这是非分页的,分页版本,两个版本在列出几百个blob后都抛出相同的异常

  ObjectListing objects = conn.listObjects(bucket.getName());
        do {
            for (S3ObjectSummary objectSummary : objects.getObjectSummaries()) {
                System.out.println(objectSummary.getKey() + "\t" +
                        objectSummary.getSize() + "\t" +
                        StringUtils.fromDate(objectSummary.getLastModified()));
            }
            objects = conn.listNextBatchOfObjects(objects);
        } while (objects.isTruncated());

所以,任何关于如何调试的指针都会有帮助..谢谢

4

1 回答 1

0

试试 ListObjectV2。

返回存储桶中的部分或全部(最多 1,000 个)对象。

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

于 2020-03-25T11:03:58.517 回答