的Python的Boto S3Connection問題嘗試下面的代碼連接到AWS S3和使用代理,並收到以下錯誤推一個文件,通過代理
代碼:
local_proxy =「http://172.18.96.36 local_proxy_port = 8080 aws_connection = S3Connection(aws_access_key_id = AWS_KEY,aws_secret_access_key = AWS_SECRET,is_secure =真,security_token = AWS_TOKEN,代理= 「172.18.96.36」,proxy_port使用= 「8080」,proxy_user =無,proxy_pass =無)
mybucket = aws_connection。得到_bucket(BUCKET_NAME,驗證=假)
K = boto.s3.key.Key(mybucket) k.set_contents_from_filename(SOURCE_FILE,encrypt_key =真)
錯誤:所需要的字節狀物體,而不是' STR」
當我改變代理‘http://172.18.96.36’,我得到以下錯誤,
errno的-2名稱或服務不知道
注:代理服務器工作正常,當我嘗試它直通AWS CLI 。那裏沒有問題。另外,boto腳本在防火牆外工作良好。想要查看S3Connection呼叫或其他任何地方的錯誤。
謝謝
Thx lcerezo。端口3128掛起而沒有回來。順便說一下,Port 8080可以通過AWS CLI正常工作。任何想法爲什麼我得到錯誤「字節狀對象是必需的,而不是'str'」?這將有所幫助。 –
另外,我正在使用python 3.5與常規boto模塊。這會成爲一個問題嗎? Shd我使用Python 2.7? –
我認爲ip不應該以http://作爲前綴,它可能會將其解釋爲str()。 或者你可以設置bash env var'http_proxy'和'https_proxy'到ip:port例如'export http_proxy = 172.18.96.36:8080' – lcerezo