Python AWS S3FS API: настройка прокси-сервера вручную - PullRequest
1 голос
/ 26 марта 2019

Я не могу установить прокси-сервер для S3FS Python API. Так как класс Config S3FS импортируется из 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-адресу конечной точки: ....

Любое предложение приветствуется. Спасибо

1 Ответ

0 голосов
/ 06 мая 2019

Вот два способа сделать это.

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'}})
...