Friday 15 May 2015

google app engine - ForbiddenError when attempting to write file to GCS from GAE python App -


मेरे पास यह कोड है:

  def save_to_gcs (स्वयं, आईएमजी, आईएमजी_ओबीजे): ' '' छवि डेटा, छवि मेटाडेटा ऑब्जेक्ट - & gt; ब्लॉब कुंजी एक छवि और छवि मेटाडेटा को देखते हुए इसे जीसीएसटी बाल्टी '' 'बाल्टी =' / एफू 'फ़ाइल नाम = बाल्टी +' / '+ str (आईएमजी_ओबीजे [' फाइलनाम '] में भंडारित करती है) self.tmp_filenames_to_clean_up = [] logging.info ( 'फ़ाइल बनाना% s \ n'% img_obj [ 'फ़ाइल नाम']) write_retry_params = gcs.RetryParams (backoff_factor = 1.1) gcs_file = gcs.open (फ़ाइल नाम, 'w', content_type = img_obj [ 'माइम प्रकार'], retry_params = write_retry_params) gcs_file.write (img) gcs_file.close () self.tmp_filenames_to_clean_up.append (फ़ाइल का नाम) वापसी blobstore.create_gs_key ( '/ जी एस /' + फ़ाइल का नाम)   

लेकिन यह इस के साथ विफल रहता है त्रुटि:

  Google Storage से स्थिति [201] की अपेक्षा करें रिस्पांस हेडर: '' सामग्री लंबाई ':' 145 ',' के माध्यम से ':' एचटीटीपी / 1.1 जीडब्ल्यूए ',' एक्स-गूगल-कैश-नियंत्रण ':' रिमोट-फ़ेच ',' समाप्त हो गया ': 'शुक्र, 01 जनवरी 1990 00:00:00 जीएमटी', 'सर्वर': '7 जून 2013 11:30:13 (1370629813)' पर निर्मित एचटीपी अपलोड सर्वर ',' प्रोगा ':' नो कैश ',' कैश- नियंत्रण ':' नो-कैश, नो-स्टोअर, अवश्य-रिडिएटेट ',' डेट ':' गुरु, 20 जून 2013 23:13:55 GMT ',' सामग्री-प्रकार ':' एप्लिकेशन / एक्सएमएल; charset = UTF-8 '} Traceback (सबसे हाल कॉल पिछले): फ़ाइल "/python27_runtime/python27_lib/versions/third_party/webapp2-2.5.1/webapp2.py", लाइन 1536, __call__ आर.वी. = self.handle_exception में (अनुरोध, प्रतिक्रिया, ई) फ़ाइल "/python27_runtime/python27_lib/versions/third_party/webapp2-2.5.1/webapp2.py", लाइन 1530 __call__ आर.वी. में = self.router.dispatch (अनुरोध, प्रतिक्रिया) फ़ाइल "/ python27_runtime / python27_lib / संस्करण / तीसरे / पक्ष / वेबएप 2 -2.5 / वेबपेज ", लाइन 1278, डिफॉल्ट_डिसीपर्चर वापसी मार्ग में। अनुरोधकर्ता (एड, प्रतिक्रिया) फ़ाइल" /python27_runtime/python27_lib/versions/third_party/webapp2-2.5.1/webapp2.py " , लाइन 1102, __call__ रिटर्न हैंडलर में। डिसपैच () फ़ाइल "/python27_runtime/python27_lib/versions/third_party/webapp2-2.5.1/webapp2.py", पंक्ति 572, प्रेषण वापसी में self.handle_exception (e, self.app। डिबग) फाइल "/python27_runtime/python27_lib/versions/third_party/webapp2-2.5.1/webapp2.py", पंक्ति 570, प्रेषण वापसी पद्धति में (* आर्ग्स, ** kwargs) फ़ाइल "/ base / data / home / apps / एस ~ foo / ५.३६८२३१५७८७१ 6365248 / main.py ", पंक्ति 409, बाद में blob_key = self.save_to_gcs (img, img_obj) # छवि को जीसीएस बाल्टी में सहेजें। एक blob_key फ़ाइल "/base/data/home/apps/s~foo/5.368231578716365248/main.py", लाइन 448, save_to_gcs retry_params = write_retry_params में) फाइल "/base/data/home/apps/s~foo/5.368231578716365248 रिटर्न /external/cloudstorage/cloudstorage_api.py ", रेखा 69, खुला वापसी storage_api.StreamingBuffer (एपीआई, फ़ाइल नाम, content_type, विकल्प) में फाइल" /base/data/home/apps/s~foo/5.368231578716365248/external/cloudstorage/storage_api .py ", पंक्ति 527, __init__ errors.check_status में (स्थिति, [201], हेडर) फ़ाइल" /base/data/home/apps/s~foo/5.368231578716365248/external/cloudstorage/erros.py ", पंक्ति 99, चेक_स्टैट में raisebiddenError raise (msg) निषिद्ध त्रुटि: Google Storage से स्थिति [201] की अपेक्षा करें रिस्पांस हेडर: '' सामग्री लंबाई ':' 145 ',' के माध्यम से ':' एचटीटीपी / 1.1 जीडब्ल्यूए ',' एक्स-गूगल-कैश-नियंत्रण ':' रिमोट-फ़ेच ',' समाप्त हो गया ': 'शुक्र, 01 जनवरी 1990 00:00:00 जीएमटी', 'सर्वर': '7 जून 2013 11:30:13 (1370629813)' पर निर्मित एचटीपी अपलोड सर्वर ',' प्रोगा ':' नो कैश ',' कैश- नियंत्रण ':' नो-कैश, नो-स्टोअर, अवश्य-रिडिएटेट ',' डेट ':' गुरु, 20 जून 2013 23:13:55 GMT ',' सामग्री-प्रकार ':' एप्लिकेशन / एक्सएमएल; Charset = UTF-8 '}   

उस त्रुटि को समझने और समाधान के साथ आने में कोई मदद काफी सराहना की जाएगी।

धन्यवाद

ऐसा ही मेरे साथ हुआ और यह मुझे परेशान कर रहा था मैं इसे किसी और चीज के तहत दिए गए चरणों का पालन करके काम कर रहा हूं। एक जोड़े ने हालांकि नोट किया:

  • नंबर 2 के लिए, सुनिश्चित करें कि आप सेवाओं के तहत जीसीएस पर जाएं और चालू करें
  • संख्या 5 के लिए, अपनी परियोजना का चयन करें, सेटिंग रिंच पर क्लिक करें और टीमों को क्लिक करें अपनी gserviceaccount.com चीज़ यहां जोड़ें।
  • 5 नंबर के लिए, मुझे लगता है कि आपको एसीएल फाइलों को जीएसयूटीएल के साथ संपादित करना होगा दिए गए वैकल्पिक निर्देशों का पालन करें।

    यह मेरे लिए काम करना चाहिए क्योंकि यह मेरे लिए किया था।

No comments:

Post a Comment