python-3.x - Python AWS S3FS API:手动设置代理服务器
问题描述
我无法为 S3FS Python API 设置代理服务器。由于 S3FS 的 Config 类是从 botocore 导入的,因此没有关于它的 S3FS 文档。所以,我已经阅读了这个问题以及botocore 文档。
但是,我无法让 botocore Config 类与 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:端点 URL 上的连接超时:....
任何建议表示赞赏。谢谢
解决方案
Here are two ways to do it.
1 - Set an environment variable with the proxy:
os.environ['https_proxy'] = 'http://my_proxy_url'
s3 = s3fs.S3FileSystem(anon=False)
2 - pass in the proxy in the constructor:
s3 = s3fs.S3FileSystem(anon=False, config_kwargs={'proxies': {'https': 'http://my_proxy_url'}})
推荐阅读
- c# - 反序列化 C# Json 中的问题
- typescript - 我如何在不同类型之间的打字稿中使用 Array.includes
- javascript - package.json 中的“*.+(js|jsx)”是什么意思?
- powershell - PowerShell - 通过 CSV 循环,使用指定列中的条目创建一个 .txt,其中条目作为变量
- ios - 如何从 iOS CoreMotion 加速度计更新中获取错误信息
- c# - 选择查询阻塞数据库表
- debugging - 如何查看加载的 pdb 文件?
- python - 芹菜同时获得两个任务的状态不工作
- postgresql - 通过 SSH 将 Postgres 数据库从服务器复制到本地?
- python - 如果在 python 中可用,如何替换最后 2 个字符