我尝试按照Boto3示例进行操作,但实际上只能通过他们给出的示例来获取所有S3存储桶的基本列表:
import boto3
s3 = boto3.resource('s3')
for bucket in s3.buckets.all():
print(bucket.name)
我找不到解释如何遍历或更改文件夹然后访问单个文件的文档。
我试图访问我的SNS传送报告,这些报告存储在每个月的每一天的文件夹中 - 因此手动必须下载该月的每个文件然后连接每个文件的内容,以便获取一个月内发送的所有短信的计数。
有没有人有一个脚本的例子可以帮助我解决这个问题,或指向真正基本的文档/帮助我这样做的例子?
我有3个S3存储桶,所有文件都位于其中一个子文件夹中:
bucketname
|->Year
|->Month
|->Day1
|->Day2
|->Day3
|->Day4
等等
在" Day"下面文件夹是一个名为001.txt的文本文件
所以我试图连接一个月中每天的所有001.txt文件,然后找到连接文本文件的行数 - 这将给我所有短信发送的计数 - 成功和失败。
任何帮助,非常感谢。
答案 0 :(得分:0)
没有文件夹,只有S3对象键。
使用Bucket Resource界面,您可以使用objects collection filter()方法过滤存储桶中的对象列表(请参阅example)。
您还可以使用Client接口使用合适的前缀和分隔符调用list_objects()以检索对象的子集。
有关高级别说明,请参阅Listing Keys Hierarchically。