【发布时间】:2021-12-20 17:41:28
【问题描述】:
我正在 python3 中使用 ListObjectsV2 检查 s3 位置是否存在。
我有一个需要验证 s3 对象的文件类型或扩展名的用例。
import boto3
s3 = boto3.client("s3")
bucket="bucketName"
key="folder1/folder2/myObject.csv"
res = s3.list_objects_v2(Bucket=bucket, Prefix=key)
print(res)
print(res.get("KeyCount"))
if res.get("KeyCount") > 0: print("s3 object exists")
else: print("s3 object does not exists")
示例对象如下: s3://bucketName/folder1/folder2/myObject.csv
以下给出输出的场景:
- s3://bucketName/folder1/folder2/myObject.csv 给出“s3 对象存在”
- s3://bucketName/folder1/folder2/myObject.c 给出“s3 对象存在”
- s3://bucketName/folder1/folder2/myObject。给出“s3 对象存在”
- s3://bucketName/folder1/folder2/myObject.x 给出“s3 对象不存在”
我观察到部分扩展也在验证中。
我也想要 2,3 作为“s3 对象不存在”。我可能有很多扩展名,所以不能使用“以”结尾。 也许我可以尝试使用在“。”之后划分 s3path 的解析器。用于扩展和使用 with 结束。但我正在寻找更简单的方法。
提前致谢。
【问题讨论】:
标签: amazon-web-services amazon-s3 boto3 python-3.8