フローAPI

Version 26.1.9515


フローAPI


CData Arc フローAPI を使用すると、モジュール式のシングルパスのArc フローを作成し、クエリ可能なエンドポイントとして公開できます。Arc は、フローAPI エンドポイントに渡したデータを処理し、結果をクエリサービスに返します。

フローAPI を使用して、外部アプリケーションやサービスからArc ワークフローを実行できます。この柔軟性により、お好みのツールを使用してワークフローと自動化を管理できます。

ビデオリソース(英語)

フローAPI の設定方法と使い方は、こちらの動画をご覧ください。

フローAPI の作成

フローAPI を作成するには、次の手順を実行してください:

  1. フローキャンバスで、コネクタを右クリックしてAPI 設定を作成を選択します。

    Note:フローAPI は現在、特定のコネクタをサポートしていません。コネクタがサポートされていない場合、そのコネクタをフローAPI に追加しようとするとArc はエラーメッセージを表示します。フローAPI で使用できないコネクタのリストについては、サポートされていないコネクタを参照してください。

  2. API 設定を作成ページが開きます。メソッドフィールドで、フローAPI がリクエストを受け付けるHTTP メソッドを選択します。オプションは、GETPOSTPUTPATCH、およびDELETE です。これは、フローAPI 作成後に必要に応じて変更できます。

  3. パスフィールドで、フローAPI の名前を入力します。この名前は、API にクエリを発行するときに使用します。
    Note:異なる機能を実行する場合に限り、API 名を再利用できます。例えば、POST 機能を実行するAPI_X12 というフローAPI とPATCH 機能を実行するAPI_X12 というフローAPI を持つことはできますが、POST 機能を実行するAPI_x12 というフローAPI を2つ持つことはできません。

  4. API を作成をクリックします。フローAPI がワークスペースに表示されます。

  5. 追加のコネクタをフローAPI ボックスにドラッグし、それらを接続します。フローAPI ボックスにメモを追加することもできます。

Note:フローAPI の最初のコネクタは、クエリを発行するエンティティからインプットデータを受信し、最後のコネクタは、クエリを発行するエンティティにアウトプットデータを送り返します。

コネクタの追加と接続が完了したら、フローAPI の設定およびテストができます。

サポートされていないコネクタ

フローAPI のコネクタは、インプットメッセージごとに1つのアウトプットメッセージが生成されるように接続する必要があります。スケジュールまたは外部プロセスに基づいてファイルを処理するコネクタはサポートされていません。そのため、次のコネクタはフローAPI では使用できません:

フローAPI の例

以下の例は、POST で構成されたフローAPI の実際の使用例を示しています:

このフローAPI は、以下のワークフローを実行します:

  1. データは、開始ノードで、暗号化されたX12 ファイルの形式で受信されます。

  2. OpenPGP_Decrypt コネクタは、X12 ファイルを復号化してX12 コネクタに渡します。

  3. X12 コネクタは、X12 ファイルをXML に変換し、変換したXML ファイルをJSON コネクタに渡します。

  4. JSON コネクタは、XML ファイルをJSON 形式に変換し、変換したファイルをOpenPGP_Encrypt コネクタに渡します。OpenPGP_Encrypt コネクタは、JSON ファイルを暗号化します。

  5. 暗号化されたJSON ファイルは、終了ノードを通じて返されます。

この例では、各コネクタは前後2つの別のコネクタにリンクされています。開始ノードと終了ノードは、フローのエンドポイントに自動的に追加されます。

フローAPI の設定およびテスト

フローAPI を作成したら、設定を構成し、サンプルリクエストを実行して構成をテストできます。

設定の構成

フローAPI のヘッダーにある歯車形の設定アイコンをクリックし、設定ペインを開きます。

このペインでは、フローAPI の動作を設定できます。

これらの設定については、以下のセクションで概要を説明します。

リクエスト

パスフィールドでは、フローAPI のリクエストの種類を選択します。リクエストの種類を変更する場合は、コネクタの構造と構成が新しいリクエストの種類に適していることを必ず確認してください。

フローAPI の任意の説明を入力するには、説明フィールドを使用します。これは、複数のフローAPI があり、それぞれの目的を追跡したい場合に便利です。

クエリパラメータ

このセクションでは、フローのクエリ文字列パラメータを指定できます。ここでパラメータを追加すると、メッセージがフローを通過するときにメタデータヘッダーとして保持されます。これらのヘッダーはAPI-QueryParameter- プレフィックスを使うため、test のクエリ文字列はAPI-QueryParameter-test を使用することになります。このヘッダーは、アクティビティページでメッセージやトランザクションを展開したとき、またはメッセージの詳細を表示したときに表示されます。コネクタのインプットタブおよびアウトプットタブでトランザクションを展開した場合も、ヘッダー情報が表示されます。

この機能は、リクエストの一部として渡したい情報があるが、その情報がボディの一部ではない場合に便利です。例えば、データベース内の特定の会社の最新の注文Id が必要な場合は、CompanyName クエリパラメータをAPI に追加して、フロー内でAPI-QueryParameter-CompanyName ヘッダーを使用して参照することができます。

ボディとレスポンス

ボディセクションでは、クエリを実行するクライアントがフローAPI と通信する方法に対応する種類を選択します:

  • None—リクエストにボディを含まない
  • Raw—任意の形式の自由形式データ
  • Form data—name-value ペア
  • x-www-form-urlencoded

