Application Integration でサポートされているコネクタをご覧ください。

Cloud Pub/Sub トリガー

Cloud Pub/Sub トリガーを使用すると、Pub/Sub ミドルウェアのイベントに基づいて統合を実行できます。

このトリガーを使用すると、パブリッシャーが選択したトピックにメッセージを書き込むたびに統合を実行できます。トピックは、インテグレーションと同じ Google Cloud プロジェクトに存在させることも、別の Google Cloud プロジェクトに存在させることもできます。このトリガーを実行すると、パブリッシュされたメッセージが CloudPubSubMessage 出力変数にも書き込まれます。この変数は、要件に応じて、下流のトリガーやタスクで使用できます。

準備

Cloud Pub/Sub トリガーを構成する前に、Google Cloud プロジェクトで以下の作業を行っていることを確認してください。

  • このトリガーを作成するユーザーにプロジェクト IAM 管理者roles/resourcemanager.projectIamAdmin)を割り当てます。
  • インテグレーションがある Google Cloud プロジェクトで Pub/Sub API を有効にします。
  • Pub/Sub トピックが存在することを確認します。新しい Pub/Sub トピックを作成します。
    1. Cloud コンソールで、Pub/Sub の [トピック] ページに移動します。

      Pub/Sub の [トピック] ページに移動する

    2. [トピックを作成] をクリックします。
    3. [トピック ID] フィールドに、一意のトピック名を入力します。
    4. [保存] をクリックします。

IAM ロールを使用したアクセス管理の詳細については、アクセス制御をご覧ください。

プリンシパルへのロールの付与について詳しくは、アクセス権の付与、変更、取り消しをご覧ください。

Cloud Pub/Sub トリガーを追加する

新規または既存の統合に Cloud Pub/Sub トリガーを追加する手順は次のとおりです。
  1. Google Cloud コンソールで [Application Integration] ページに移動します。

    Application Integration に移動

  2. ナビゲーション メニューで [統合] をクリックします。

    [統合リスト] ページが開き、Google Cloud プロジェクトで使用可能なすべての統合が一覧表示されます。

  3. 既存の統合を選択するか、[統合の作成] をクリックして新しい統合を作成します。

    新しい統合を作成する場合:

    1. [統合の作成] ペインで名前と説明を入力します。
    2. 統合のリージョンを選択します。
    3. 統合用のサービス アカウントを選択します。統合のサービス アカウントの詳細は、統合ツールバーの [統合の概要] ペインでいつでも変更または更新できます。
    4. [作成] をクリックします。

    統合エディタで統合が開きます。

  4. 統合エディタのナビゲーション バーで、[トリガー] をクリックして、使用可能なトリガーのリストを表示します。
  5. [Cloud Pub/Sub trigger] 要素をクリックしてデザイナーに配置します。

Cloud Pub/Sub トリガーを構成する

統合エディタの [Cloud Pub/Sub トリガー] 要素をクリックしてトリガー構成ペインを表示し、次のタスクを行います。

  1. [Pub/Sub topic] フィールドに、トリガーがリッスンするトピックを次の形式で指定します。
    projects/PROJECT_ID/topics/TOPIC_ID

    Google Cloud プロジェクトで使用可能なすべてのトピックを表示するには、[トピック] の [トピックの名前] 列をご覧ください。 別の Google Cloud プロジェクトからトピックを選択することもできます。

    以下を置き換えます。
    • PROJECT_ID: トピックが作成される Google Cloud プロジェクト。
    • TOPIC_ID: Pub/Sub トピックの ID。トピックは、インテグレーションと同じ Google Cloud プロジェクトに存在することも、別の Google Cloud プロジェクトに存在することもできます。
  2. 統合の呼び出しに使用するサービス アカウントを選択します。統合で作成した構成変数を選択することもできます。構成変数の値は、SERVICE_ACCOUNT_NAME@project-id.iam.gserviceaccount.com の形式でサービス アカウントのメールアドレスにする必要があります。例: application-integration-invoke@project123.iam.gserviceaccount.com

    構成変数の作成方法については、変数の作成をご覧ください。サービス アカウントの作成方法については、サービス アカウントの作成をご覧ください。

    構成変数を選択する場合は、構成変数が参照するサービス アカウントに必要なロールを付与する必要があります。ロールを付与する方法の詳細については、必要な IAM ロールをご覧ください。

    サービス アカウントがない場合は、[サービス アカウント] リストで [新規作成] をクリックしてサービス アカウントを作成します。

