Google Cloud Pub/Sub over HTTP Gateway server.
cmd/gateway
のデバッグ機能を有効にするかどうか
true
false
<= デフォルト値
cmd/gateway
のHTTPサーバのBindAddress
0.0.0.0:8089
<= デフォルト値
Google Service AccountファイルをBase64でエンコードしたもの Google Cloud Pub/Subを利用可能なサービスアカウントを設定してください
Google Cloud Pub/Subを利用するためのGoogle Cloud PlatformのProject IDを設定してください
GATEWAY_SERVER_GOOGLE_SERVICE_ACCOUNT_BASE64
で設定したサービスアカウントと同じProject IDを設定してください
Cloud Pub/Sub emulator
を利用する場合は設定してください
docker-composeで実行しているpubsub_emulator
サービスのHost
を指定してください
$ gcloud beta emulators pubsub env-init
と同じ値になります
この値を設定すると強制的にエミュレーターへ接続を試みます
gen/http/openapi.yaml
にAPIスキーマが保存されているので使い方はそれを参照
gateway-server
はプライベートネットワーク内でのみ利用してください
パブリックネットワークを考慮した作りにはなっていません
パブリックネットワークで利用する場合はプロキシなどで前段に認証機構を備えるようにしてください
docker-composeで実行しているpubsub_emulator
サービスのHost
を指定してください
$ gcloud beta emulators pubsub env-init
と同じ値になります
gateway-server
でパブリッシュするときのTopic
と同じものを指定してください
指定したTopic
が未作成の場合は自動で作成されます
PUBSUB_TOPIC
と関連づいたSubscription
を指定してください
指定したSubscription
が未作成の場合は自動で作成されます
Google Cloud Pub/Subを利用するためのGoogle Cloud PlatformのProject IDを設定してください
GATEWAY_SERVER_GOOGLE_SERVICE_ACCOUNT_BASE64
で設定したサービスアカウントと同じProject IDを設定してください
realize
でファイル監視を行い、更新がある都度リビルドし再実行する仕組みになっているため、docker-compose up
を行えば、そのままコードを変更し確認することができます
http
プロトコルでCloud Pub/Sub
を使えるようにするためのゲートウェイ
gen/http/openapi.yaml
にAPIスキーマが保存されているので使い方はそれを参照
gateway-server
のAPIクライアントCLI
Cloud Pub/Subエミュレータ
に接続し、gateway-server
でパブリッシュしたメッセージを表示させます
デバッグ用途のみで利用してください
$ docker-compose down -v && docker-compose build && docker-compose up
TODOs.md
を参照