如何使用 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 属性。