Como configurar proxies para o SDK do Azure para Python
Se sua organização exigir o uso de um servidor proxy para acessar recursos da Internet, você precisará definir uma variável de ambiente com as informações do servidor proxy para usar o SDK do Azure para Python. A definição das variáveis de ambiente (HTTP_PROXY e HTTPS_PROXY) faz com que o SDK do Azure para Python use o servidor proxy em tempo de execução.
Uma URL do servidor proxy tem o formato http[s]://[username:password@]<ip_address_or_domain>:<port>/
em que a combinação de nome de usuário e senha é opcional.
Em seguida, você pode configurar um proxy globalmente usando variáveis de ambiente ou pode especificar um proxy passando um argumento chamado proxies
para um construtor de cliente individual ou método de operação.
Configuração global
Para configurar um proxy globalmente para seu script ou aplicativo, defina variáveis de ambiente HTTP_PROXY
ou HTTPS_PROXY
com a URL do servidor. Essas variáveis funcionam com qualquer versão das bibliotecas do Azure. Observe que HTTPS_PROXY
isso não significa HTTPS
proxy, mas o proxy para https://
solicitações.
Essas variáveis de ambiente serão ignoradas se você passar o parâmetro use_env_settings=False
para um construtor de objeto de cliente ou método de operação.
Definir a partir da linha de comando
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
Definir no código Python
Você pode definir configurações de proxy usando variáveis de ambiente, sem necessidade de configuração personalizada.
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"
Configuração personalizada
Definir em código Python por cliente ou por método
Para configuração personalizada, você pode especificar um proxy para um objeto de cliente ou método de operação específico. Especifique um servidor proxy com um argumento chamado proxies
.
Por exemplo, o código do artigo Exemplo: usar o armazenamento do Azure a seguir especifica um proxy HTTPS com credenciais de usuário com o construtor BlobClient
. Nesse caso, o objeto vem da biblioteca azure.storage.blob, que é baseada no 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" }