【问题标题】:How to read Last Modified Date in a file on S3如何在 S3 上的文件中读取上次修改日期
【发布时间】:2019-01-30 09:02:52
【问题描述】:

我想在 s3 文件中读取最后修改或创建的日期。我已经看到列出所有文件的编码,但我想找到特定文件的修改日期。

我使用这个编码来检索 s3 文件

S3Object s3ProfileObject = s3Client.getObject(new GetObjectRequest(srcBucket, fullProfilePath));

InputStream profileData = s3ProfileObject.getObjectContent();

SONObject rawProfileObject = (JSONObject)jsonParser.parse( new InputStreamReader(profileData, "UTF-8"));

是否可以使用s3ProfileObject 阅读它?

【问题讨论】:

    标签: java amazon-s3 aws-lambda metadata datecreated


    【解决方案1】:

    您需要为此使用S3ObjectSummaryHere 是它的文档。下面是示例代码(来自here):

    final AmazonS3 s3 = AmazonS3ClientBuilder.defaultClient();
    ListObjectsV2Result result = s3.listObjectsV2(bucket_name);
    List<S3ObjectSummary> objects = result.getObjectSummaries();
    for (S3ObjectSummary os: objects) {
        System.out.println("* " + os.getKey());
    }
    

    您可以从S3ObjectSummary 发出另一个请求并获取S3Object

    如果你想包含一个特定的文件或带有特定前缀的文件,那么你可以在请求中使用带有withPrefix方法的``对象,例如:

    ListObjectsV2Request listObjectsV2Request = new ListObjectsV2Request()
        .withBucketName("test-bucket")
        .withPrefix("file-prefix");
    

    ListObjectsV2Result 结果 = s3client.listObjectsV2(listObjectsV2Request);

    Here'sListObjectsV2Request 的 javadoc。

    【讨论】:

    • 问题是它运行存储桶中的所有文件(所有文件夹)。我在 test 目录中有一个名为 abc 的文件,我只需要检查该文件。我该怎么做 ?因为这给出了 test/abc.json test2/abc.json
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-21
    • 2017-01-02
    • 1970-01-01
    相关资源
    最近更新 更多