기본 Requests 호환 google.cloud.storage.Client 전송 계층에서는 Python 작업을 시작하기 전에 프록시를 설정합니다.

export HTTPS_PROXY=http://proxy.example:8080
python storage_job.py

프로젝트와 인증 정보가 이미 설정되어 있다면 작업은 평소처럼 클라이언트를 생성할 수 있습니다.

from google.cloud import storage

client = storage.Client()

HTTPS_PROXY는 HTTPS 대상으로 보내는 요청을 선택합니다. 값의 http:// 스킴은 중간 프록시의 프로토콜을 뜻하므로 Cloud Storage 엔드포인트를 다운그레이드하지 않습니다. 공개 HTTP 경로를 쓴다면 HTTP 프록시 목록에서 엔드포인트 주소를 가져오고 Cloud Storage URL은 바꾸지 않습니다.

여전히 다른 경로를 사용한다면 NO_PROXY를 포함해 해당 Python 프로세스의 환경을 확인합니다. 실행 중인 notebook 커널이나 서비스는 별도 터미널에서 나중에 export한 값을 받지 않습니다. 인증서 관련 실패라면 해당 프로세스의 CA 설정을 확인하세요.

gcloud 명령이 작동한다는 것은 별개의 비교입니다. 다른 설정 경로를 사용할 수 있습니다. 마찬가지로 애플리케이션이 제공한 사용자 지정 HTTP 세션이나 대체 전송 계층에는 자체 프록시 정책이 필요합니다.

관련 글