Python için Azure SDK'sı ile proxy'lerin nasıl yapılandırılacağı

Aşağıdakiler için genellikle bir ara sunucuya ihtiyacınız vardır:

  • Şirket güvenlik duvarının arkasındasınız.
  • Ağ trafiğinizin bir güvenlik gereci üzerinden geçmesi gerekir.
  • Hata ayıklama veya yönlendirme için özel bir ara sunucu kullanmak istiyorsunuz.

Kuruluşunuz İnternet kaynaklarına erişmek için bir ara sunucu gerektiriyorsa, Python için Azure SDK kullanmadan önce ara sunucu bilgileriyle bir ortam değişkeni ayarlayın. HTTP_PROXY ve HTTPS_PROXY ortam değişkenlerini ayarladığınızda, Python Azure SDK çalışma zamanında ara sunucuyu kullanır.

Ara sunucu URL'si, kullanıcı adı ve parola bileşiminin isteğe bağlı olduğu biçimindedir http[s]://[username:password@]<ip_address_or_domain>:<port>/.

Proxy bilgilerinizi BT veya ağ ekibinizden, tarayıcınızdan veya ağ yardımcı programlarından alabilirsiniz.

Ortam değişkenlerini kullanarak bir ara sunucuyu genel olarak yapılandırabilirsiniz. Ayrıca, proxies adlı bir bağımsız değişken geçirerek tek bir istemci oluşturucusu ya da işlem yöntemi için bir ara sunucu yapılandırabilirsiniz.

Küresel yapılandırma

Betik veya uygulamanız için küresel bir ara sunucu yapılandırmak amacıyla HTTP_PROXY ya da HTTPS_PROXY ortam değişkenlerini sunucu URL'si ile tanımlayın. Bu değişkenler, Azure kütüphanelerinin herhangi bir sürümüyle çalışır. HTTPS_PROXY ifadesinin bir HTTPS vekil sunucusu anlamına gelmediğini unutmayın. https:// istekleri için kullanılacak ara sunucuyu belirtir.

use_env_settings=False parametresini bir istemci nesnesi oluşturucusuna veya işlem yöntemine geçirirseniz, SDK bu ortam değişkenlerini yok sayar.

Komut satırından ayarla

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 kodunda küme

Ortam değişkenlerini kullanarak ara sunucu ayarlarını yapın. Herhangi bir özel yapılandırmaya ihtiyacınız yoktur.

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"

Özel yapılandırma

İstemci veya yöntem için Python kodunda ara sunucu ayarlama

Özel yapılandırma için, belirli bir istemci nesnesi veya işlem yöntemi için bir ara sunucu belirtin. proxies adlı bir bağımsız değişken kullanın.

Örneğin, Example: use Azure storage makalesindeki aşağıdaki kod, BlobClient oluşturucusunda kullanıcı kimlik bilgilerine sahip bir HTTPS proxy'si belirtir. Bu durumda, nesne azure.core tabanlı olan azure.storage.blob kitaplığından gelir.

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" }