如何检查s3 bucket中是否存在特定文件



我是AWS的新手,我想检查s3中的文件夹中是否存在特定的csv。如果有,我想读,如果没有,我想创建一个df并上传到s3。

我到现在为止做了什么

list_of_files = []
for key in s3_client.list_objects(Bucket= 'abc',Prefix="folder/")['Contents']:
list_of_files.append(key['Key'])
check_files = [list of file to check]

类似的东西

if set(check_files) in set(list_of_files):
read_from_s3(file)
else:
pd.Dataframe()

使用s3_client get_object。https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.get_object

如果对象不存在,它将抛出异常S3.客户端例外情况.NoSuchKey

检查以下样品

try:
s3_client.get_object(
Bucket=self._bucket,
Key=key,
)
return True
except s3_client.exceptions.NoSuchKey:
return False

最新更新