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

For Each Loop タスクを使用してサブ統合を呼び出す

このクイックスタートでは、For Each Loop タスクを使用してサブ統合を呼び出す統合を作成する方法について説明します。サブ統合はメイン統合から入力を受け取り、Send Email タスクを使用して受信者にメールを送信します。

サブ統合を作成する

  1. Google Cloud コンソールで [Application Integration] ページに移動します。

    Application Integration に移動

  2. ナビゲーション メニューで [統合] をクリックします。[統合リスト] ページが表示されます。
  3. [統合を作成] をクリックします。
  4. 統合の名前と説明を入力します。

    このクイックスタートでは、名前 ForEachSendEmailSubIntegration と説明 Quickstart sub-integration を入力します。

  5. 統合のリージョンを選択します。
  6. [Create] をクリックしてインテグレーション デザイナーを開きます。

サブ統合に API トリガーを追加する

統合を構成する一連のタスクを開始するには、トリガーが必要です。このクイックスタートでは、API トリガーを使用して統合を開始します。

API トリガーを追加して構成するには、次の手順を実行します。

  1. 統合エディタで、[トリガー] をクリックして、使用可能なトリガーのリストを表示します。
  2. 統合デザイナーで、[API trigger] 要素をクリックして配置します。

サブ統合で入力変数を作成する

サブ統合では、メイン統合から JSON 形式で受信した詳細を変数で格納します。新しい入力変数を作成するには、次の手順を行います。

  1. デザイナー ナビゲーション バーの (切り替えパネル)をクリックして、[変数] ペインを表示します。
  2. [+ 作成] をクリックして、変数を作成します。
  3. [変数の作成] ペインで、次の操作を行います。

    a. 名前: 「order_details」と入力します。

    b. データ型:: JSON を選択します。

    c. [デフォルト値から推測] をクリックします。

    d. [デフォルト値] に、次の JSON を入力します。

      {
        "orderId": "1",
        "customerName": "Harry Ford",
        "emailId": "YOUR_EMAIL_ID",
        "shippingAddress": {
          "city": "New York",
          "country": "USA",
          "zipcode": "103487"
          },
        "items": [{
          "itemid": "111-222-333",
          "itemName": "Smartphone",
          "itemPrice": 999.0,
          "quantity": 1.0
          }, {
          "itemid": "444-555-666",
          "itemName": "Mobile Cover",
          "itemPrice": 49.0,
          "quantity": ""
          }],
        "paymentDetails": {
          "mode": "COD",
          "status": ""
          },
        "expectedDelivery": "15 March 2023"
      }
    

    このサンプル JSON オブジェクトで、YOUR_EMAIL_ID を、統合のテストに使用するメール ID に置き換えます。

    e. [統合への入力として使用する] をクリックします。

    f. [作成] をクリックします。

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

データ マッピングタスクを使用すると、統合で変数の割り当てを実行し、json オブジェクトのプロパティを取得して設定し、値にネストされた変換関数を適用できます。データ マッピング タスクで使用される変数は、統合変数またはタスク変数のいずれかです。

