我在s3存储桶中有许多不同名称的文件。
我想计算一下我的存储桶中有多少个带有“成员”一词的csv?
但是,成员文件具有如下附加的UUID:
member_asldf2323209.csv
到目前为止,我已经尝试过:
import boto3
# create the s3 resource
s3 = boto3.resource('s3')
# get the file object
obj = s3.Object('bucket_name', 'key')
# read the file contents in memory
file_contents = obj.get()["Body"].read()
# print the occurrences of the new line character to get the number of lines
print file_contents.count('\n')
这只会给我一个没有附加UUID的“成员”文件。
答案 0 :(得分:1)
如果您希望计算密钥中包含特定单词的对象的数量,则可以使用类似以下内容的方法:
import boto3
s3_client = boto3.client('s3', region_name = 'ap-southeast-2')
listing = s3_client.list_objects_v2(Bucket='my-bucket')
members = [object['Key'] for object in listing['Contents'] if 'member' in object['Key']]
print (members)
print (len(members))