从多个文件夹的s3存储桶中仅读取特定的json文件

pylearner:

正在尝试滚动s3中的所有存储桶,以查看是否存在匹配的前缀并进入这些文件夹并读取json文件。

我试图获取包含前缀的文件夹,但是无法输入它们。

码:

import boto3
bucket = ['test-eob', 'test-eob-images']
client = boto3.client('s3')
for i in bucket:
    result = client.list_objects(Bucket=i,Prefix = 'PROCESSED_BY/FILE_JSON', Delimiter='/')
    print(result)

使用此方法获取带有前缀的对象,当存储桶没有该前缀时失败。

的结构test-eobtest-eob/PROCESSED_BY/FILE_JSON/*.json如果只有我的前缀匹配我必须读取json,否则就会退出存储桶。

有谁可以帮我离开这里吗。

普通的Dembak:

当存储桶不包含前缀时,尝试捕获错误(它是KeyError吗?)。

例如:

for i in bucket:
    try:
          result = client.list_objects(Bucket=i,Prefix = 'PROCESSED_BY/FILE_JSON', Delimiter='/')
          print(result)
    except KeyError:
          pass

要读取json,有几种方法。例如json.loads()来自json模块。

因此,对于存储桶中的每个对象:

content_object = s3.Object(bucket_name, file_name)
file_content = content_object.get()['Body'].read().decode('utf-8')
json_content = json.loads(file_content)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在AWS S3存储桶的特定“文件夹”中列出文件

从boto3检索S3存储桶中的子文件夹名称

仅列出s3存储桶中的子文件夹

将文件放在S3存储桶的文件夹中

亚马逊s3,将文件上传到存储桶中的文件夹中

最好有多个s3存储桶或一个带子文件夹的存储桶?

使用API在Amazon S3存储桶中创建文件夹/上传文件

PowerShell for AWS:仅列出S3存储桶中的“文件夹”吗?

我的s3存储桶如何使用Nginx在不同的文件夹中托管多个网站?

如何从Amazon S3存储桶中的文件夹中获取所有文件?

从S3存储桶中的文件夹中删除文件

遍历具有文件夹结构的S3存储桶中的文件

AWS S3存储桶中特定文件夹内html文件上的Content-Encoding标头

s3存储桶中文件夹的pyspark列表子文件夹

复制S3存储桶中嵌套文件夹中的文件

如何从S3存储桶中的文件夹中删除带后缀的图像

AWS S3存储桶策略-仅允许文件夹中的某些文件类型

仅从s3存储桶文件夹中获取文件名

Presto:如何从s3中读取在子文件夹中分区的整个存储桶?

将JSON文件上传到Python中s3存储桶中的特定文件夹

删除位于Amazon S3上存储桶中的子文件夹中的文件

使用Terraform在s3存储桶中创建文件夹和子文件夹

如何将特定文件夹中的所有zip文件推送到s3存储桶文件夹?

使用boto3和python从S3存储桶目录中仅读取特定格式的文件

如何切换到S3存储桶中该特定文件夹中的最后添加的文件夹

使用 python boto 仅下载 S3 存储桶中的特定文件夹

在 Laravel 中压缩和下载 Amazon S3 存储桶文件和文件夹

将文件上传到 s3 存储桶、sdk php 中的特定文件夹

增量表:仅从 S3 存储桶复制到特定分区文件夹