Python Boto S3Connection通过代理发出

时间:2015-12-17 17:45:53

标签: python amazon-web-services amazon-s3 proxy boto

尝试使用以下代码连接到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 = True,security_token = AWS_TOKEN,proxy =" 172.18.96.36",proxy_port =" 8080",proxy_user = None,proxy_pass =无)

mybucket = aws_connection.get_bucket(bucket_name,validate = False)

k = boto.s3.key.Key(mybucket) k.set_contents_from_filename(source_file,encrypt_key = True)

错误:需要类似字节的对象,而不是' str'

当我将代理更改为" http://172.18.96.36"时,我收到以下错误,

Errno -2姓名或服务未知

注意:代理工作正常,当我通过aws cli尝试它。没问题。此外,boto脚本在防火墙外工作正常。想要查看S3Connection调用或其他任何地方的错误。

由于

1 个答案:

答案 0 :(得分:0)

看看这个。 https://github.com/lcerezo/scriptz/blob/master/SAtools/pushfiles_toS3.py

你想要的是沿着这些线:

conn = boto.connect_s3(proxy='172.18.96.36',proxy_port='3128',debug=1)

上面的工作对我来说是鱿鱼。改变端口。我不认为你想要那个字符串中的http://