データ マッピング タスクを追加して構成するには、次の手順を行います。

  1. 統合エディタで、[タスク] をクリックして、使用可能なタスクのリストを表示します。
  2. 統合デザイナーで [Data Mapping] 要素をクリックして配置します。
  3. 統合デザイナーで [データ マッピング] 要素をクリックして、タスク構成ペインを開きます。
  4. [Open Data Mapping Editor] をクリックします。
  5. [入力] を次のように構成します。
    1. [入力] セクションで [変数または値] をクリックします。
    2. [変数] に「item」と入力し、[order_details.items] を選択します。
    3. [保存] をクリックします。
    4. マッピング関数を [order_details.items] に追加します。[order_details.items] の横にある + 記号をクリックします。関数のリストを下にスクロールし、[FOR_EACH(Any) -> JSON] を選択します。
    5. [FOR_EACH] 関数の入力パラメータを入力します。[変数または値] をクリックし、[~obj1] を選択します。
    6. [保存] をクリックします。
    7. マッピング関数を [obj1] に追加します。追加した [obj1] 要素の後の括弧内の [FOR EACH] 行で [+] をクリックします。関数のリストを下にスクロールし、[GET PROPERTY(String) -> JSON] を選択します。
    8. [変数または値] をクリックし、[] に「itemName」と入力します。
    9. [保存] をクリックします。
    10. [GET PROPERTY] の後の行で [+ 関数を追加] をクリックし、[TO_STRING() -> String] を選択します。
    11. 最後の行の [+ 関数を追加] をクリックし、[TO_STRING() -> String] を選択します。
  6. [出力] を次のように構成します。
    1. 新しい出力変数を作成します。[出力] セクションで、[新しい出力を作成] をクリックします。
    2. [変数を作成] ペインで、名前 items を入力し、それ以外のフィールドはすべてデフォルト値のままにして、[作成] をクリックします。
  7. データ マッピングの構成が次の画像と同様であることを確認します。

    データ マッピング エディタの構成の画像

  8. データ マッピング エディタを閉じて統合デザイナーに戻ります。

Send Email タスクを追加して構成する

各受信者にメールを送信するようにSend Email タスクを追加して構成するには、次の手順を行います。

  1. 統合エディタで、[タスク/トリガーを追加] をクリックします。
  2. [タスク] に移動して、統合デザイナーで [Send Email] 要素をクリックして追加します。
  3. 統合デザイナーで [Send Email] タスク要素をクリックして、タスク設定ペインを開きます。
  4. 次の [タスク入力] フィールドを設定します。

    1. 送信先: [変数] をクリックし、[order_details.emailId] を選択します。
    2. 件名: メールの件名を入力します。このクイックスタートでは、「Order delivery notification」と入力します。
    3. 書式なしテキストの本文: 次のテキストを入力します。
    Hi $order_details.customerName$! Your order with Order Id: $order_details.orderId$ with items: $items$ has been successfully placed. Expected delivery by: $order_details.expectedDelivery$.
    

サブ統合の要素を接続する

サブ統合に必要なタスクとトリガーを追加して構成したので、要素間の接続(エッジ)を追加します。エッジは、ある要素から次の要素への制御のフローを示します。

  1. [API トリガー] 要素から [Data Mapping] 要素にエッジを追加します。[API トリガー] 要素上のコントロール ポイントにカーソルを合わせて、[Data Mapping] 要素上のコントロール ポイントに線をドラッグします。
  2. 同様に、[Data Mapping] 要素から [Send Email] 要素にエッジを追加します。

サブ統合をテストして公開する

  1. このサブ統合をテストするには、統合エディタのツールバーで [テスト] をクリックし、[Test Integration] ダイアログで [Test integration] をクリックします。サブ統合は入力としてデフォルト値で実行され、Send Email タスクで指定されたメールアドレスにメールが送信されます。テストが完了すると、成功のメッセージが表示されます。
  2. このサブ統合を公開するには、統合デザイナー ツールバーの [公開] をクリックします。

メインインテグレーションを作成する

  1. ナビゲーション メニューで [統合] をクリックして [統合] ページに戻ります。
  2. [統合を作成] をクリックします。
  3. 統合の名前と、必要に応じて説明を入力します。このクイックスタートでは、名前 ForEachSendEmail と説明 Quickstart main integration を入力します。
  4. サポートされているリージョンのリストから、統合のリージョンを選択します。 メイン統合がサブ統合と同じリージョンに作成されていることを確認してください。
  5. [作成] をクリックします。

メイン統合に API トリガーを追加する

  1. 統合エディタで、[トリガー] をクリックして、使用可能なタスクとトリガーのリストを表示します。
  2. 統合デザイナーで、[API trigger] 要素をクリックして配置します。

