我从S3下载一个文件,如下所示:
s3 = boto3.client('s3')
s3.download_file('testunzipping','DataPump_10000838.zip','/tmp/DataPump_10000838.zip')
就目前而言,它总是有效的。但是,我想添加一些错误处理。如果下载失败,我如何检查或获取错误消息。我怎么知道出了什么事?
boto3是否提供任何错误处理功能?
我读到:检查S3下载是否成功完成,但我正在寻找替代方案。
这只是为了改进@balderman的答案,实际检查导致BOTO请求失败的异常。
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 botocore.exceptions.ClientError as error:
print(error.response['Error']['Code']) #a summary of what went wrong
print(error.response['Error']['Message']) #explanation of what went wrong
return False
你可以有像下面这样的东西。下载并确保它已创建。
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
想下载S3签名视频文件…但不是下载它将要播放。。。 使用send_dataS3下载 视频文件=”https://s3-eu-west-1.amazonaws.com/tokboxhub.mangoapps.com/46250362/2e1ad9d5-8240-41d2-82bc-38c34bf92e7e/archive.mp4?X-Amz算法=AWS4-HMAC-SHA256
我正在尝试将jQuery项目转换为Typescript项目。但是,当我使用以下方法从DefinitelyTyped Github中包含jQuery类型时: 我在jquery.d.ts的第27行得到了“uncathed syntaxerror:uncrected identifier”,如下所示 (我使用WebStorm作为IDE) 编辑:好的,我按照下面的一些说明,通过npm终端安装了jQuery
我尝试了很多方法,但仍然不起作用。我试图捕捉JTextfield中是否有数字,它将使字符串文本变为红色,并弹出该选项。但我的代码只有在两个JTextfield中都有数字时才会被捕获。我希望我的JTextField只有字符和空格。 (jtf2和jtf3是JTextField)
问题内容: 我正在尝试下载目录下的文件,而不是直接在存储桶中下载。 值区名称-“ myBucket”文件夹名称-“ myFolder”文件名-“ myFile” GetObjectInput不接受Prefix作为参数。仅指定没有前缀的存储桶名称会导致找不到密钥错误。尝试如下设置“存储桶”,但出现错误 myBucket / myFolder myBucket / myFolder / myBucke
我已经用UUID作为每个文件名的密钥将文件上传到s3 bucket,我要求将文件密钥作为存储的UUID,但当下载时,我需要将下载的文件名作为实际文件名,例如:foo.png aws S3-0E8221B9-9BF4-49D6-B0C0-D99E86F91F8E.png上存储的文件下载文件名应为:foo.bar 我尝试过设置Content-Disposition元数据,但在下载文件时仍然包含UUID
我在做一个函数来禁止一个成员在JDA中使用他的/她的id<我做了这个: 但是,它不接受错误。我已经尝试删除printStackTrace,但是错误仍然会出现。"Done"和"EEE"不会被打印出来。 此外,它确实接受所有其他错误,但不接受这个错误。 这里给出了错误的一部分