我怎么告诉boto操作是否成功?

Moo*_*ker 3 python networking network-programming amazon-s3 boto

我正在用boto直接上传仙女

for path, dirs, files in os.walk("data"):
    for file in files:
        k = Key(bucket)
        k.key = file
        k.set_contents_from_filename(os.path.join(path,file))
Run Code Online (Sandbox Code Playgroud)

但是set_contents_from_filename不会返回任何内容.我怎么告诉操作是成功的而不是默默地失败?如果它很重要,我正在使用RiakCS作为后端.

gar*_*aat 6

由于boto生成的所有底层服务请求都是基于HTTP的,因此如果HTTP状态代码未指示成功,boto将监视状态代码并引发Python异常.因此,如果它没有引发异常,它应该是成功的.

  • 在S3的``set_contents_from_*``操作的情况下,boto在发送文件之前计算MD5校验和.然后它将该校验和作为上载的一部分发送,以便S3可以在服务器端验证它.它还将计算出的MD5与返回的ETag标头进行比较,对于单部分文件,它始终是MD5. (2认同)