hack01-ios のサーバー
35.221.100.76:18080
$ sh ./run-local.sh
$ sh ./grpc-code-gen/code-gen-go.sh ./protobuf ./apiServer/pb
$ ssh-keygen -t rsa -f my-ssh-key -C [任意のsshユーザーネーム]
-
GOOGLE_PROJECT_ID
-
GOOGLE_COMPUTE_REGION
例: asia-northeast1
-
GOOGLE_COMPUTE_ZONE
例: asia-northeast1-a
-
GOOGLE_SERVICE_KEY
サービスアカンウトを base64 エンコードした文字列
base64 -i [.json file path]
-
SSH_USERNAME
ssh ユーザーネーム
-
SSH_KEY
ssh 秘密鍵を base64 エンコードした文字列
base64 -i my-ssh-key
-
SSH_KEY_PUB
ssh 公開鍵を base64 エンコードした文字列
base64 -i my-ssh-key.pub
-
SSH_HOST
ssh 接続する GCE サーバーの外部 IP terraform でインスタンス作成した後判明する外部 IP
-
SSH_PORT
ssh 接続のポート 空いていればなんでもよい。基本は 22 だがセキュリティー上変更した方がいい
apiServer 配下に go の api ロジックが全て入っている
apiServer
|
├── adopter
├── models
├── pb
├── responses
└── service
-
adopter
db から引っ張ってきたデータを gRPC の struct に変換する -
models
db からデータを引っ張ってきたり作成したりする -
pb
gRPC で自動作成されるファイルをおく -
response
error レスポンスなど固定のレスポンスを入れておく -
service
Router みたいな役割を持つファイルをおく
grpcurlを使う(ちゃんと見たほうがいいかも w)
# grpcurl のインストール
$ brew install grpcurl
# インストール確認
$ grpcurl -help
# grpcurl -plaintext localhost:18080 subscription.SubscriptionService/任意のメソッド名
# 以下例
$ grpcurl -plaintext localhost:18080 subscription.SubscriptionService/GetSubscriptions
{
"iconImage": [
{
"iconId": "1",
"iconUri": "https://images-fe.ssl-images-amazon.com/images/I/411j1k1u9yL.png"
},
{
"iconId": "2",
"iconUri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOEAAADhCAMAAAAJbSJIAAAAeFBMVEX/AAD/////u7v/6+v/0ND/aWn/mZn/zc3/9fX/h4f/5ub/+Pj/tbX/t7f/oKD/ODj/Kir/3d3/wMD/MzP/UVH/1dX/yMj/qan/lJT/TU3/gID/Fxf/PT3/eHj/Dg7/jY3/ZWX/Q0P/XV3/IiL/cXH/q6v/X1//eXnZjuaVAAAE20lEQVR4nO2d63aiQAyAOyKgXAVF0Lbrtbvv/4YLZ9didUDQQEjI9689RyffwcCQub0p7rxhB9A5YkgfMaSPGNJHDOkjhvQRQ/qIIX3EkD5iSB8xpI8Y0kcM6SOG9BFD+oghfcSQPmJIHzGkjxi+jHEhml4Tff+/6wBeMXTdWU6SrD0/DQIry3Z709yEYbh4e45F/tmNae53WWYFQep76yQpmnDd3gxdw4mi2LPm27O5OZzenzRpy/vpsDHP27nlxVHkGO18Gxo6dmx9HjfLvpzqeF9ujp9WbDtQhnZqPvur65qFmdovGjrBCtviIaug/mLWGdp77Ogbsq+7ktWG0fAvX8kqam+4xQ66JduWhk6IHXFrwop01BuuscN9inVzQw871ifxmhr62JE+jd/MMMGO8wWSJoYudpQvcd9nvTc8Ygf5EsfHhlTvMhfu7ja3hu4JO8QXOd3+Tm8NA+wIXyZ4YIgdHwD1htSzsMCrNTxghwfAoc7QwI4OBKPGcIIdHAiTGsMzdnAgnGsMP7CDA+Gj2tDBjg0Ip9LQxg4NCLvS0MIODQir0vATOzQgPisNedxobm4114Yz7MjAmFUY8ujRFBgVhjRriDrWFYYpdmBgpBWGXB4WPx8X14Y8eqUF5wrDJXZgYCwrDLHjAmSshnwehz8eiFeGlMcrbkm0hjF0M4hTOGKtIfig2iRGm37jaw3Ba6UTpTLo72yIpzWcQzdT1LwMnG7EXGtoQjfzr6qXbKC/twGm1hB84PBSt4x/QX/zQ45aQ/A3/LIy23uf/kNrCH5zv6o9Gz2XgBa9GyoV9ZqOWsMZeLb8HD9QcY/Dy79mGIZ9pqPWMAJv5s5QGb3NB4yQDPub06kznIK3ojPM07GXDvkU0VCpoIcegM4QfuCpylDNwLvAd5TDTyiGSjldp6POEL7iXWOYN9dtZa+sepeGX+Ct1BoqlXaZjl8aQ/ia/gPDTtOxrOtjGubp2NlUT53hDryVx4Z5OnY0KrvTGML/ZJoY5vnfSTqWZQx8w27ScVCGeTr+Bm9bZwjf7W9smKcj9KTIcpFQaQheamtjqJQHm45lsW0whsBpMkhDZezh2h6mYf4GB5aOQzVUygcazBmuoVIwd5zhGnK/htzzkP29lPvzsIc+Da9+6R+NIf93C3k/bM/Q3vH512n419r410v517z5j1vwH3viP37IfwyY/zg+/7kY/OfT8J8TxX9eG/+5iSOYX8p/jjD/ed785+rzX2/Bf80M/3VP/Neu8V9/yH8NKf91wCMw5L8en/+eCvz3xeC/twn//Wn4PBCr9hjiv08U/72+RrBfG5fHRfWee/z3TeS/9yWTW03N/qVMeqZ1e9Dy30eYR6+mbi9o/vt5s9iT3a815FDJuDW6+Zv/2Qj8z7cgn4kPzygZwTkzIzgriPT4RaPznij33XSzsHSGZO82jc9do1pXbHF23gjOP1T8z7BUIziHVPE/S7aA+3nA/68k6zOdy4vJ+Vzuaxifra73dYvD65Nk7flpEFhZttub5ioMw2d/1Yv8syvT3O+yzAqC1PfsJCmacNs5wRk2wrgQTa+Jvv/fdQCdG6IjhvQRQ/qIIX3EkD5iSB8xpI8Y0kcM6SOG9BFD+oghfcSQPmJIHzGkjxjSRwzpI4b0EUP6iCF9/gKCNIdvAhrz/wAAAABJRU5ErkJggg=="
},
{
"iconId": "3",
"iconUri": "https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRuX7izxLGFnXQ7k79lGWEew3njHyI2NCmkq3-y_RN3An1lS7cj\u0026usqp=CAU"
}
]
}