[Python] 클라우드 스토어에 올릴 대상을 수정하는 Cache-control
5264 단어 CloudStoragePython
목표
Pythn에서 Cloud Storage에 업로드할 객체의 Cache-Control을 수정합니다.
공식 문서에는 파이톤의 샘플 코드가 없습니다. 끼워 넣는 점이 있기 때문에 쓰십시오.
코드
upload.pydef main():
_, temp_local_filename = tempfile.mkstemp()
with codecs.open(temp_local_filename, 'w', 'utf_8') as f:
f.write('テキスト')
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = 'credencialsファイル名'
client = storage.Client()
bucket = client.get_bucket('バケット名')
blob = bucket.blob('アップロード先ファイル名')
blob.upload_from_filename(filename=temp_local_filename)
blob.cache_control = 'no-cache'
blob.patch()
return "success"
정확한 방법
upload.py blob.cache_control = 'no-cache'
blob.patch()
설정 여부를 확인합니다.
bash$ curl -v "https://storage.googleapis.com/バケット名/ファイル名" 2>&1 | grep -i Cache-Control
* h2 header: cache-control: no-cache
< cache-control: no-cache
Cache-control이 no-cache로 바뀌었어요.
잘못된 방법
메타데이터에서
def main():
_, temp_local_filename = tempfile.mkstemp()
with codecs.open(temp_local_filename, 'w', 'utf_8') as f:
f.write('テキスト')
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = 'credencialsファイル名'
client = storage.Client()
bucket = client.get_bucket('バケット名')
blob = bucket.blob('アップロード先ファイル名')
blob.upload_from_filename(filename=temp_local_filename)
blob.cache_control = 'no-cache'
blob.patch()
return "success"
blob.cache_control = 'no-cache'
blob.patch()
$ curl -v "https://storage.googleapis.com/バケット名/ファイル名" 2>&1 | grep -i Cache-Control
* h2 header: cache-control: no-cache
< cache-control: no-cache
upload.py
blob.metadata['Cache-Control'] = 'no-cache'
어떻게 설정했는지 확인해.bash
$ curl -v "https://storage.googleapis.com/バケット名/ファイル名" 2>&1 | grep -i Cache-Control
* h2 header: cache-control: public, max-age=3600
* h2 header: x-goog-meta-cache-control: no-cache
< cache-control: public, max-age=3600
< x-goog-meta-cache-control: no-cache
x-Google meta-cache-control로 설정되었습니다.콘솔에서 보더라도 기존 Cache-Control과 다른 항목은 값을 설정합니다.
참고 자료
Reference
이 문제에 관하여([Python] 클라우드 스토어에 올릴 대상을 수정하는 Cache-control), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ashcolor/items/06253c6be1c9fd21aae1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)