首页 > 解决方案 > 如何检查 s3 存储桶中是否存在对象或文件名是否匹配?

问题描述

为这个问题设计的例子。我想遍历 s3 存储桶中的对象,看看是否可以找到与特定名称匹配的文件/对象。目前我正在对文件进行迭代(参见下面的示例)。有没有更好的方法或更快的方法在 aws s3 中查找文件?

import boto3
s3_R = boto3.resource('s3')
s3_b = s3_R.Bucket("MyBucket")
files_list = []
for file in files_list:
   if(file.key == "myfile.txt")
       print(file.key)

标签: amazon-web-servicesamazon-s3boto3

解决方案


如果您知道确切的密钥

response = client.head_object(
    Bucket='examplebucket',
    Key='HappyFace.jpg',
)

如果没有这样的对象匹配键,S3.Client.exceptions.NoSuchKey将被抛出。如果您担心,对象数据不会传输到您的本地


推荐阅读