首页 > 解决方案 > 如果未下载 s3 文件,则捕获错误

问题描述

我从 S3 下载一个文件,如下所示:

s3 = boto3.client('s3')
s3.download_file('testunzipping','DataPump_10000838.zip','/tmp/DataPump_10000838.zip')

现在它总是有效的。但是,我想添加某种错误处理。如果下载失败,我如何检查或收到错误消息。我怎么知道有问题?

boto3 是否提供任何错误处理功能?

我读到这个:检查 S3 下载是否成功完成,但我也在寻找替代方案。

标签: pythonpython-3.xamazon-web-servicesamazon-s3boto

解决方案


你可以有类似下面的东西。下载并确保它已创建。

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

推荐阅读