デフォルトでは、サブスクリプションの有効期限オプションnever expire に設定されています。有効期限を別の値に設定する場合は、Google Cloud Console で Pub/Sub サブスクリプション ページに移動し、サブスクリプションを編集します。

サービス アカウントに必要な IAM ロール

サービス アカウントを選択する際に [付与] をクリックすると、さまざまなサービス アカウントに次のロールが自動的に付与されます。

サービス アカウント IAM ロールが付与されました
Application Integration のデフォルトのサービス アカウント: service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com
  • Pub/Sub 編集者(roles/pubsub.editor
  • サービス アカウント ユーザー(roles/iam.serviceAccountUser

Pub/Sub トピックの Google Cloud プロジェクトが統合の Google Cloud プロジェクトと異なる場合、デフォルトのサービス アカウントにはトピックの Google Cloud プロジェクトで Pub/Sub 編集者のロールが必要です。

このトリガーに選択したサービス アカウント Application Integration の起動元( roles/integrations.integrationInvoker

トリガー出力

各イベントでは、Cloud Pub/Sub トリガーにより、下流のタスクで使用できる CloudPubSubMessage 出力変数が生成されます。変数は JSON 形式で、PubsubMessage 構造です。

考慮事項

  • Pub/Sub メッセージの最大サイズは 10 MB です。Pub/Sub のすべての制限事項については、Pub/Sub の割り当てと上限をご覧ください。
  • Pub/Sub はトピックに複数回同じメッセージを書き込む可能性があります。Pub/Sub のこの動作については、At-Least-Once 配信をご覧ください。したがって、メッセージがトピックに複数回書き込まれないように、べき等になるように統合を設計する必要があります。

    注: Pub/Sub メッセージは、メッセージ ヘッダーの message_id フィールドで一意に識別されます。

  • インテグレーションの公開を停止しても、メッセージの損失を防ぐために Pub/Sub サブスクリプションは削除されません。ただし、インテグレーションの公開済みのバージョンまたはすべてのインテグレーション バージョンを削除すると、Pub/Sub サブスクリプションも削除されます。

インテグレーション用のフィルタを使用してサブスクリプションを作成する

インテグレーションの特定のイベントを処理する Pub/Sub サブスクリプションのフィルタを設定する場合は、次の手順を行います。

  1. Cloud Pub/Sub トリガーが構成されたインテグレーションを公開します。この手順により、インテグレーション プロジェクトにサブスクリプションが作成されます。
  2. Google Cloud コンソールで、[サブスクリプション] ページに移動します。

    サブスクリプションに移動

  3. サブスクリプションを開き、サブスクリプション名を含むすべての詳細をコピーします。
  4. 既存のサブスクリプションを削除します。
  5. 手順 3 でコピーしたサブスクリプション名を含めて、削除したサブスクリプションのすべての詳細を使用して新しいサブスクリプションを作成し、新しいサブスクリプションにフィルタも追加します。

    新しく作成したサブスクリプションによって、フィルタされたメッセージとのインテグレーションがトリガーされます。

SLA の免責

Cloud Pub/Sub トリガーは、Pub/Sub プロダクトに依存しています。この依存関係は Application Integration の外部にあるため、Application Integration サービスレベル契約(SLA)の利用規約は Cloud Pub/Sub トリガーが正常に active 統合の実行を開始した場合にのみ適用されます。