我有一个可以在我的机器上运行的python脚本(OSX,python 2.7.13,boto3 1.4.4)但不适用于我的同事(Windows7,否则相同)。
身份验证似乎有效,我们可以同时使用s3的list_objects_v2和get_object。但是,当他尝试使用put_object上传时,它会超时。这是a full log;上传从第45行开始。
我尝试过使用他的凭据,但是有效。他试着上传一个小文件,当它在字节范围内时它会起作用,但即使kb也太大了。我们甚至在另一台互联网连接上的另一台Windows机器上尝试过它而没有运气。
我的上传代码非常简单:
with open("tmp_build.zip", "r") as zip_to_upload:
upload_response = s3.put_object(Bucket=target_bucket, Body=zip_to_upload, Key=build_type+".zip")
Key在我们的运行中解析为test.zip,文件大约为15mb。
为什么它在Windows上失败?我可以给你什么更多的调试信息?
答案 0 :(得分:0)
使用此https://github.com/boto/boto3/issues/870问题的灵感,我将.read()
添加到我的Body参数中,然后就可以了。
答案 1 :(得分:-1)
可能是网络问题。你在同一个网络上吗?
您是否可以使用AWS-CLI上传它 尝试以下
aws s3 cp my-file.txt s3://my-s3-bucket/data/ --debug
我也考虑将X重试添加到上载可能会为您提供有关手头错误的更多信息。在大多数情况下,这些都是与网络零星相关的问题