2016-11-10 3 views
1

GAE에 애플리케이션을 배포하려고합니다. 내가 스크립트를 로컬로 실행하고 같이만큼 잘 작동Python이 Google Cloud Storage에 파일을 전송하는 중입니다.

urlretrieve(img_url,os.path.join(os.getcwd(),img_dir,str(img_name) + '.jpg')) 

(로컬 이미지 저장),하지만 난 찾을 수없는 나는 다음 urllib.request 패키지에서 urlretrieve 기능을 사용하여
내 파이썬 스크립트 다운로드 이미지 GCS와 동일한 작업을 수행 할 수있는 대안.

만약 누군가가 이것을 달성하는 방법을 가르쳐 주시면 감사하겠습니다.

감사합니다.

+0

어떻게 작동하지 않습니까? 너 오류가있어? 어떤 오류? –

답변

2

documentation은 몇 가지 간단한 방법을 사용하여 Cloud Storage 버킷을 읽고 쓰는 방법을 보여줍니다.

urlretrieve 대신 이미지의 콘텐츠를 가져 와서 Cloud Storage의 파일에 응답을 작성하면됩니다.

import cloudstorage as gcs 

def create_file(self, filename, contents, mime_type='image/jpeg'): 

    write_retry_params = gcs.RetryParams(backoff_factor=1.1) 
    gcs_file = gcs.open(filename, 
         'w', 
         content_type=mime_type, 
         retry_params=write_retry_params) 
    gcs_file.write(contents) 
    gcs_file.close() 

    # Maybe do other too stuff like make the file publicly 
    # accessible 

그리고 파일을 작성하는 전화 :

image_binary = urllib.urlopen(img_url).read() 

그리고는 당신이 약간 클라우드 스토리지 샘플을 수정 말한다.

+0

예상대로 작동 했음 :) 추신 : 늦게 답장을 드려 죄송합니다. –

관련 문제