1

Endpoints APIの設定に問題があります。私は、サイト上でGoogleの例に、私自身から、使用するすべてのコードが同じトレースバックで失敗Google App EngineエンドポイントAPIの設定

WARNING 2016-11-01 06:16:48,279 client.py:229] no scheduler thread, scheduler.run() will be invoked by report(...) 
Traceback (most recent call last): 
File "/home/vladimir/projects/sb_fork/sb/lib/vendor/google/api/control/client.py", line 225, in start 
self._thread.start() 
File "/home/vladimir/sdk/google-cloud-sdk/platform/google_appengine/google/appengine/api/background_thread/background_thread.py", line 108, in start 
start_new_background_thread(self.__bootstrap,()) 
File "/home/vladimir/sdk/google-cloud-sdk/platform/google_appengine/google/appengine/api/background_thread/background_thread.py", line 87, in start_new_background_thread 
raise ERROR_MAP[error.application_error](error.error_detail) 
FrontendsNotSupported 
INFO  2016-11-01 06:16:48,280 client.py:327] created a scheduler to control flushing 
INFO  2016-11-01 06:16:48,280 client.py:330] scheduling initial check and flush 
INFO  2016-11-01 06:16:48,288 client.py:804] Refreshing access_token 
/home/vladimir/projects/sb_fork/sb/lib/vendor/urllib3/contrib/appengine.py:113: AppEnginePlatformWarning: urllib3 is using URLFetch on Google App Engine sandbox instead of sockets. To use sockets directly instead of URLFetch see https://urllib3.readthedocs.io/en/latest/contrib.html. 
AppEnginePlatformWarning) 
ERROR 2016-11-01 06:16:49,895 service_config.py:125] Fetching service config failed (status code 403) 
ERROR 2016-11-01 06:16:49,896 wsgi.py:263] 
Traceback (most recent call last): 
File "/home/vladimir/sdk/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle 
handler = _config_handle.add_wsgi_middleware(self._LoadHandler()) 
File "/home/vladimir/sdk/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler 
handler, path, err = LoadObject(self._handler) 
File "/home/vladimir/sdk/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 85, in LoadObject 
obj = __import__(path[0]) 
File "/home/vladimir/projects/sb_fork/sb/main.py", line 27, in <module> 
api_app = endpoints.api_server([SolarisAPI,], restricted=False) 
File "/home/vladimir/projects/sb_fork/sb/lib/vendor/endpoints/apiserving.py", line 497, in api_server 
controller) 
File "/home/vladimir/projects/sb_fork/sb/lib/vendor/google/api/control/wsgi.py", line 77, in add_all 
a_service = loader.load() 
File "/home/vladimir/projects/sb_fork/sb/lib/vendor/google/api/control/service.py", line 110, in load 
return self._load_func(**kw) 
File "/home/vladimir/projects/sb_fork/sb/lib/vendor/google/api/config/service_config.py", line 78, in fetch_service_config 
_log_and_raise(Exception, message_template.format(status_code)) 
File "/home/vladimir/projects/sb_fork/sb/lib/vendor/google/api/config/service_config.py", line 126, in _log_and_raise 
raise exception_class(message) 
Exception: Fetching service config failed (status code 403) 
INFO  2016-11-01 06:16:49,913 module.py:788] default: "GET/HTTP/1.1" 500 - 

マイapp.yaml 2.0ドキュメントの状態への移行新しいエンドポイントのように構成されています

- url: /_ah/api/.* 
    script: api.solaris.api_app 

main.py輸入アプリへのAPI:

api_app = endpoints.api_server([SolarisAPI,], restricted=False) 

私はこれらのバージョンでのGoogle Cloud SDKを使用します。

Google Cloud SDK 132.0.0 
app-engine-python 1.9.40 
bq 2.0.24 
bq-nix 2.0.24 
core 2016.10.24 
core-nix 2016.10.24 
gcloud 
gsutil 4.22 
gsutil-nix 4.22 

答えて

1

"FrontendsNotSupported"を削除するには、 "B *"インスタンスクラスを使用する必要があります。

https://cloud.google.com/endpoints/docs/frameworks/python/quickstart-frameworks-pythonの手順を実行すると、「例外:フェッチサービスの設定に失敗しました」というエラーが表示されなくなります。 Bradがすでに指摘しているように、「OpenAPI configuration」セクションとその結果の環境変数は、サービスの設定作業を行うために必要です。

+1

"B *"インスタンスクラスを使用する必要があります。 あなたはそれについてさらに情報を与えることができますか? – user362953

+0

@ user362953 appengineのサービスインスタンスには、アプリケーションに必要なクラスまたはリソース(CPU、メモリ)を指定するクラスがあります。 'https://cloud.google。com/appengine/docs/standard /#instance_classes' あなたはそれについてすべてを見つけることができます。 –

2

サービスのOpenAPI設定を生成してアップロードしようとしましたか? python library documentation"Generating the OpenAPI configuration file""Deploying the OpenAPI configuration file"のセクションを参照してください。

生成プロセスのステップ2では、PyPiパッケージが実行可能ファイルのアクセス権をすぐに保持しないため、コマンドにpython(たとえば、python lib/endpoints/endpointscfg.py get_swagger_spec ...)を追加する必要があることに注意してください。

+0

これは欠けているステップですが、私はこの問題のような環境に同じ問題があり、appengine.extを解決できないようです。 [issue](http://stackoverflow.com/questions/) 39926853/error-running-endpointscfg-py-get-swagger-spec) – dgmt

+0

@Brad app.yamlの右の 'env_variables'でも同じエラーが発生しています。 それはなぜそのようなことができますか? http://stackoverflow.com/questions/42310672/google-appengine-endpoints-error-fetching-service-config-failed-status-code-40詳細については、こちらをご覧ください。 – user362953

+0

私はこの質問に答えましたが、私がここで述べたことをコピーしています。「gcloudサービス管理の展開」のステップはおそらく期待どおりには機能しませんでした。私はそれをもう一度試み、すべてが正しく構成されていることを確認し、そのコマンドにエラー出力がないことを確認します。それが動作するかどうか私に教えてください! :) –

関連する問題