Aracılığıyla paylaş


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

Bir proxy'ye genellikle ihtiyaç duyulur eğer:

  • Bir kurumsal güvenlik duvarının arkasındasınız
  • Ağ trafiğinizin bir güvenlik aygıtı üzerinden geçmesi gerekiyor.
  • Hata ayıklama veya yönlendirme için özel bir proxy kullanmak istiyorsunuz.

Kuruluşunuz İnternet kaynaklarına erişmek için ara sunucu kullanılmasını gerektiriyorsa, Python için Azure SDK'sını kullanmak üzere ara sunucu bilgileriyle bir ortam değişkeni ayarlamanız gerekir. Ortam değişkenlerini (HTTP_PROXY ve HTTPS_PROXY) ayarlamak, Azure SDK for Python'un çalışma zamanında proxy sunucusunu kullanmasına neden olur.

Bir proxy sunucusu URL'si, kullanıcı adı ve şifre kombinasyonunun isteğe bağlı olduğu http[s]://[username:password@]<ip_address_or_domain>:<port>/ şeklindedir.

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

Çevre değişkenleri kullanarak bir proxy'i global olarak yapılandırabilirsiniz veya proxies adlı bir argümanı bireysel müşteri yapıcısına veya işlem yöntemine geçirerek bir proxy belirleyebilirsiniz.

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. Unutmayın, HTTPS_PROXYHTTPS proxy anlamına gelmez, ancak https:// istekleri için proxy anlamına gelir.

Parametre use_env_settings=False'yi bir istemci nesnesi oluşturucusuna veya operasyon yöntemine iletirseniz, bu çevre değişkenleri dikkate alınmaz.

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

Proxy ayarlarını ortam değişkenleri kullanarak yapabilirsiniz, özel yapılandırma gereksinimi olmadan.

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

Python kodunda müşteri başına veya yöntem başına ayarla

Özel yapılandırma için, belirli bir istemci nesnesi veya işlem yöntemi için bir proxy belirleyebilirsiniz. Adı proxies olan bir bağımsız değişkenle bir proxy sunucusu belirtin.

Örneğin, Azure depolama kullanımı örneği adlı makaledeki aşağıdaki kod, BlobClient yapıcı ile kullanıcı kimlik bilgileri içeren bir HTTPS proxy'sini belirtir. Bu durumda, nesne azure.core'a dayanan azure.storage.blob kütüphanesinden gelmektedir.

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