すべてのプロダクト
Search
ドキュメントセンター

DataWorks:Aviator 関数の作成

最終更新日:Jun 21, 2026

このトピックでは、Aviator 関数の作成方法について説明します。

前提条件

背景

DataService Studio では、関数の作成、テスト、デプロイが可能です。 デプロイした関数は、API に関連付けて、リクエストパラメーターやレスポンスデータを処理するためのフィルターとして使用できます。 これにより、複雑なクエリ要件に対応し、さまざまなビジネスシナリオに適応できます。 一般的なユースケースのコード例については、「ベストプラクティス:Aviator 関数をフィルターとして使用する」をご参照ください。

制限事項

  • Aviator 関数は、DataService Studio 専用リソースグループで実行する必要があります。

  • API フィルターとして関数を使用する場合、事前フィルターと事後フィルターの関数タイプは同じにする必要があります。 つまり、両方とも Aviator 関数タイプまたは Python 関数タイプのいずれかを選択する必要があります。

使用上の注意

セキュリティとパフォーマンス上の理由から、Aviator 関数は DataService Studio 専用リソースグループで実行する必要があります。 したがって、以下の点にご注意ください。

  • 関数を編集またはテストするときは、関数を DataService Studio 専用リソースグループに関連付ける必要があります。 詳細については、「関数の管理」をご参照ください。

  • API 開発中にフィルターを有効にして対象の関数に関連付ける場合、API を DataService Studio 専用リソースグループに関連付ける必要があります。 詳細については、「データソースからAPIを生成する (API Gateway)」をご参照ください。

関数構造

Aviator 関数は、次の組み込みテンプレートを使用します。 構文の詳細については、「Aviator 関数の構文」をご参照ください。

## --- AviatorScript ---
## $0:入力パラメーターのデフォルト名。
## 式はセミコロン「;」で区切る必要があります。
## 例 1:
## $0.a:入力パラメーター「$0」から属性「a」を取得します。
## $0.b[index]:入力パラメーター「$0」の配列「b」から、指定されたインデックスの要素を取得します。 インデックスは式または変数にすることはできません。
## 例 2:
## 入力:{"keyA":[1,2],"keyB":"value"}
## 関数:$0.keyA[0]=3; $0.keyB="new_value"; return $0;
## 出力:{"keyA":[3,2],"keyB":"new_value"}
return $0;

このテンプレートに基づいて関数を修正できます。

  • Aviator 関数のデフォルトの入力パラメーター名は $0 であり、変更できません。 $0 を使用して、関数の入力全体を取得できます。

  • DataService Studio では、関数はリクエストパラメーターとレスポンスデータを処理するための API フィルターとして機能します。 したがって、$0 で表される関数の入力は JSON オブジェクトです。 リクエストパラメーターはフラットな JSON 構造 (深さ 1) として渡され、レスポンスデータはネストされた JSON 構造 (深さ N) として渡されます。

  • 関数が API の事前フィルターとして使用される場合、システムは API リクエストパラメーターまたは前の関数の出力を キーと値のマップ から JSON オブジェクトに変換し、それを $0 パラメーターに渡します。 JSON オブジェクトの各キーの value は文字列である必要があります。

  • 関数が API の事前フィルターとして使用される場合、その出力は キーと値のマップ である必要があります。 この出力は、SQL ステートメント実行の入力パラメーターとして機能します。 したがって、深さが 1 のフラットな キーと値のマップ のみがサポートされています。

DataService Studio への移動

DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、[DataService Studio] をクリックします。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[DataService Studioに移動] をクリックします。

関数の作成

  1. サービス開発 ページで、image.png アイコンにポインターを合わせ、Create Function > Create Aviator Function をクリックします。

    別の方法として、対象のワークフローを見つけ、関数 を右クリックし、Create Function > Create Aviator Function を選択します。

  2. Create Aviator Function ダイアログボックスで、パラメーターを設定します。

    パラメーター

    説明

    [Function Name]

    関数の一意の名前。最大 256 文字です。

    [Function Template]

    AviatorScript Standard v1 のみがサポートされています。

    [Function Description]

    関数の簡単な説明。最大 512 文字です。

    [Location]

    関数の格納先ディレクトリ。

    説明

    特定のワークフロー、フォルダー、または関数カテゴリを選択します。 ワークフローが存在しない場合は、まずワークフローを作成します。

  3. Determine をクリックします。

  4. Edit Code エリアで、関数用のコードを入力します。

  5. リソースグループを設定します。

    1. 関数編集ページの右側のペインで、Resource Group for DataService Studio をクリックします。リソースグループタイプ セクションで、API 呼び出しのリソースグループタイプを設定します。

      DataService Studio 専用リソースグループのみを選択できます。

      説明

      リストからターゲットリソースグループ名を選択できない場合は、DataWorks コンソールに移動し、「ワークスペース所有者の変更」を使用して、お使いのワークスペースにリソースグループをバインドします。 また、「DataService Studio 専用リソースグループの購入」をクリックして新しいものを購入することもできます。 詳細については、「DataService Studio 専用リソースグループの使用」をご参照ください

    2. 環境構成 セクションでは、メモリタイムアウト を設定できます。

      DataService Studio 専用リソースグループの場合、関数のタイムアウトは 100 ms 以下にすることを推奨します。

  6. ツールバーの 保存 アイコンをクリックして、関数を保存します。

関数の作成後、テストとデプロイを行い、API の事前フィルターまたは事後フィルターとして使用できます。

次のステップ