如何检查特定文件是否存在于我的 S3 中的特定目录中?我使用 Boto3 并尝试了这段代码(不起作用):
import boto3
s3 = boto3.resource('s3')
bucket = s3.Bucket('my-bucket')
key = 'dootdoot.jpg'
objs = list(bucket.objects.filter(Prefix=key))
if len(objs) > 0 and objs[0].key == key:
print("Exists!")
else:
print("Doesn't exist")
原文由 AshuGG 发布,翻译遵循 CC BY-SA 4.0 许可协议
在检查 S3 文件夹时,有两种情况:
场景 1
MaxKeys=1
。这样效率更高。即使该文件夹包含很多文件,它也会快速响应,只返回其中一个内容。Contents
作为回应场景 2
/
。此前缀将仅检查该文件夹,而不检查该文件夹内的内容。CommonPrefixes
作为响应而不是Contents