こんにちは。ヒラヤマンです。
今朝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
1 |
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
1 2 |
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のドキュメントに一部誤記があるような気がします。このブログを参考にしてくれるとうれしいです!
では、また次回!
投稿者プロフィール
最新の投稿
- AWS2021年12月2日AWS Graviton3 プロセッサを搭載した EC2 C7g インスタンスが発表されました。
- セキュリティ2021年7月14日ゼロデイ攻撃とは
- セキュリティ2021年7月14日マルウェアとは
- WAF2021年7月13日クロスサイトスクリプティングとは?