Google Cloud Pub/Subとの連携

Google Cloud PlatformのプロダクトであるGoogle Cloud Pub/Subへ、通信モジュールからのデータを送信することを可能にします。

設定の概要について

  • Google Cloud Platformのサービスアカウントを作成し、秘密鍵を含むJSONをsakura.ioへ登録する必要があります
  • sakura.ioからGoogle Cloud Pub/SubへPublishする際に利用するTopicを作成しておく必要があります
    • 上記のサービスアカウントに対して、このTopicへのPublishを行うための権限を付与する必要があります

事前準備

認証用のJSON作成方法

Google Cloud Platform上でPublishを行う為に、サービスアカウントに紐付いたJSON形式のサービスアカウントキーを取得します。

Google Cloud Platformのコンソール画面より、「IAMと管理」→「サービスアカウント」をクリックします。

gcp-account-1

「サービスアカウントを作成」をクリックします。

gcp-account-2

「サービスアカウント名」に任意の文字列を入れ、作成を選択します。 (権限は後ほどTopicごとに設定するため、ここでは役割を指定する必要はありません。)

../../../../_images/gcp-account-3.png

サービスアカウント作成後、「オプション」から「キーを作成」をクリックします。

gcp-account-5

「キーのタイプ」がJSONであることを確認した上で「作成」を押し、JSON形式のサービスアカウントキーをダウンロードします。

gcp-account-6

Topicの作成と権限の設定

sakura.ioからのメッセージを受けるためのTopicを作成します。 Google Cloud Pub/Subを開きます。

gcp-pubsub-pub-1

初めて開いた場合には、APIを有効化する必要があります。

gcp-pubsub-pub-2

Topic の作成を行います。

gcp-pubsub-pub-3

Topic名は任意のものを入力し、作成します。

gcp-pubsub-pub-4

作成したTopicの権限設定を開きます。

gcp-pubsub-pub-5

メンバーとして、上で作成したサービスアカウント名を入力し、権限として Pub/Sub パブリッシャー を選択し、追加をクリックします。

gcp-pubsub-pub-6

コントロールパネルの操作方法

Google Cloud Pub/Subの連携サービス追加

連携サービスの追加を行いたいプロジェクトの 詳細 ボタンをクリックします。

プロジェクトの詳細ボタンをクリックして、プロジェクトの設定を開始します。

連携サービス をクリックします。

連携サービスをクリックして、連携サービスの詳細画面を開きます。

連携サービス追加 をクリックします。

連携サービス追加をクリックして、連携サービスを追加します

連携サービスの選択画面でGoogle Cloud Pub/Sub Publisherをクリックします。

createawsiot1

以下の項目を入力し、作成ボタンをクリックします。

名前:任意のサービス連携名
Publish先のTopic名:上記で設定したGoogle Cloud Pub/Sub上のTopic名
サービスアカウントキー (JSON形式):Google Cloud Platform上で作成したJSON形式のサービスアカウントキー
createawsiot2

注意事項

連携サービス作成、更新を行う際、正しい認証用JSONであるか、必要な権限が付与されているかの検証のために、以下のようなメッセージを送信します。 {"type": "keepalive", "datetime": "2017-12-12T08:46:12.158281Z"}

Subscriberの作成

sakura.ioからPublishされたメッセージを確認するためには、Subscriberを作成する必要があります。 こちらを参考に、Topicに対してSubscriberを作成してください。