根据搜索模式列出亚马逊S3文件夹下具有文件名的所有xml文件

时间:2019-01-22 19:57:22

标签: java c# xml amazon-s3

我需要在运行时接受搜索字段,然后在控制台上的特定AWS s3存储桶abd显示文件名下搜索存储的xml文件。

3 个答案:

答案 0 :(得分:0)

下面的Python代码(我知道您在Java中曾问过,请当作参考)列出了特定存储桶中的所有对象,然后仅打印文件名包含特定文本字符串的对象。您可以根据自己的要求增强此代码:

import boto3
client = boto3.client('s3')
testString='someString'
objResp = client.list_objects(Bucket='my-specific-bucket')

for i in objResp['Contents']:
   if testString in i['Key']:
      print (i['Key'])

还请注意,boto3 Python中的list_objects最多返回1000个对象,因此,如果您的存储桶中有更多对象,则还必须通过使用'IsTruncated'标志来解决该情况。请检查官方文档。

答案 1 :(得分:0)

看看这个:https://docs.aws.amazon.com/AmazonS3/latest/dev/ListingObjectKeysUsingJava.html

这是AWS提供的示例代码,用于使用Java SDK将所有对象列出到存储桶中。 您可以在文档中找到所有SDK文档。例如,可以添加前缀。

答案 2 :(得分:0)

从S3存储桶中获取所有对象,并迭代所有对象以查找具有以下名称的对象:

ObjectListing objects = amazonS3.listObjects("s3-bucket");

        objects.getObjectSummaries().forEach(object -> {
            if (object.getKey().matches("YOUR_PATTERN")) {
               // do what you want to do with object
                System.out.println(object.getKey());
            }
          }
        );