メイン統合に入力変数を作成する

メイン統合では、入力変数を使用して、For Each Loop を介してサブ統合に渡されるデータを保存します。この変数は、今すぐ、または For Each Loop タスクを追加して構成するときに、次のステップで作成できます。このクイックスタートでは、今すぐ変数を作成します。

  1. デザイナー ナビゲーション バーの (切り替えパネル)をクリックして、[変数] ペインを表示します。
  2. [変数の作成] ペインで、次の操作を行います。

    a. 名前: 「order_requests」と入力します。

    b. データ型:: JSON を選択します。

    c. [デフォルト値から推測] をクリックします。

    d. [デフォルト値] に次の JSON を入力します。

      [{
        "orderId": "1",
        "customerName": "Harry Ford",
        "emailId": "YOUR_EMAIL_ID",
        "shippingAddress": {
          "city": "New York",
          "country": "USA",
          "zipcode": "103487"
        },
        "items": [{
          "itemid": "111-222-333",
          "itemName": "Smartphone",
          "itemPrice": 999.0,
          "quantity": 1.0
        }, {
          "itemid": "444-555-666",
          "itemName": "Mobile Cover",
          "itemPrice": 49.0,
          "quantity": ""
        }],
        "paymentDetails": {
          "mode": "COD",
          "status": ""
        },
       "expectedDelivery": "15 March 2023"
      }, {
        "orderId": "2",
        "customerName": "Tim Harvey",
        "emailId": "YOUR_EMAIL_ID",
        "shippingAddress": {
          "city": "Los Angeles",
          "country": "USA",
          "zipcode": "210738"
        },
        "items": [{
          "itemid": "222-333-444",
          "itemName": "Laptop",
          "itemPrice": 5999.0,
          "quantity": 1.0
       }],
        "paymentDetails": {
          "mode": "Online Payment",
          "status": "Success"
        },
        "expectedDelivery": "21 Feb 2023"
      }]
    

    このサンプル JSON オブジェクトで、YOUR_EMAIL_ID の両方のオカレンスを、統合のテストに使用するメール ID に置き換えます。

    e. [統合への入力として使用する] をクリックします。

    f. [作成] をクリックします。

For Each Loop タスクを作成して構成する

  1. 統合エディタで、[Tasks] をクリックします。
  2. 統合エディタで [For Each Loop] 要素をクリックして、配置します。
  3. 統合デザイナーで [For Each Loop] タスク要素をクリックして、タスク構成ペインを開きます。
  4. [設定] ペインで、以下のように操作します。
    1. 反復処理するリスト: 作成した入力変数 [order_requests] を選択します。
    2. API トリガー ID: サブ統合で API トリガーを選択します。このクイックスタートでは、[api_trigger/ForEachSendEmailSubIntegration_API_1] を選択します。
    3. 統合名: 呼び出すサブ統合の名前を選択します。このクイックスタートでは、[ForEachSendEmailSubIntegration] を選択します。
    4. 反復処理要素のサブ統合マッピング: [order_details] を選択します。

メイン統合の要素を接続する

  1. [API トリガー] 要素から [For Each Loop] 要素にエッジを追加します。[API トリガー] 要素のコントロール ポイントにカーソルを合わせてから、線をクリックして [For Each Loop] 要素のコントロール ポイントにドラッグします。

メイン統合をテストして公開する

最後のタスクでは、メイン統合をテストして公開します。

  1. 統合デザイナー ツールバーの [テスト] をクリックし、[テスト統合] ダイアログで [テスト統合] をクリックします。 テストが完了すると、成功のメッセージが表示されます。
  2. この統合を公開するには、統合デザイナー ツールバーの [公開] をクリックします。

    正常に完了すると、統合によりメール送信タスクで指定したメールアドレスにメールが送信されます。ご自身のメール クライアントでメールの受信を確認します。