Настройка прокси-серверов для пакета SDK Azure для Python
Если вашей организации требуется использовать прокси-сервер для доступа к интернет-ресурсам, необходимо задать переменную среды с сведениями о прокси-сервере для использования пакета SDK Azure для Python. Установка переменных среды (HTTP_PROXY и HTTPS_PROXY) приводит к тому, что пакет SDK Azure для Python будет использовать прокси-сервер во время выполнения.
URL-адрес прокси-сервера имеет форму http[s]://[username:password@]<ip_address_or_domain>:<port>/
, в которой необязательно использовать сочетание имени пользователя и пароля.
Вы можете затем настроить прокси-сервер глобально с помощью переменных среды или указать прокси-сервер, передав аргумент с именем proxies
отдельному конструктору клиента или методу операции.
Глобальная конфигурация
Чтобы настроить прокси-сервер глобально для скрипта или приложения, определите переменные среды HTTP_PROXY
или HTTPS_PROXY
с URL-адресом сервера. Эти переменные работают с любой версией библиотек Azure. Обратите внимание, что HTTPS_PROXY
не означает HTTPS
прокси-сервер, а прокси-сервер для https://
запросов.
Такие переменные среды игнорируются при передаче параметра use_env_settings=False
в конструктор объектов клиента или в метод операции.
Установка из командной строки
rem Non-authenticated HTTP server:
set HTTP_PROXY=http://10.10.1.10:1180
rem Authenticated HTTP server:
set HTTP_PROXY=http://username:password@10.10.1.10:1180
rem Non-authenticated HTTPS server:
set HTTPS_PROXY=http://10.10.1.10:1180
rem Authenticated HTTPS server:
set HTTPS_PROXY=http://username:password@10.10.1.10:1180
Установка в коде Python
Параметры прокси-сервера можно задать с помощью переменных среды без пользовательской конфигурации.
import os
os.environ["HTTP_PROXY"] = "http://10.10.1.10:1180"
# Alternate URL and variable forms:
# os.environ["HTTP_PROXY"] = "http://username:password@10.10.1.10:1180"
# os.environ["HTTPS_PROXY"] = "http://10.10.1.10:1180"
# os.environ["HTTPS_PROXY"] = "http://username:password@10.10.1.10:1180"
Настраиваемая конфигурация
Установка в коде Python для каждого клиента или каждого метода
Для пользовательской конфигурации можно указать прокси-сервер для определенного клиентского объекта или метода операции. Укажите прокси-сервер с именем proxies
аргумента.
Например, в следующем коде из статьи Пример. Использование библиотек Azure со службой хранилища Azure указан прокси-сервер HTTPS с учетными данными пользователя с помощью конструктора BlobClient
. В этом случае объект берется из библиотеки azure.storage.blob, которая основана на библиотеке azure.core.
from azure.identity import DefaultAzureCredential
# Import the client object from the SDK library
from azure.storage.blob import BlobClient
credential = DefaultAzureCredential()
storage_url = "https://<storageaccountname>.blob.core.windows.net"
blob_client = BlobClient(storage_url, container_name="blob-container-01",
blob_name="sample-blob.txt", credential=credential,
proxies={ "https": "https://username:password@10.10.1.10:1180" }
)
# Other forms that the proxy URL might take:
# proxies={ "http": "http://10.10.1.10:1180" }
# proxies={ "http": "http://username:password@10.10.1.10:1180" }
# proxies={ "https": "https://10.10.1.10:1180" }