的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