Cloud Pub/Sub トリガーを使用すると、Pub/Sub ミドルウェアのイベントに基づいて統合を実行できます。
このトリガーを使用すると、選択したトピックにパブリッシャーがメッセージを書き込むたびに統合を実行できます。このトリガーを実行すると、パブリッシュされたメッセージが CloudPubSubMessage 出力変数にも書き込まれます。この変数は、要件に応じて下流のトリガーまたはタスクで使用できます。
始める前に
Cloud Pub/Sub トリガーを構成する前に、Google Cloud プロジェクトで以下の作業を行っていることを確認してください。
- デフォルトのサービス アカウント(
service-PROJECT_NUMBER@gcp-sa-apigee.iam.gserviceaccount.com
)に、次の IAM ロールを割り当てます。 - Cloud Pub/Sub トピックが存在することを確認します。新しい Pub/Sub トピックを作成します。
- Cloud コンソールで、Pub/Sub の [トピック] ページに移動します。
- [トピックを作成] をクリックします。
- [トピック ID] フィールドに、一意のトピック名を入力します。
- [保存] をクリックします。
IAM ロールを使用したアクセス管理の詳細については、アクセス制御に関する記事をご覧ください。
プリンシパルへのロールの付与について詳しくは、アクセス権の付与、変更、取り消しをご覧ください。
Cloud Pub/Sub トリガーを追加する
新規または既存の統合に Cloud Pub/Sub トリガーを追加する手順は次のとおりです。- Apigee UI で、Apigee 組織を選択します。
- [Develop] > [Integrations] の順にクリックします。
- 既存のインテグレーションを選択するか、[Create Integration] をクリックして新しいインテグレーションを作成します。
新しいインテグレーションを作成する場合:
- [Create Integration] ダイアログで名前と説明を入力します。
- サポートされているリージョンのリストから、インテグレーションのリージョンを選択します。
- [Create] をクリックします。
統合デザイナーで統合が開きます。
- 統合デザイナーのナビゲーション バーで、[+Add a task/trigger] > [トリガー] をクリックして、使用できるタスクのリストを表示します。
- [Cloud Pub/Sub trigger] 要素をクリックしてデザイナーに配置します。
Cloud Pub/Sub トリガーを構成する
統合エディタで [Cloud Pub/Sub trigger] 要素をクリックしてトリガー構成ペインを表示し、次のタスクを行います。
トリガーがリッスンするトピックを [Pub/Sub トピック] フィールドに次の形式で指定します。
projects/PROJECT_ID/topics/TOPIC_ID
Google Cloud プロジェクトで使用可能なすべてのトピックを表示するには、[トピック] の [トピックの名前] 列をご覧ください。
次のように置き換えます。
PROJECT_ID
: トピックが作成される Google Cloud プロジェクト。TOPIC_ID
: Pub/Sub トピックの ID。
トリガー出力
各イベントでは、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 サブスクリプションも削除されます。