gcloud ツールで Pub/Sub を行う


GCP の gcloud ツールで Pub/Sub を行います。

gcloud init で configuration の作成が終っているものとします。

$ gcloud init
Welcome! This command will take you through the configuration of gcloud.

Settings from your current configuration [default] are:
core:
  account: [email protected]
  disable_usage_reporting: 'True'
  project: my-project-sep-10-2017

Pick configuration to use:
 [1] Re-initialize this configuration [default] with new settings 
 [2] Create a new configuration
Please enter your numeric choice:

topic_1 というトピックを作成します。

$ gcloud pubsub topics create topic_1
Created topic [projects/my-project-aug-29-2016/topics/topic_1].

subscription_1 というサブスクリプションを作成します。

$ gcloud pubsub subscriptions create --topic topic_1 subscription_1
Created subscription [projects/my-project-aug-29-2016/subscriptions/subscription_1].

topic_1 に メッセージを publish します。

$ gcloud pubsub topics publish topic_1  --message "Good Morning"
messageIds:
- '33129870297757'

subscription_1 からメッセージを取ります。

```text
$ gcloud pubsub subscriptions pull --auto-ack subscription_1
┌──────────────┬────────────────┬────────────┐
│     DATA     │   MESSAGE_ID   │ ATTRIBUTES │
├──────────────┼────────────────┼────────────┤
│ Good Morning │ 33129870297757 │            │
└──────────────┴────────────────┴────────────┘

別のメッセージを topic_1 に送ります。

$ gcloud pubsub topics publish topic_1  --message "Hello World!"
messageIds:
- '33123573760843'

subscription_1 からメッセージを取ります。

$ gcloud pubsub subscriptions pull --auto-ack subscription_1
┌──────────────┬────────────────┬────────────┐
│     DATA     │   MESSAGE_ID   │ ATTRIBUTES │
├──────────────┼────────────────┼────────────┤
│ Hello World! │ 33123573760843 │            │
└──────────────┴────────────────┴────────────┘

トピックの一覧

gcloud pubsub topics list

topic_1 のサブスクリプションの表示

gcloud pubsub topics list-subscriptions topic_1

サブスクリプションの一覧

gcloud pubsub subscriptions list

トピック と サブスクリプションを GUI で確認することもできます。

トピック (topic_1) の削除

gcloud pubsub topics delete topic_1

サブスクリプション (subscription_1) の削除

gcloud pubsub subscriptions delete subscription_1