如何使用 Boto3 return 只有一级键?
How to return only one level of keys using Boto3?
我有一个结构如下的 s3 存储桶:
bucket
---key_1
---sub_key_1
---file_a
---sub_key_2
---file_b
---sub_key_3
---file_c
其中键都是用/隔开的。我想 运行 一个 boto 3 命令到 return 只是子键。我试过一些东西。同时使用boto 3的client和session方法主要围绕这个:
for key in s3_bucket.list(Prefix="key_1/", Delimiter="/"):
print(key.key)
objects = client.list_objects(Bucket=bucket, Prefix="pickles/", Delimiter='/')
我可以包含定界符,所有 returns 都是 'key_1' 对象,或者我可以排除定界符,我得到所有 sub_key 对象,但也得到所有文件。我该怎么做才能获得子密钥?
我实际上在这里找到了答案:https://github.com/boto/boto3/issues/134。最简单的方法是使用上面发布的 client.list_objects 调用并从中检索 CommonPrefixes 属性。
我有一个结构如下的 s3 存储桶:
bucket
---key_1
---sub_key_1
---file_a
---sub_key_2
---file_b
---sub_key_3
---file_c
其中键都是用/隔开的。我想 运行 一个 boto 3 命令到 return 只是子键。我试过一些东西。同时使用boto 3的client和session方法主要围绕这个:
for key in s3_bucket.list(Prefix="key_1/", Delimiter="/"):
print(key.key)
objects = client.list_objects(Bucket=bucket, Prefix="pickles/", Delimiter='/')
我可以包含定界符,所有 returns 都是 'key_1' 对象,或者我可以排除定界符,我得到所有 sub_key 对象,但也得到所有文件。我该怎么做才能获得子密钥?
我实际上在这里找到了答案:https://github.com/boto/boto3/issues/134。最简单的方法是使用上面发布的 client.list_objects 调用并从中检索 CommonPrefixes 属性。