Apigee Integration と Cloud Pub/Sub のスタートガイド

Apigee X のドキュメントが表示されています。
Apigee Edge のドキュメントを表示します。

このチュートリアルでは、Apigee 統合と Cloud Pub/Sub トリガーを使用してサンプル統合を作成する方法を説明します。下の手順では、完全な統合を実行するために必要な Cloud Pub/Sub トリガー、タスク、変数、データ マッピングを構成する方法について説明します。このチュートリアルでは、すべて統合デザイナー内で、Pub/Sub トピックを作成し、Cloud Pub/Sub トリガーを含む統合を作成して Pub/Sub トピックをリッスンし、データ マッピングを使用して Pub/Sub メッセージを変換し、メールを送信します。

始める前に

チュートリアルを開始する前に、次の手順を行います。

  • Apigee ログイン認証情報と組織の詳細を確認します。この情報は、デザイナーの統合機能にアクセスする際に必要になります。
  • 新しい Cloud Pub/Sub トピックを作成します。このチュートリアルでは、IOT デバイスから温度の読み取り値をケルビン単位で受け取る Pub/Sub トピックがあるとします。実際にトピックをデバイスに接続する必要はありません。このチュートリアルでは、トピックをリッスンし、トリガーされたときにタスクを実行する統合の機能をテストします。

    このチュートリアルで使用するサンプル トピックを作成するには:

    1. Cloud console の Pub/Sub トピックページに移動します。

      Pub/Sub トピックページに移動

    2. [トピックを作成] をクリックします。
    3. [トピック ID] 項目に、一意のトピック名を入力します。このチュートリアルでは、「temperaturesensor」と入力します。
    4. [保存] をクリックします。

新しい統合を作成する

新しい統合を作成するには、次の手順を行います。

  1. Apigee UI にアクセスしてログインします。
  2. UI の左上にあるプルダウン メニューから組織を選択します。
  3. [開発] > [統合] の順にクリックします。
  4. [新規作成] をクリックします。
  5. [統合の作成] ダイアログで名前と説明を入力します。例: my-test-integration
  6. サポートされているリージョンのリストから、統合のリージョンを選択します。
  7. [作成] をクリックして統合デザイナーを開きます。

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

Cloud Pub/Sub トリガーを統合に追加する手順は次のとおりです。
  1. 統合デザイナーで [タスク/トリガーを追加] をクリックして、タスクとトリガー選択ダイアログを表示します。
  2. [Triggers] をクリックして、使用可能なトリガーを表示します。
  3. [Cloud Pub/Sub トリガー] 要素をデザイナーにドラッグします。

Cloud Pub/Sub トリガーを設定する

統合デザイナーの [Cloud Pub/Sub Trigger] 要素をクリックして、トリガー設定ペインを表示します。

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

  • PROJECT_ID は、トピックが作成される Google Cloud プロジェクトです。
  • TOPIC_ID は、始める前にで作成した Cloud Pub/Sub トピックの ID です。
projects/PROJECT_ID/topics/TOPIC_ID

たとえば、プロジェクトの名前が my-project であり、トピックに temperaturesensor という名前を付けた場合は、次のように入力します。

projects/my-project/topics/temperaturesensor です。

Google Cloud プロジェクトで使用可能なすべてのトピックを表示するには、トピックの [トピック名] 列をご覧ください。

以下に示すように、構成ペインの [Trigger Output] フィールドには、Pub/Sub メッセージを保持する変数が自動的に入力されます。

トリガー出力変数の画像

データ マッピング タスクを構成する

