使用 boto3 和 python 列出 s3 存储桶

listing s3 buckets using boto3 and python

我正在使用下面的代码并参考了许多 答案以使用 boto3python 列出文件夹下的文件,但无法这样做。下面是我的代码:

s3 = boto3.client('s3')
        object_listing = s3.list_objects_v2(Bucket='maxValue',
                                    Prefix='madl-temp/')

我的 s3 路径是 "s3://madl-temp/maxValue/",我想在其中查找 maxValue 存储桶下是否有任何镶木地板文件,我必须根据这些文件执行如下操作:

If len(maxValue)>0:
 maxValue=true
else:
 maxValue=false

我通过 Glue 作业 运行 它,我收到以下错误:

botocore.errorfactory.NoSuchBucket: An error occurred (NoSuchBucket) when calling the ListObjectsV2 operation: The specified bucket does not exist

您的存储桶名称是 madl-temp,前缀是 maxValue。但在 boto3 中,情况恰恰相反。所以应该是:

s3 = boto3.client('s3')
object_listing = s3.list_objects_v2(Bucket='madl-temp',
                                    Prefix='maxValue/')

要获取您必须执行的文件数:

len(object_listing['Contents']) - 1

其中 -1 占前缀 maxValue/