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

DataWorks:Aviator 関数の作成

最終更新日:Mar 31, 2025

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

前提条件

背景情報

DataService Studio ページで、関数の作成、テスト、公開ができます。その後、関数を API に関連付け、関数をフィルターとして使用して API のリクエストパラメータまたはレスポンスを処理し、ビジネス要件に基づいて複雑なクエリを実行できます。一般的なシナリオで API のフィルターとして Aviator 関数を使用する方法を示すサンプルコードの詳細については、「Aviator 関数をフィルターとして使用する際のベストプラクティス」をご参照ください。

制限事項

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

  • 同じ API に対して、プリフィルターとして使用される関数とポストフィルターとして使用される関数は同じタイプである必要があります。

注意事項

データセキュリティと関数のパフォーマンスを確保するために、Aviator 関数を実行するには DataService Studio 専用リソースグループを使用する必要があります。

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

  • API を開発する際に API のフィルター機能を有効にし、API を関数に関連付ける場合は、API を DataService Studio 専用リソースグループに関連付ける必要があります。詳細については、「コードレス UI を使用した API の作成」をご参照ください。

Aviator 関数の構文

システムは、Aviator 関数に対して次の関数テンプレートを提供します。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 パラメータを使用して、Aviator 関数の入力を取得できます。

  • 関数の入力は JSON 形式である必要があります。DataService Studio では、関数は API のリクエストパラメータまたはレスポンスを処理するフィルターとして使用されます。API のリクエストパラメータは単層 JSON 形式で定義されます。API のレスポンスは多層 JSON 形式で定義されます。したがって、関数の入力も JSON 形式である必要があります。$0 パラメータは、JSON 形式の入力データを指定します。

  • 関数が API のプリフィルターとして使用される場合、システムは API のリクエストパラメータまたは前の関数の出力を key-value ペア から JSON 形式のデータに変換します。次に、システムは JSON 形式のデータを使用して $0 パラメータを置き換えます。JSON データの のデータ型は STRING のみ可能です。

  • 関数が API のプリフィルターとして使用される場合、関数の出力は key-value ペア です。 key-value ペアは SQL ステートメントの入力パラメータとして使用されます。したがって、key-value ペア にネストされた key-value ペアを含めることはできません。

DataService Studio ページに移動

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

関数の作成

  1. [サービス開発] ペインで、image.png アイコンにポインターを移動し、[関数の作成] > [aviator 関数の作成] を選択します。

    または、目的のビジネスプロセスを見つけ、[関数] を右クリックし、[関数の作成] > [aviator 関数の作成] を選択することもできます。

  2. [aviator 関数の作成] ダイアログボックスで、パラメータを設定します。

    パラメータ

    説明

    関数名

    関数の名前。名前は最大 256 文字まで入力できます。

    関数テンプレート

    関数を作成するために使用されるテンプレート。[aviatorscript Standard V1] に設定します。

    関数の説明

    関数の説明。説明は最大 512 文字まで入力できます。

    保存先フォルダ

    関数を保存するフォルダ。

    説明

    このパラメータの値には、ビジネスプロセス名、フォルダ名、または関数カテゴリを指定できます。使用可能なビジネスプロセスがない場合は、ビジネスプロセスを作成する必要があります。

  3. [決定] をクリックします。

  4. [コードの編集] セクションに関数コードを入力します。

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

    函数

    1. 関数の設定タブの右側のナビゲーションペインで、[リソースグループ] をクリックします。[リソースグループの種類] セクションの [リソースグループ] タブで、スキームパラメータに [DataService Studio 専用リソースグループ] を選択し、[DataService Studio 専用リソースグループ] ドロップダウンリストからリソースグループを選択します。

      スキームパラメータには、[DataService Studio 専用リソースグループ] のみ選択できます。

      説明

      選択したい DataService Studio 専用リソースグループがドロップダウンリストに表示されない場合は、DataWorks コンソール の [リソースグループ] ページに移動し、[専用リソースグループ] タブで専用リソースグループをワークスペースに関連付けることができます。また、[リソースグループ] タブの [DataService Studio 専用リソースグループを購入] をクリックして、DataService Studio 専用リソースグループを購入することもできます。詳細については、「DataService Studio 専用リソースグループの作成と使用」をご参照ください。

    2. [環境設定] セクションで、[メモリ] パラメータと [関数タイムアウト] パラメータを設定します。

      共有リソースグループの場合は [関数タイムアウト] パラメータを 1000 以下に、DataService Studio 専用リソースグループの場合は 100 以下に設定することをお勧めします。

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

関数の作成後、関数をテストおよび公開できます。その後、関数を API に関連付け、API のプリフィルターまたはポストフィルターとして使用できます。

次のステップ

  • 関数を作成した後、関数をテストおよび公開できます。詳細については、「関数のテスト、公開、および使用」をご参照ください。

  • 関数を公開した後、関数を API に関連付け、API のプリフィルターまたはポストフィルターとして使用できます。これにより、関数は API のリクエストパラメータまたはレスポンスを処理できます。詳細については、「関数のテスト、公開、および使用」をご参照ください。