Python에서 가짜 구글 클라우드 스토리지
4956 단어 pythondjangogcsgooglecloud
훌륭한 문서가 있으며 docker가 설치된 경우 실행할 수도 있습니다.
$ docker run -d --name fake-gcs-server -p 4443:4443 fsouza/fake-gcs-server
Google 클라우드 스토리지에 파일을 업로드하는 작업이 있었지만 버킷에 대한 액세스 권한이 부여되지 않았습니다. 우리는 docker를 사용하고 있었고
docker-compose.yml
파일에 쉽게 추가할 수 있었습니다.version: '2'
services:
mygooglecloudstorage:
container_name: mygooglecloudstorage
image: fsouza/fake-gcs-server
ports:
- "4443:4443"
volumes:
- ./gcs/data:/data # This just prepopulates data
그리고 먼저 로컬에서 사용하고 싶었기 때문에 다음 내용으로
fake_gcs.py
라는 파일을 만들었습니다.def get_fake_client():
import requests
import urllib3
from google.api_core.client_options import ClientOptions
from google.auth.credentials import AnonymousCredentials
from google.cloud import storage
my_http = requests.Session()
my_http.verify = False # disable SSL validation
urllib3.disable_warnings(
urllib3.exceptions.InsecureRequestWarning
) # disable https warnings for https insecure certs
client = storage.Client(
credentials=AnonymousCredentials(),
project="test",
_http=my_http,
client_options=ClientOptions(api_endpoint='https://127.0.0.1:4443'),
)
return client
나중에 코드를 푸시할 때
client = storage.Client()
를 client = get_fake_client()
로 쉽게 바꿀 수 있도록 이 작업을 수행했습니다.storage.Client()
패키지는 GOOGLE_APPLICATION_CREDENTIALS
환경 변수를 사용하므로 원본 클라이언트와 가짜 클라이언트를 전환하는 데 큰 문제가 없었습니다.이제 원래 서버에서 평소처럼 가짜 서버에서 일반 작업을 수행할 수 있습니다.
from fake_gcs import get_fake_client
client = get_fake_client()
bucket = client.bucket('sample-bucket')
blob = bucket.get_blob('test_file.txt')
Reference
이 문제에 관하여(Python에서 가짜 구글 클라우드 스토리지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/yujinyuz/faking-google-cloud-storage-in-python-5bc3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)