第5章 REST API 呼び出しによってトリガーされるインテグレーションの作成
必要時にインテグレーションの実行をトリガーするには、ユーザーが提供する REST API 記述ドキュメントでインテグレーションを開始します。この方法で開始するインテグレーションは、API プロバイダーインテグレーション と呼ばれます。API プロバイダーインテグレーションでは、REST API クライアントはインテグレーションの実行をトリガーするコマンドを呼び出しできます。
Fuse Online が API プロバイダーインテグレーションをパブリッシュすると、インテグレーションエンドポイントにネットワークアクセスできるクライアントはすべてインテグレーションの実行をトリガーできます。
Fuse Online on OpenShift Container Platform をオンサイトで使用している場合、管理者は Fuse Online サーバーを設定して Red Hat 3scale の API プロバイダーインテグレーション API の検出を有効にすることができます。デフォルトでは、Fuse Online は 3scale と使用するために API プロバイダーインテグレーションの API サービス定義にアノテーションを付けますが、これらの API を 3scale の自動検出に公開しません。3scale の検出が行われないと、アクセス制御が行われません。3scale の検出を使用すると、アクセスポリシーを設定したり、管理を一元化でき、API プロバイダーインテグレーション API の高可用性を提供することもできます。詳細は、Red Hat 3scale のドキュメントページ の API Gateway に関するドキュメントを参照してください。
API の 3scale 検出を有効化する Fuse Online の設定 も参照してください。
API プロバイダーインテグレーションを作成するための情報および手順は以下を参照してください。
API プロバイダーインテグレーションの作成、パブリッシュ、およびテスト方法については、https://youtu.be/sox8SSqJ0zQ の動画を参照してください。
5.1. API プロバイダーインテグレーションを作成する利点、概要、およびワークフロー
API プロバイダーインテグレーションは、REST API サービスから開始します。この REST API サービスは、API プロバイダーインテグレーションの作成時に提供する OpenAPI 3 (または 2) ドキュメントによって定義されます。API プロバイダーインテグレーションをパブリッシュした後、Fuse Online は REST API サービスを OpenShift にデプロイします。API プロバイダーインテグレーションの利点は、REST API クライアントがインテグレーションの実行をトリガーする呼び出しを実行できることです。
複数の実行フロー
API プロバイダーインテグレーションには、フローと呼ばれる複数の実行パスがあります。OpenAPI ドキュメントが定義する各オペレーションには独自のフローがあります。Fuse Online では、OpenAPI ドキュメントが定義する各オペレーションに対して、コネクションおよびその他のステップをそのオペレーションの実行フローに追加します。これらのステップは、特定のオペレーションに必要なデータを処理します。
実行フローの例
たとえば、Fuse Online によって利用可能になった REST API サービスを呼び出す人事アプリケーションがあるとします。新しい従業員を追加する操作が呼び出されたとします。この呼び出しを処理する操作のフローは、以下のとおりです。
- 新入社員のハードウェアに関する経費報告書を作成するアプリケーションに接続します。
- 新しいハードウェアを設定するための社内チケットを追加する SQL データベースに接続します。
- 新入社員にオリエンテーションの情報を提供するメッセージを送信する Google メールに接続します。
実行をトリガーする方法
インテグレーションの実行をトリガーする REST API を呼び出す方法は複数あります。これには以下が含まれます。
- データ入力を取得し、呼び出しを生成する Web ブラウザーページ。
-
curl
ユーティリティーなどの REST API を明示的に呼び出すアプリケーション。 - REST API を呼び出す他の API (Webhook など)。
フローを編集する方法
以下を行って、各オペレーションのフローを編集できます。
- データを処理する必要があるアプリケーションにコネクションを追加します。
- 分割、集計、およびデータマッピングステップを含む、コネクション間のステップを追加します。
- コネクションエラーメッセージを、フローを終了する HTTP 応答の戻りコードにマッピングします。この応答は、インテグレーションの実行をトリガーした呼び出しを実行したアプリケーションに送信されます。
API プロバイダーインテグレーションを作成するためのワークフロー
API プロバイダーインテグレーションを作成するための 一般的な ワークフローを以下の図に示します。
API プロバイダーインテグレーションのパブリッシュ
API プロバイダーインテグレーションをパブリッシュした後、Fuse Online はインテグレーションの summary ページに REST API サービスの外部 URL を表示します。この外部 URL は、クライアントが REST API サービスを呼び出すために使用するベース URL です。
OCP 上の Fuse Online 環境では、Red Hat 3scale の API プロバイダーインテグレーションの検出が有効になっている可能性があります。この場合、3scale ではサービスを呼び出すための URL が公開されます。
API プロバイダーインテグレーションのテスト
API プロバイダーインテグレーションのフローをテストするには、curl
ユーティリティーを使用できます。たとえば、以下の curl
コマンドは、REST API サービス URL https://i-task-api-proj319352.6a63.fuse-ignite.openshiftapps.com/api/ の Get Task by ID オペレーションに対し、フローの実行をトリガーします。
HTTP GET
コマンドはデフォルトのリクエストであるため、GET
を指定する必要はありません。URL の最後の部分は、取得するタスクの ID を指定します。
curl -k https://i-task-api-proj319352.6a63.fuse-ignite.openshiftapps.com/api/todo/1