既存の複数の API をオーケストレーションして API を作成できます。このトピックでは、サービスオーケストレーションを使用して API を作成する方法について説明します。
手順 1: API を作成する方法を選択する
Dataphin ホームページのトップメニューバーで、[サービス] > [API 開発] を選択します。
左上隅で、サービスプロジェクトを選択します。左側のナビゲーションウィンドウで、[API サービス] をクリックします。API ページで、[+API の作成] ボタンをクリックします。
[API を作成] ダイアログボックスで、[複合 API] を選択します。
手順 2:API パラメーターの構成
[API の作成] ページでパラメーターを構成します。
パラメーター
説明
基本情報
API 名
API 名の命名規則は次のとおりです。
名前に使用できるのは、漢字、英字、数字、またはアンダースコア (_) のみです。
名前の長さは 4~100 文字である必要があります。
名前は英字で始まる必要があります。
名前はグローバルに一意である必要があります。
リクエストメソッド
API リクエストメソッドは GET のみサポートしています。
GET: サーバーに指定されたリソースの取得をリクエストします。
データ更新頻度
API から返されるデータの更新頻度を定義します。これにより、呼び出し側はデータの適時性を理解できます。サポートされている更新頻度は、[毎日]、[毎時]、[毎分]、[カスタム] です。[カスタム] を選択した場合は、最大 128 文字まで入力できます。
API グループ
現在のプロジェクトで構成されている API グループを選択します。 API グループを作成するには、「サービスグループの作成」を参照してください。
モード
[基本] または [開発 - 本番] の 2 つのモードをサポートしています。
基本モードでは、開発、送信、およびオンライン公開はすべて本番データベースから読み取られます。
開発-本番モードでは、開発と送信は開発データベースから読み取られ、オンライン公開は本番データベースから読み取られます。
説明
API の簡単な説明を入力します。説明には最大 128 文字まで入力できます。
プロトコル
データ生成 API のインターフェイスプロトコルです。[HTTP] と [HTTPS] がサポートされています。
HTTP: Hypertext Transfer Protocol (HTTP) は、最も広く使用されているネットワークプロトコルです。
HTTPS: ゲートウェイが Alibaba Cloud API Gateway (専用または共有インスタンス) として設定されている場合は、HTTPS プロトコルを選択できます。呼び出しの失敗を防ぐために、独立ドメインの SSL 証明書が有効であることを確認してください。SSL 証明書を設定するには、[プラットフォーム管理ネットワーク設定] を選択し、[ネットワーク設定] ページに移動します。
タイムアウト
API 呼び出しを監視する最大期間です。API 呼び出しが指定された [タイムアウト] を超えると、エラーが報告されます。これにより、API 呼び出しの例外を迅速に検出して処理できます。例外の表示方法の詳細については、「サービス監視 API の表示と管理」をご参照ください。
キャッシュ設定
[有効] または [無効] をサポートしています。有効にした場合は、[キャッシュタイムアウト] を構成する必要があります。デフォルトは 300 秒です。60 ~ 1000000 の正の整数を設定できます。
バージョン番号
API のバージョン番号を入力します。各構成には、以前のバージョンと比較するため独自のバージョン番号があります。バージョン番号には最大 64 文字まで入力でき、API 内で一意である必要があります。
戻り値の型
デフォルトは JSON です。
サービスオーケストレーション
API リファレンス
[API リファレンス] パネルで、子 API の名前、API_ID、リクエストパラメーター、戻り値パラメーターを表示できます。[コピー] アイコンをクリックすると、API_ID とフィールド名をすばやくコピーできます。[API テスト] をクリックして、参照されている子 API のパラメーターが正しく機能しているかどうかをテストし、参照エラーを防ぎます。
以下の画像の操作ガイドに従って、戻りパラメーターをスクリプトにすばやく追加します。
説明複合 API をサポートするための条件は次のとおりです。
API を使用するには、API の個人使用権限が必要です。 詳細については、「API 権限の管理」を参照してください。
API は、直接接続 API、論理テーブル API、登録済み API、モデル API などの非複合 API タイプです。
API リクエストメソッドは GET である必要があり、API は同期呼び出しモードで公開されている必要があります。
オーケストレーションスクリプト
システムプロンプトに従って、スクリプトエディターでスクリプトを編集します。${} 内のパラメーターを子 API からの戻り値パラメーターのフィールド名に置き換え、戻り値パラメーターリストに定義済みのフィールド (f1、f2 など) を入力します。

