Application Integration でサポートされているコネクタをご覧ください。
統合例を試す
Google Cloud プロジェクトで Application Integration を初めて設定するときに、Application Integration により、デフォルトで ExampleIntegration-EcomOrderProcessing という名前の非公開のサンプル統合が作成されます。
サンプル統合を表示する
サンプル統合を表示するには、次の手順を行います。
- Google Cloud コンソールで [Application Integration] ページに移動します。
- ナビゲーション メニューで [統合] をクリックします。[統合] のページが表示されます。
- [ExampleIntegration-EcomOrderProcessing] という名前の統合をクリックします。
サンプル統合が、次のレイアウトのような統合エディタで開きます。
e コマースのサンプル統合
このサンプル統合を使用して、Application Integration のさまざまなトリガー、tasks、コンセプトを実際に体験できます。
このサンプル統合は、次の注文処理オペレーションを実装する基本的な e コマース バックエンドのシナリオを示しています。
- API エンドポイントから次の注文リクエスト ペイロードを受信します。
{ "order_no": "12345", "buyer_id": "raambo", "line_items": [ { "line": 1, "sku": "tr100", "vendor": "Internal", "quantity": 1, "price_per_unit": 10 }, { "line": 2, "sku": "tbz", "vendor": "External", "quantity": 24.0, "price_per_unit": 1 } ] }
- 注文ペイロードを抽出し、合計注文額を計算します。
- 合計注文金額が $100 以上かどうかを確認します。「はい」の場合は、追加の承認を得て続行します。
- 注文アイテムに外部ベンダーがあるかどうかを確認します。「はい」の場合、REST API 呼び出しを使用してベンダーに詳細を送信します。
- 合計注文額、フィルタリングされた外部ベンダーのアイテム、それぞれの HTTP レスポンス ステータスとともに、注文レスポンスを送信します。
次の表に、ExampleIntegration-EcomOrderProcessing で使用されるすべてのトリガー、タスク、エッジ条件を示します。
コンポーネント | 構成 | 説明 | |
---|---|---|---|
API トリガー
(OrderProcessAPITrigger) |
トリガー ID: api_trigger/ecom-order-processing_API_1
|
注文リクエストごとに統合を呼び出します。 | |
データ マッピング タスク
(合計注文金額を確認) |
Input | 出力 | order_request JSON 入力変数を抽出し、FOR_EACH マッピング関数を使用してすべての注文項目を反復処理して、合計注文金額を計算します。
合計注文金額は、GET_PROPERTY とMULTIPLY のマッピング関数を使用して、アイテム
最終値は double データ型に変換され、 |
orders_request.line_items .FOR_EACH(~obj1->~obj1 .GET_PROPERTY("quantity") .TO_DOUBLE() .MULTIPLY(~obj1 .GET_PROPERTY("price_per_unit") .TO_DOUBLE())) .TO_DOUBLE_ARRAY() .SUM() |
total_order_value
|
||
エッジ条件
(合計注文金額がしきい値を超えている) |
条件: $total_order_value$ >= $threshold_order_value$ |
合計注文金額が $100 以上かどうかを確認します。「はい」の場合、コントロールは承認タスクに渡されます。 | |
エッジ条件
(合計注文金額がしきい値を超えていない) |
条件: $total_order_value$ < $threshold_order_value$
|
合計注文金額が $100 未満かどうかを確認します。「はい」の場合、コントロールは外部アイテムのフィルタリング タスクに渡されます。 | |
承認タスク
(承認) |
受信者: Enter the approver's email address このサンプル統合をテストする目的で、メールを使用して統合が正常に完了したことを確認できます。 |
1 人以上のインテグレーション ユーザーに承認リクエスト メールを送信します。メールには、ユーザーがリクエストを手動で承認または拒否できるインテグレーションへのリンクが含まれます。 | |
データ マッピング タスク
(外部アイテムのフィルタリング) |
Input | 出力 | order_request JSON 入力変数を抽出し、FILTER マッピング関数を使用して、外部ベンダーを含むすべての注文アイテムをフィルタリングします。
フィルタリングされた値は、 |
orders_request .GET_PROPERTY("line_items") .FILTER(~obj1->~obj1 .GET_PROPERTY("vendor") .TO_STRING() .EQUALS("External")) |
filtered_external_items
|
||
For Each Loop タスク
(For Each Loop) |
反復処理するリスト: filtered_external_items
API トリガー ID:
統合名: |
filtered_external_items 変数を反復処理し、配列内の各要素のサブ統合を呼び出します。また、rest_call_response_status 内の各実行のレスポンスを照合します。ここで、配列の各要素は 1 つの特定の実行からのレスポンスを受け取ります。
|
|
API トリガー
(ExternalOrders を報告) |
トリガー ID: api_trigger/ecom-order-processing_API_2
|
filter_external_items の各要素について、サブ統合を呼び出します。 | |
REST エンドポイントの呼び出しタスク
(REST エンドポイントを呼び出す) |
エンドポイントのベース URL: https://mocktarget.apigee.net/echo
HTTP メソッド:
リクエスト本文: |
https://mocktarget.apigee.net/echo に対する REST 呼び出しを行います。 |
サンプル統合を公開してテストする
統合を公開するには、統合デザイナー ツールバーの [公開] をクリックします。
統合が正常に公開されると、公開された統合の実行ログを表示、検査できます。ログを表示するには、[View execution logs for this integration] をクリックします。実行ログのページが表示されます。
統合エディタからテストする
サンプルの統合をテストするには、次の手順を行います。
- 統合エディタ ツールバーの [テスト] をクリックし、[OrderProcessAPITrigger] を選択します。
[テスト統合] ペインが表示されます。
orders_request
入力変数を編集するように求められます。このテストの目的のために、quantity
値を240
に更新できます。更新したorders_request
入力変数は、次のようになります。{ "order_no": "12345", "buyer_id": "raambo", "line_items": [ { "line": 1, "sku": "tr100", "vendor": "Internal", "quantity": 1, "price_per_unit": 10 }, { "line": 2, "sku": "tbz", "vendor": "External", "quantity": 240, "price_per_unit": 1 } ] }
- [Test Integration] をクリックします。
更新された orders_request
数量は 200 より大きいため、サンプルのインテグレーションでは、承認タスクの受信者フィールドに指定されたメールアドレスへ承認リクエスト メールを送信します。承認が完了すると、統合注文オペレーションは正常に完了します。
テストの詳細については、インテグレーションをテストして公開するをご覧ください。
次の手順で実行ログを調べて、特定のインテグレーションのステータスとペイロードを表示します。
- 統合エディタで、 [View execution logs for this integration] をクリックします。実行ログのページが表示されます。
- [Execution Logs] ページでは、統合の実行の試行ごとに関する詳細を確認できます。各エントリには、以下のような実行の試行の詳細が含まれます。
- 連携名
- 実行 ID
- ステータス
- 開始時間
- 所要時間
- 統合バージョン
- トリガー ID
- 実行された統合の横にある展開の矢印(>)をクリックすると、展開された統合のタスクと変数のリストと、タスクのステータスと変数のペイロードが表示されます。
REST API 呼び出しを使用してテストする
テストケース 1: デフォルトの入力を使用してリクエストを送信する
curl -X POST -H "Content-Type: application/json" -d '{"trigger_id":"api_trigger/ecom-order-processing_API_1"}' 'https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME:execute' -H "Authorization: Bearer $(gcloud auth print-access-token)"
テストケース 2: カスタム入力を使用してリクエストを送信する
curl -X POST -H "Content-Type: application/json" -d '{ "triggerId": "api_trigger/ecom-order-processing_API_1", "inputParameters": { "orders_request": { "jsonValue": "{\n \"order_no\": \"12345\",\n \"buyer_id\": \"raambo\",\n \"line_items\": [{\n \"line\": 1.0,\n \"sku\": \"tr100\",\n \"vendor\": \"Internal\",\n \"quantity\": 1.0,\n \"price_per_unit\": 10.0\n }, {\n \"line\": 2.0,\n \"sku\": \"tbz\",\n \"vendor\": \"External\",\n \"quantity\": 24.0,\n \"price_per_unit\": 2.0\n }]\n}" } } }' 'https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME:execute' -H "Authorization: Bearer $(gcloud auth print-access-token)"
次のように置き換えます。
- PROJECT_ID: Google Cloud プロジェクトの ID。
- LOCATION: インテグレーションのロケーション。Application Integration のロケーションをご覧ください。
- INTEGRATION_NAME: インテグレーションの名前。
テスト出力
API は、すべての統合出力変数値を含む統合実行レスポンスを返します。
割り当てと上限
割り当てと上限については、割り当てと上限をご覧ください。