Python AWS S3FS API: 手动设置代理服务器

Python AWS S3FS API: Manually set proxy server

我无法为 S3FS Python API 设置代理服务器。由于 S3FS 的配置 class 是从 botocore 导入的,因此没有关于它的 S3FS 文档。所以,我已经阅读了 and also botocore documentation

但是,我无法让 botocore 配置 class 与 S3FS 一起工作。

我试过:

from s3fs.core import Config
proxy = Config(proxies={'https':<my_proxy>})

fs = s3fs.S3FileSystem(key=MY_S3_KEY, secret=MY_S3_SECRET, config_kwargs=proxy)
fs.put(FILE_NAME, PATH)

我也试过:

from s3fs.core import Config

fs = s3fs.S3FileSystem(key=MY_S3_KEY, secret=MY_S3_SECRET, config_kwargs=Config(proxies={'https':<my_proxy>}))
fs.put(FILE_NAME, PATH)

我也试过为 http 设置相同的代理。代理在这台电脑上工作正常,我已经从命令行成功测试了几次。

我总是收到连接超时错误消息:

ConnectTimeoutError: Connect timeout on endpoint URL:....

如有任何建议,我们将不胜感激。 谢谢

这里有两种方法。

1 - 使用代理设置环境变量:

os.environ['https_proxy'] = 'http://my_proxy_url'
s3 = s3fs.S3FileSystem(anon=False)

2 - 在构造函数中传入代理:

s3 = s3fs.S3FileSystem(anon=False, config_kwargs={'proxies': {'https': 'http://my_proxy_url'}})