Pub/Sub 通知をリッスンする

リファレンス アーキテクチャの例

予算アラートに関するプログラムによる通知を使用して費用管理レスポンスを自動化する例を示した図
図 1: 予算アラートを使用して、プログラムによる通知に Pub/Sub を使用して費用管理レスポンスを自動化し、Cloud Run functions でレスポンスを自動化する例。

このドキュメントでは、Cloud Run functions の関数トリガーを使用して Pub/Sub トピックをサブスクライブし、プログラムによる予算通知をリッスンする方法について説明します。サブスクライバーがない場合、公開されたメッセージは Pub/Sub で破棄され、後で取得することはできません。このドキュメントでは、次のタスクを行う方法を学びます。

  1. 通知をリッスンする Cloud Run functions の関数を作成する。
  2. Cloud Run functions の関数のイベントを表示する。
  3. Cloud Run functions の関数をテストする。

始める前に

始める前に、次のタスクを完了する必要があります。

  1. 予算を作成する
  2. プログラムによる通知を設定する

Cloud Run functions の関数を作成する

Cloud Run functions の関数を作成するには、次の操作を行います。

  1. Google Cloud コンソールで、Cloud Run functions ページに移動します。

    Cloud Run functions に移動

  2. [サービスの作成] をクリックします。

  3. [インライン エディタで関数を作成する] を選択します。

  4. 予算通知に意味のあるサービス名を入力します。

  5. Cloud Run functions の関数を実行する [リージョン] を選択します。関数をデプロイした後にこの設定を編集することはできません。

  6. [トリガーを追加] をクリックして、[Cloud Pub/Sub] を選択します。

  7. 入力を求めるメッセージが表示されたら、必要な API を有効にします。

  8. [Eventarc トリガー] パネルで、次の手順を完了します。

    1. トリガーの名前を入力します。
    2. [トリガーのタイプ] を [Google のソース] に設定します。
    3. [イベント プロバイダ] を [Cloud Pub/Sub] に設定します。
    4. 予算で構成した Cloud Pub/Sub トピックを選択します。
    5. リージョンを選択します。
    6. [トリガーを保存] をクリックします。
  9. 必要に応じて、[Identity-Aware Proxy]、[課金]、[サービスのスケーリング]、[Ingress]、[コンテナ、ボリューム、ネットワーキング、セキュリティ] の設定を編集し、[作成] をクリックします。

  10. インライン エディタを使用してコードを記述するか、通知の処理方法を関数に指示するファイルをアップロードします。

    コードサンプルについては、次の例をご覧ください。

    コードが受け取る通知の詳細については、通知形式をご覧ください。

  11. [関数のエントリ ポイント] を、実行する正しい関数に設定します。

  12. [デプロイ] をクリックします。

Cloud Run functions の関数のイベントを表示する

Cloud Run functions の関数をデプロイしたら、[ログ] をクリックして、関数呼び出しのログを表示します。

Cloud Run functions の関数をテストする

通知が Pub/Sub に送信されると、サブスクライバーがメッセージを受信します。サンプル通知をテストして、関数が意図したとおりに機能していることを確認するには、次のオブジェクトをメッセージ本文として Pub/Sub でメッセージをパブリッシュします。

{
    "budgetDisplayName": "name-of-budget",
    "alertThresholdExceeded": 1.0,
    "costAmount": 100.01,
    "costIntervalStart": "2019-01-01T00:00:00Z",
    "budgetAmount": 100.00,
    "budgetAmountType": "SPECIFIED_AMOUNT",
    "currencyCode": "USD"
}

請求先アカウント ID などのメッセージ属性を追加することもできます。詳細については、通知形式をご覧ください。

次のステップ

プログラムによる通知の使用方法についての詳細は、プログラムによる費用管理レスポンスの例をご覧ください。