スクリプト構文の説明:
AviatorScript バージョン 5.0 をサポートしています。スクリプトを作成するときは、バージョン 5.0 プログラミングガイドを参照してください。
AviatorScript は、## で始まる単一行コメントのみをサポートしています。複数行コメントの場合は、コメントする各行の先頭に ## を使用します。
AviatorScript で変数を定義するときは、パラメーターに値を割り当てる必要があります。
a = 1;let p = 2;子 API を参照するビジネス処理ロジックを作成するときは、API_APIID.return_parameter_name を使用して子 API の戻り値パラメーターを指定します。複合 API のリクエストパラメーターは ${parameter_name} として定義する必要があり、複合 API のリクエストパラメーター名は API_ で始めることはできません。
c1 = ${API_APIID.c1};c2 = ${API_APIID.c2};c3 = c1 + c2 + ${p3};複合 API によって返されるフィールドを定義し、return で返します。ここで、f1 と f2 は戻り値フィールド名、c1 と c2 は戻り値フィールドの値変数です。
let result = seq.map("f1", c1, "f2", c2);return result;スクリプトシナリオの説明:
シナリオ 1: 複数の API を呼び出し、複数の API の結果を統一的に返す:
## ビジネス要件に基づいて計算スクリプトを作成し、「API_APIID.return_parameter_name」で子 API の戻り値パラメーターを指定します。 c1 =${API_00001.c1} c2 = ${API_00002.c1} let result = seq.map("f1", c1, "f2", c2); return result;シナリオ 2: 条件に基づいて異なる API を呼び出す:
## 処理ロジックを作成する: 条件に基づいて異なる API を呼び出し、異なる戻り値を取得します。 c1=''; if (${p3} == "linlin"){ ## API_00001 によって返される数値を複合 API の戻り値パラメーターとして使用します。 c1=${ API_00001.number}; } else { ## API_00002 によって返される数値を複合 API の戻り値パラメーターとして使用します。 c1= ${API_00002.number}; } let result = seq.map("f1", c1); return result;シナリオ 3: 複数の API を呼び出し、API によって返された値に対して計算を実行する:
##Write processing logic: Sum and average the return values of multiple APIs; ## Sum the numbers returned by API_00001 and API_00002, and use the result as the return parameter of the composite API; total = ${API_00001.number} + ${API_00002.number}; ## Calculate the average of the numbers returned by API_00001 and API_00002, and use the result as the return parameter of the composite API; average = (${API_00001.number} + ${API_00002.number}) / 2; let result = seq.map("f1", total,"f2",average); return result;
パラメーター解析
スクリプトの編集が完了したら、[パラメーター解析] ボタンをクリックして構文検証を実行し、参照されている子 API のリクエストパラメーターマッピング関係を解析します。スクリプトを変更した場合は、再度解析する必要があります。
スクリプトの試行実行
最初に、スクリプトエディターで定義したフィールド (f1 や f2 など) を戻り値パラメーターリストに追加してから、[SQL 試行実行] をクリックします。[リクエストパラメーター入力] ダイアログボックスで、試行実行の値を入力し、[OK] をクリックします。[ランタイムログ] で SQL 試行実行中に実行された実際の SQL 文を確認できます。
リクエストパラメーター
パラメーター名
ユーザーが API にアクセスする際に直接使用する公開されているパラメーター。 API_ で始めることはできず、128 文字以内である必要があります。
パラメータータイプ
Array(int)、Array(string)、DOUBLE、FlOAT、STRING、DATE(yyyy-MM-dd HH:mm:ss)、BOOLEAN、INT、LONG、SHORT、BIGDECIMAL などのパラメータータイプをサポートしています。パラメーター名のバインドされたフィールドに対応するパラメータータイプを選択する必要があります。
例
開発者が理解しやすいように、リクエストパラメーター値の例を入力します。
説明
リクエストパラメーターの簡単な説明を入力します。説明には最大 1,000 文字まで含めることができます。
必須
パラメーターが必須かどうかを指定します。API の呼び出し時に必須パラメーターが渡されない場合、呼び出しは失敗します。
リクエストパラメーターマッピング関係
システムは、子 API と複合 API の間で設定されたパラメーターマッピングに基づいて、スクリプトで参照されている子 API を解析します。これにより、参照されている子 API とそのリクエストパラメーターが返されます。子 API が呼び出されると、複合 API のリクエストパラメーター値がこのマッピングに基づいて子 API に渡されます。子 API のリクエストパラメーターが必須の場合は、そのマッピングを設定する必要があります。
戻りパラメーター
パラメーター名
戻り値パラメーター名は、スクリプトで定義されている戻り値フィールド名と同じである必要があります。そうでない場合、対応するフィールドの戻り値を取得できません。
パラメータータイプ
戻りパラメータータイプには、[DOUBLE]、[FlOAT]、[STRING]、[DATE(yyyy-MM-dd HH:mm:ss)]、[BOOLEAN]、[INT]、[LONG]、[SHORT]、[BIGDECIMAL]、[Array(int)]、[Array(string)] があります。 パラメーター名にバインドされたフィールドに対応するパラメータータイプを選択する必要があります。
例
開発者がパラメーターを理解しやすいように、戻り値パラメーター値の例を入力します。最大 1000 文字まで入力できます。
説明
戻り値パラメーターの簡単な説明を入力します。最大 1000 文字まで入力できます。
関連付けられた行レベルの権限
現在の API の行レベルの権限は、参照されている子 API に従って自動的に有効になります。これにより、参照されている子 API に関連付けられ、有効になっている行レベルの権限情報が表示されます。
[送信] をクリックして、API の作成を完了します。
次の手順
API を作成したら、テストして DataService Studio マーケットプレイスに公開し、後続のアプリケーションが API を呼び出せるようにする必要があります。詳細については、「API をテストおよび公開する」をご参照ください。
API の削除、バージョンの管理、所有権の移管、またはその他の操作を行うには、「API の表示と管理」をご参照ください。