ボディおよびレスポンスのテキストフィールドでは、ドロップダウンメニューを使用して、ボディとレスポンスに期待するデータ形式(XMLJSON、またはCustom)を選択します。

Working with Binary Files

The Flow API supports uploading and downloading binary files (PDF, JPEG, or other binary file types) as the request body or the response body.When you open the testing pane (see Testing Flow APIs), the Flow API includes:

  • A file upload button when the request body content type is a binary file, as shown in the following image

  • A file download button when the response content type is a binary file

Note:If you need the API to return Base64-encoded text instead of a binary file, you need to use a Script connector to encode the output as Base64 and set the response content type to something like text/plain.

フローAPI のテスト

フローAPI のテストペインを開くには、フローAPI のヘッダーにある三角形のアイコンをクリックします。

テストペインでは、左側のボックスがリクエストとして機能し、右側のボックスにレスポンスが表示されます。各ボックスには、設定ペインで選択された期待するデータ形式が表示されます。

フローAPI をテストするには、左側のボックスにテストクエリを入力して実行をクリックします。レスポンスが期待する結果と一致したら、フローAPI は使用できる状態になります。レスポンスが正しくない場合は、フローAPI の構成とフローAPI 内の各コネクタの設定を確認してください。

外部アプリケーションでのフローAPI の使用

以下の手順は、外部クライアントからフローAPI を呼び出す方法について説明します。この例では、Postman からフローAPI を実行する方法を示していますが、REST リクエストを送信できる任意のクライアントであれば使用できます。

  1. フローデザイナーの右下にある複数コネクタを選択オプションを使用して、API として公開するフローを選択します。次にAPI 設定を作成をクリックします。このアクションにより、API 設定を作成ダイアログが開きます。

  2. 以下のように、メソッド(例えば、POST)を選択してAPI に意味のある名前を付けます。

    Select a method

  3. API を作成をクリックし、フローAPI を作成します。

  4. 設定ペインで、フローAPI を構成して、ボディセクションの期待するContent-Type 値とレスポンスセクションのレスポンスに必要なContent-Type 値を定義します。オプションとして、リクエストとレスポンスのサンプルデータを提供できます。

  5. 以下に示すように、リクエストペインに表示されるパスをコピーします。

    The path in the Request pane

  6. Postman アプリケーションを開きます。Content-Type ドロップダウンリストに同じコンテンツタイプ(この場合はPOST)が表示されていることを確認します。Arc (手順5) でコピーしたパスを、リクエストURL フィールドにペーストします。リクエストのボディをフローを開始するコンテンツとして指定します。

    Copy and paste the Content-Type path

  7. フローAPI を認証します。フローAPI は、管理API と同じ認証ルールを使用します。この例では、認証方式として認証トークンヘッダー(x-cdata-authtoken)を使用します。

    この方式を使用するには:

    1. ナビゲーションバーの設定歯車アイコンをクリックします。次に、追加をクリックしてユーザーを追加ダイアログを開くか、既存のユーザーを編集します。

    2. ダイアログが表示されたら、API 接続チェックボックスを選択して認証トークンを表示します。(ダイアログは再度表示されないので、このトークンを安全な場所に控えておいてください。認証トークンを紛失または削除した場合は、新しい認証トークンを作成する必要があります。)次に、変更を保存をクリックします。

    3. Postman アプリケーションに戻り、フローAPI の認証情報を以下のように追加します:

      1. Headers タブをクリックします。

      2. Key フィールドに、x-cdata-authtoken をペーストします。

      3. Value フィールドに、Arc でコピーした認証トークンをペーストします。

  8. リクエストの準備が整ったらSend ボタンをクリックします。以下の例に示すように、送信したリクエストに対するレスポンスが表示されます:

    Response to the request

クロスオリジンリソース共有(CORS)

セキュリティタブ管理API セクションに移動すると、フローAPI のクロスオリジンリソース共有(CORS)を設定できます。CORS によって、ブラウザベースのクライアントからArc に接続することができます。CORS ができない場合、ブラウザにより同一オリジンポリシーが強制されるため、ブラウザベースのスクリプトはArc に接続できません。このポリシーは、クライアントサイドスクリプトおよびドキュメントが、自身のオリジン以外のリソースをロードすることを制限します。スクリプトのオリジンは、プロトコル、ホスト、およびポートから成ります。

  • クロスオリジンリソース共有(CORS)を有効化する CORS を有効にするかどうか。その他のオプションは、このボックスにチェックを入れた場合のみ利用可能です。
  • すべてのドメインを ‘*’ なしで許可 有効にすると、ドメインオリジンは特定のリストに制限されません。
  • Access-Control-Allow-Origin 許可するドメインオリジンのカンマ区切りリスト。HTTP レスポンスヘッダーとして含まれます。
  • Access-Control-Allow-Credentials クロスオリジンリクエストでcookie のようなユーザークレデンシャルを許可するかどうか。HTTP レスポンスヘッダーとして含まれます。
  • Access-Control-Allow-Methods 許可するメソッドのカンマ区切りリスト。HTTP レスポンスヘッダーとして含まれます。
  • Access-Control-Allow-Headers 許可するヘッダーのカンマ区切りリスト。HTTP レスポンスヘッダーとして含まれます。
  • Access-Control-Max-Age Access-Control レスポンスヘッダー値をキャッシュできる最大時間(秒)。