Cloud Endpointsを試してみました

この記事は公開されてから半年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。ヒラヤマンです。

今朝GCP Japan Blogを見てみたら、Cloud Endpointsが正式リリースのアナウンスが出ていました。

ドキュメントに従って、お試ししてみたところ、なかなか詰まるところが多かったので、実際のお試し手順を載せておこうと思います。

[Project ID]のところは、実際のGCPのプロジェクトのIDに置き換えてください。

開発環境には、Compute Engineで新規にCentOS7を作って1から構築しました。small以上のスペックが良いです。microだとメモリ不足になるので。

※CentOS6より7のほうがSDKをインストールする手順が簡略できるので。

新規にインスタンスを起動したら、まずまっさきにSELinuxをdisabledに変更

1.vi /etc/sysconfig/selinux

SELINUX=disabled

2.reboot

3.yum groupinstall “Development Tools”

4.yum install python-devel

5.yum install python-pip git

6.pip install –upgrade pip

7.vi /usr/lib64/google-cloud-sdk/lib/googlecloudsdk/core/config.json

disable_updaterをfalseに編集して保存

8.gcloud init

9.gcloud components update

10.gcloud components install app-engine-python

11.gcloud config set project [Project ID]

12.git clone https://github.com/GoogleCloudPlatform/python-docs-samples

13.cd python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo

14.mkdir lib

15.pip install -t lib google-endpoints –extra-index-url=https://gapi-pypi.appspot.com/admin/nurpc-dev –ignore-installed

16.export ENDPOINTS_GAE_SDK=/usr/lib64/google-cloud-sdk/platform/google_appengine

17.python lib/endpoints/endpointscfg.py get_swagger_spec main.EchoApi –hostname echo-api.endpoints.[Project ID].cloud.goog

※WARNINGが出ますが、無視して続けます

18.gcloud service-management deploy echov1openapi.json

※WARNINGが出ますが、無視して続けます

Service Configuration with version “[2017-03-03r0]” uploaded for service “echo-api.endpoints.[Project ID].cloud.goog”

と返ってくるので、2017-03-03r0の部分をメモしておく

19.vi app.yaml

  ENDPOINTS_SERVICE_NAME: echo-api.endpoints.[Project ID].cloud.goog
  ENDPOINTS_SERVICE_VERSION: 2017-03-03r0

という感じに編集して保存

20.gcloud app deploy

21.curl -H “Content-Type: application/json” -X POST -d ‘{“content”:”echo”}’ https://[Project ID].appspot.com/_ah/api/echo/v1/echo

22.ブラウザでエンドポイントを確認してください

こんな感じになっているはずです

Googleのドキュメントに一部誤記があるような気がします。このブログを参考にしてくれるとうれしいです!

では、また次回!

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.