データ マッピング タスクを構成するには:

  1. [タスク / トリガーを追加] > [タスク] の順に選択して、利用できるタスクのリストを表示します。
  2. [データ マッピング] 要素を統合デザイナーにドラッグします。
  3. デザイナーの [データ マッピング] タスクをクリックして、タスクの構成ペインを開きます。
  4. [データ マッピング エディタを開く] をクリックします。

    データ マッピング エディタを使用すると、使用可能な変換関数を使用して、入力変数を目的の出力変数にマッピングできます。出力は、他の統合タスクまたはトリガーの変数として使用できます。データを変数として渡す方法の詳細については、Apigee Integration で変数を使用するをご覧ください。

    このチュートリアルでは、次の手順を行って、CloudPubSubMessage を入力として使用しマッピングを作成します。

    1. エディタの左側にある [変数] リストから、[CloudPubSubMessage] チップを最初の [入力] フィールドにドラッグします。
    2. [CloudPubSubMessage] チップ内の [+ Add Function] をクリックして、使用可能な関数のプルダウン リストを表示します。
    3. [TO_DOUBLE()] をクリックして、CloudPubSubMessage JSON 値を double データ型に変換します。
    4. [+] をクリックして、追加のマッピング関数を連結します。
    5. プルダウン リストから SUBTRACT をクリックし、パラメータ 273.15 を入力してケルビン単位の温度を度数単位に変換します。
    6. [Output] 列の最初のフィールドをクリックして、変換されたデータの値を保持する新しい変数を作成します。次のフィールドに値を入力します。
      • 名前:TemperatureInCelsius」と入力します。
      • [Use as an output of integration] チェックボックスをオンにします。
      • [Create] をクリックして変数を作成し、ペインを閉じます。新しい摂氏温度変数は、データ マッピング エディタの左側にある [Variables] リストに表示されます。
    7. [Temperature in Celsius] チップを、[Variables] リストから [Input] 列の 2 番目のフィールドにドラッグします。
    8. [Temperature in Celsius] チップの [+ Add Function] をクリックして、使用可能な関数のプルダウン リストを表示します。
    9. [TO_STRING()] をクリックして、変数のデータ型を double から string に変換します。
    10. [Output] 列の 2 番目のフィールドをクリックして、変換されたデータの値を保持する新しい変数を作成します。次のフィールドに値を入力します。
      • 名前:TemperatureInCelsiusString」と入力します。
      • デフォルト値が空欄の場合...:[Empty String] を選択します。
      • [Use as an output of integration] チェックボックスをオンにします。
      • [Create] をクリックして変数を作成し、ペインを閉じます。新しい変数が、データ マッピング エディタの左側にある [Variables] リストに表示されます。
    11. 次の図のように、完成したマッピングが表示されます。

      完成したデータ マッピングと変数の画像

    12. データ マッピング エディタで [X] をクリックして、マッピングを保存しエディタを閉じます。
  5. [Cloud Pub/Sub トリガー] 要素のコントロール ポイントにカーソルを合わせることで、[Cloud Pub/Sub トリガー] 要素から [データ マッピング] 要素にエッジ接続を追加し、線をクリックして [データ マッピング] タスク要素のコントロール ポイントまでドラッグします。そのエッジは、Cloud Pub/Sub トリガータスクからデータ マッピング タスクへの制御フローを示します。

メール送信タスクを構成する

Send Email タスクを構成するには、次のようにします。

  1. 統合デザイナーで、[タスク / トリガーを追加] > [タスク] をクリックして使用可能なタスクのリストを表示します。

    この手順では、メール送信タスクを使用します。

  2. [メールを送信] タスク要素を統合デザイナーにドラッグします。
  3. デザイナーで [メール送信] 要素をクリックして、タスクの構成ペインを開きます。次のプロパティ値を設定します。
    • 受信者: メールアドレスを入力します。このメールを使用して、統合が正常に完了していることを確認します。
    • 件名: 「Temperature in Celsius」と入力します。
    • メールの本文: データ マッピングタスクで先ほど作成した TemperatureInCelsiusString 変数を選択します。
    • 残りのオプションはデフォルト構成のままにします。
    プロパティへの変更は自動的に保存されます。
  4. [データ マッピング] 要素から [メール送信] 要素にエッジ接続を追加するには、[データ マッピング] 要素のコントロール ポイントにカーソルを合わせてからクリックし、[メール送信] タスク要素のコントロール ポイントに線を引きます。コントロール ポイントとエッジの線が黄色に変わります。エッジは、データ マッピングタスクからメール送信タスクへの制御フローを示します。

    このステップが完了すると、統合が完了し、次の図のように表示されます。

    統合トリガーとタスクの画像

統合をテストする

新しい統合をテストするには:

  1. 統合デザイナーのツールバーで、[公開] ボタンをクリックします。
  2. Cloud Console の Pub/Sub トピックページに移動します。

    Pub/Sub トピックページに移動

  3. 前のステップで作成した temperaturesensor トピックを検索して選択します。
  4. トピックの詳細ページで、[+ メッセージをパブリッシュ] をクリックして [メッセージのパブリッシュ] 構成ペインを開きます。
  5. [メッセージ本文] フィールドに「307.15」と入力します。このメッセージを作成すると、IOT デバイスから Pub/Sub が受信したケルビン単位の温度読み取り値の公開がシミュレートされます。
  6. [公開] をクリックしてメッセージをトピックに公開し、統合をトリガーします。

正常に完了すると、メール送信タスクで指定したメールアドレスに、ケルビン温度が摂氏温度に変換された値を記したメールが送信されます。ご自身のメール クライアントでメールの受信を確認します。

統合によって送信されるメールの本文には、値 34 が記載されています。

メールの内容の確認に加え、ログを調査して、特定の統合のステータスとペイロードを表示できます。ログを表示するには:

  1. 統合デザイナーのツールバーで、[ログ] をクリックします。
  2. [実行ログ] ページでは、統合の実行の試行ごとに関する詳細を確認できます。各エントリには、以下のような実行の試行の詳細が含まれます。
    • 連携名
    • 実行 ID
    • ステータス
    • 開始時刻
    • 期間
    • 統合 ID
    • トリガー ID
  3. 実行された統合の横にある展開の矢印(>)をクリックすると、下の図に示すように、展開された統合のタスクと変数のリストと、タスクのステータスと変数のペイロードが表示されます。

    統合ログの画像

お疲れさまでしたApigee Integration と Cloud Pub/Sub トリガーを使用した統合を正常に構成し、デプロイできました。

次のステップ