Azure 라이브러리에 대한 프록시를 구성하는 방법

프록시 서버 URL은 http[s]://[username:password@]<ip_address_or_domain>:<port>/ 형식이며 username:password 조합은 선택 사항입니다.

그런 다음, 환경 변수를 사용하여 전역적으로 프록시를 구성하거나, proxies라는 인수를 개별 클라이언트 생성자 또는 작업 메서드에 전달하여 프록시를 지정할 수 있습니다.

글로벌 구성

스크립트 또는 앱에 대한 프록시를 전역적으로 구성하려면 서버 URL을 사용하여 HTTP_PROXY 또는 HTTPS_PROXY 환경 변수를 정의합니다. 이러한 변수는 모든 버전의 Azure 라이브러리에서 작동합니다.

use_env_settings=False 매개 변수를 클라이언트 개체 생성자 또는 작업 메서드에 전달하면 이러한 환경 변수가 무시됩니다.

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"

CLI에서

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

클라이언트별 또는 메서드별 구성

특정 클라이언트 개체 또는 작업 메서드에 대한 프록시를 구성하려면 proxies라는 인수를 사용하여 프록시 서버를 지정합니다.

예를 들어 예제: 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 = "your_url"

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