2017-02-18 6 views
5

मैं Quickstart में चरणों को कार्यान्वित कर रहा हूं।Google AppEngine Endpoints त्रुटि: सेवा कॉन्फ़िगरेशन विफल करना विफल रहा (स्थिति कोड 404)

मैंने इस पर another question नोटिस किया था। मैंने दोहराया कि env_variables अनुभाग में app.yaml में ENDPOINTS_SERVICE_NAME और ENDPOINTS_SERVICE_VERSION के लिए सही मान हैं।

../_ah/api/explorer 'सेवाओं' के तहत कोई अंतराल नहीं दिखाता है।

यह त्रुटि क्या है और इसे ठीक करने के लिए कैसे करें?

त्रुटि लॉग दिखाता है:

(/base/data/home/runtimes/python27_experiment/python27_lib/versions/1/google/appengine/runtime/wsgi.py:263) 
Traceback (most recent call last): 
    File "/base/data/home/runtimes/python27_experiment/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 240, in Handle 
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler()) 
    File "/base/data/home/runtimes/python27_experiment/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler 
    handler, path, err = LoadObject(self._handler) 
    File "/base/data/home/runtimes/python27_experiment/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 85, in LoadObject 
    obj = __import__(path[0]) 
    File "/base/data/home/apps/s~test-app-129421/20170217t185546.399267289806711006/main.py", line 103, in <module> 
    api = endpoints.api_server([EchoApi]) 
    File "/base/data/home/apps/s~test-app-129421/20170217t185546.399267289806711006/lib/endpoints/apiserving.py", line 520, in api_server 
    controller) 
    File "/base/data/home/apps/s~test-app-129421/20170217t185546.399267289806711006/lib/google/api/control/wsgi.py", line 121, in add_all 
    a_service = loader.load() 
    File "/base/data/home/apps/s~test-app-129421/20170217t185546.399267289806711006/lib/google/api/control/service.py", line 110, in load 
    return self._load_func(**kw) 
    File "/base/data/home/apps/s~test-app-129421/20170217t185546.399267289806711006/lib/google/api/config/service_config.py", line 78, in fetch_service_config 
    _log_and_raise(Exception, message_template.format(status_code)) 
    File "/base/data/home/apps/s~test-app-129421/20170217t185546.399267289806711006/lib/google/api/config/service_config.py", line 126, in _log_and_raise 
    raise exception_class(message) 
Exception: Fetching service config failed (status code 404) 

उत्तर

1

तो सेवा config 404 के साथ विफल प्राप्त करने में कठिनाई है, तो gcloud service-management deploy कदम शायद अपेक्षा के अनुरूप काम नहीं किया। मैं फिर से यह कदम फिर से कोशिश करूँगा, यह सुनिश्चित कर रहा हूं कि सब कुछ सही तरीके से कॉन्फ़िगर किया गया है, और सुनिश्चित करें कि कमांड कोई त्रुटि नहीं है।

+0

धन्यवाद ब्रैड। मैं उस चरण के लिए लॉग देखूँगा। जो लोग यह ढूंढ रहे हैं कि मैं इसे कैसे ठीक कर सकता हूं: मैं टेम्पलेट के रूप में एक अलग कामकाजी उदाहरण का उपयोग कर समस्या से संपर्क करने के लिए हुआ और इसे इसके माध्यम से काम कर सकता था। – user362953

4

मेरे पास एक ही अपवाद ट्रेस था, सिवाय इसके कि मेरा 403 था। उम्मीद है कि दूसरों के लिए भी यही निराशा होती है।

Exception: Fetching service config failed (status code 403)

मैं अंत में पाया कि मेरा app.yaml में यह git क्लोन

ENDPOINTS_SERVICE_NAME: echo-api.endpoints.[YOUR-PROJECT-ID].cloud.goog

से था और त्वरित प्रारंभ केवल मुझे अपने-परियोजना-आईडी को बदलने के लिए निर्देश दिए।

मैं भी .appspot.com साथ .cloud.goog को बदलने के लिए किया था

+0

इनपुट के लिए धन्यवाद। मेरे मामले में, मेरे पास सही एंडपॉइंट पथ नहीं था। – user362953

+1

.appspot.com के साथ .cloud.goog को बदलने से मेरे लिए समस्या हल हो गई। धन्यवाद। –

+0

उनके दस्तावेज थोड़ी देर के लिए फ्यूबर था। यह डीबग करने के लिए बहुत भयानक था। – the0ther

0

तुम बस इन चरणों का पालन करने की जरूरत है:

  1. प्रदर्शन निम्न आदेश चलाकर सेवा कॉन्फ़िगरेशन ID:

    gcloud service-management configs list --service=echo-api.endpoints.[PROJECT-ID].cloud.goog 
    
  2. अपनी परियोजना आईडी के साथ [PROJECT-ID] को बदलें। स्क्वायर ब्रैकेट्स शामिल न करें।

  3. संपादित अजगर-डॉक्स-नमूने/appengine/मानक/अंतिमबिंदुओं-चौखटे-v2/गूंज निर्देशिका में app.yaml फ़ाइल, और env_variables अनुभाग में निम्न परिवर्तन करें:

    env_variables: 
        # Replace with your endpoints service name. 
        ENDPOINTS_SERVICE_NAME: "echo-api.endpoints.[PROJECT-ID].cloud.goog" 
        # Replace with the version Id of your uploaded Endpoints service. 
        ENDPOINTS_SERVICE_VERSION: "[YOUR-SERVICE-CONFIG-ID]" 
    
  4. पिछले चरण से अपनी सेवा कॉन्फ़िगरेशन आईडी के साथ अपनी प्रोजेक्ट आईडी और [आपकी-सेवा-CONFIG-ID] के साथ [PROJECT-ID] को बदलें। स्क्वायर ब्रैकेट्स शामिल न करें। उदाहरण के लिए:

    env_variables: 
        # Replace with your endpoints service name. 
        ENDPOINTS_SERVICE_NAME: "echo-api.endpoints.example-project.cloud.goog" 
        # Replace with the version Id of your uploaded Endpoints service. 
        ENDPOINTS_SERVICE_VERSION: "2016-12-14r1" 
    

तुम बस विकल्प पहले आदेश पर दिखाया से एक का चयन करने की जरूरत है।

1

मैं ऐप्लिकेशन कॉल myapp

पहले शो सेवाओं:

D:\projects\barcode\ebk>gcloud service-management configs list --service=myapp.appspot.com 
CONFIG_ID  SERVICE_NAME 
2017-06-29r3 myapp.appspot.com 
2017-06-29r2 myapp.appspot.com 
2017-06-29r1 myapp.appspot.com 
2017-06-29r0 myapp.appspot.com 

आप परिणाम में पहली पंक्ति देख सकते हैं 2017-06-29r3 myapp.appspot.com है, संपादित app.yaml:

env_variables: 
    # The following values are to be replaced by information from the output of 
    # 'gcloud service-management deploy swagger.json' command. 
    ENDPOINTS_SERVICE_NAME: myapp.appspot.com 
    ENDPOINTS_SERVICE_VERSION: 2017-06-29r3 

यह मेरे लिए काम करता

संबंधित मुद्दे