python - 如果未下载 s3 文件,则捕获错误
问题描述
我从 S3 下载一个文件,如下所示:
s3 = boto3.client('s3')
s3.download_file('testunzipping','DataPump_10000838.zip','/tmp/DataPump_10000838.zip')
现在它总是有效的。但是,我想添加某种错误处理。如果下载失败,我如何检查或收到错误消息。我怎么知道有问题?
boto3 是否提供任何错误处理功能?
我读到这个:检查 S3 下载是否成功完成,但我也在寻找替代方案。
解决方案
你可以有类似下面的东西。下载并确保它已创建。
import boto3
import os
def download_and_verify(Bucket, Key, Filename):
try:
os.remove(Filename)
s3 = boto3.client('s3')
s3.download_file(Bucket,Key,Filename)
return os.path.exists(Filename)
except Exception: # should narrow the scope of the exception
return False
推荐阅读
- vue.js - 如何仅将 css 样式应用于特定的 Vue 组件及其子组件?
- vue.js - 数据库更新,但 Vuex 商店没有
- vue.js - 如何在mounted()上获取状态vuex并传递给数据?
- gradle - 嵌入式 Cassandra 单元测试,JUnit4.12 + Gradle4.9 运行到 NoSuchFileException
- django - 对象缓存具有相同 where 子句的多个查询
- amazon-dynamodb - DynamoDB 每个项目的生存时间
- firebase - Firebase 的新 Firestore DB 对于电子商务 Android 应用程序来说是否更贵?
- python - Tensorflow 在惯用简单的代码段上失败了
- c++ - 减少可执行文件大小混合动态/静态编译
- bash - 如何解析 Mediawiki 的 Special:UnusedFiles