首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用s3前缀使用boto3返回对象列表

使用s3前缀使用boto3返回对象列表
EN

Stack Overflow用户
提问于 2021-06-03 23:16:39
回答 1查看 1.5K关注 0票数 0

下面有boto3代码。在代码中,我试图获取s3前缀中的对象列表。s3前缀中对象的完整路径是:

文件路径:

代码语言:javascript
复制
s3://our_data/our_folder/part-00000-bf597559-8a11-4e6b-8631-ef7c138b4583-c000.txt

当我运行下面的代码时,它不会返回任何内容,但是几个月前我可以发誓,它是有效的。最近boto3有什么变化吗,或者我的代码中遗漏了什么?

代码:

代码语言:javascript
复制
import boto3

s3_client = boto3.client('s3',
                         region_name='us-west-2')


trz_bucket = 'our_data'


trz_prefix = 'our_folder/'


result = s3_client.list_objects(Bucket=trz_bucket, Prefix=trz_prefix, Delimiter='v')

result.get('CommonPrefixes')
EN

回答 1

Stack Overflow用户

发布于 2021-06-04 01:57:08

如果提供一个CommonPrefixes,则Delimiter将被返回。

代码语言:javascript
复制
list_objects(Bucket=trz_bucket, Prefix=trz_prefix, Delimiter='/')

这里有一个使用AWS使用DelimiterCommonPrefixes的示例(与使用boto3一样):

代码语言:javascript
复制
$ aws s3 mb s3://test-delimiter
make_bucket: test-delimiter

$ aws s3 cp x.py s3://test-delimiter/folder1/
upload: ./x.py to s3://test-delimiter/folder1/x.py                

$ aws s3 cp x.py s3://test-delimiter/folder2/
upload: ./x.py to s3://test-delimiter/folder2/x.py                

$ aws s3api list-objects --bucket test-delimiter --delimiter '/'
{
    "CommonPrefixes": [
        {
            "Prefix": "folder1/"
        },
        {
            "Prefix": "folder2/"
        }
    ]
}

$ aws s3 cp x.py s3://test-delimiter/folder1/folder3/
upload: ./x.py to s3://test-delimiter/folder1/folder3/x.py        

$ aws s3api list-objects --bucket test-delimiter --delimiter '/' --prefix folder1/
{
    "Contents": [
        {
            "Key": "folder1/x.py",
            "LastModified": "2021-06-05T07:52:35+00:00",
            "ETag": "\"1083f8ddcea96dd6b9d8a3a582373c71\"",
            "Size": 727,
            "StorageClass": "STANDARD"
            }
        }
    ],
    "CommonPrefixes": [
        {
            "Prefix": "folder1/folder3/"
        }
    ]
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67829720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档