다음과 같은 경우 프록시가 필요한 경우가 많습니다.
- 회사 방화벽 뒤에 있습니다.
- 네트워크 트래픽은 보안 어플라이언스 통과해야 합니다.
- 디버깅 또는 라우팅에 사용자 지정 프록시를 사용하려고 합니다.
조직에서 인터넷 리소스에 액세스하기 위해 프록시 서버가 필요한 경우 Python 위해 Azure SDK 사용하기 전에 프록시 서버 정보를 사용하여 환경 변수를 설정합니다.
HTTP_PROXY 및 HTTPS_PROXY 환경 변수를 설정하면 Python Azure SDK 런타임에 프록시 서버를 사용합니다.
프록시 서버 URL에는 사용자 이름과 암호 조합이 선택 사항인 양식 http[s]://[username:password@]<ip_address_or_domain>:<port>/이 있습니다.
IT 또는 네트워크 팀, 브라우저 또는 네트워크 유틸리티에서 프록시 정보를 가져올 수 있습니다.
환경 변수를 사용하여 프록시를 전역적으로 구성할 수 있습니다. 명명 proxies된 인수를 전달하여 개별 클라이언트 생성자 또는 작업 메서드에 대한 프록시를 구성할 수도 있습니다.
글로벌 설정
스크립트 또는 앱에 대한 프록시를 전역적으로 구성하려면 서버 URL과 함께 HTTP_PROXY 또는 HTTPS_PROXY 환경 변수를 정의하십시오. 이러한 변수는 모든 버전의 Azure 라이브러리에서 작동합니다.
HTTPS_PROXY HTTPS 프록시를 의미하지는 않습니다. 요청에 사용할 https:// 프록시를 지정합니다.
매개 변수 use_env_settings=False 를 클라이언트 개체 생성자 또는 작업 메서드에 전달하는 경우 SDK는 이러한 환경 변수를 무시합니다.
명령줄에서 설정
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인수를 사용합니다.
예를 들어 Example 문서의 다음 코드: Azure 스토리지 사용은 BlobClient 생성자에서 사용자 자격 증명이 있는 HTTPS 프록시를 지정합니다. 이 경우, 개체는 azure.core를 기반으로 하는 azure.storage.blob 라이브러리에서 가져옵니다.
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" }