コンテンツにスキップ

Pub/Sub Emulator を使ってみた

Pub/Sub Emulator を使ってみたので、そのメモ。

Pub/Sub Emulator とは

アプリケーションをローカルで開発してテストするには、Pub/Sub エミュレータを使用できます。これにより、本番環境の Pub/Sub サービスのローカル エミュレーションを可能にします。Pub/Sub エミュレータは Google Cloud CLI を使用して実行します。 エミュレータに対してアプリケーションを実行するには、まずエミュレータを起動し、環境変数を設定します。アプリケーションは、本番環境の Pub/Sub サービスではなくエミュレータと通信する必要があります。作成されたリソースとエミュレータに公開されたメッセージは、エミュレータ セッションの存続期間にわたって持続されます。

インストール

公式ドキュメントに沿ってインストールする。

Pub/Sub エミュレータを使用する前に、次の前提条件を満たす必要があります。

  • Python 開発環境を設定します。
  • JDK をインストールします。
  • Google Cloud CLI をインストールします。
  • Cloud クライアント ライブラリを使用してアプリケーションをビルドする。
gcloud components install pubsub-emulator
gcloud components update

起動

gcloud beta emulators pubsub start

このコマンドで Pub/Sub のエミュレータがローカルマシン上で起動する。Google Cloud 上にリソースを作ることなく topic や subscription を作成したり、publish/subscribe を試したりできる。

環境変数の設定

エミュレータを起動した後、アプリケーションが Pub/Sub ではなくエミュレータに接続するように環境変数を設定する必要があります。これらの環境変数は、アプリケーションの実行に使用するマシンに設定します。

環境変数はエミュレータを開始するたびに設定する必要があります。環境変数は、動的に割り当てられるポート番号に依存しています。この番号は、エミュレータを再起動するたびに変わる可能性があります。

$(gcloud beta emulators pubsub env-init)

動作確認

公式ドキュメントに沿って作業を進めると、topic と subscription を作成し、メッセージの publish/subscribe ができた。