このトピックでは、Python 関数の作成方法について説明します。
前提条件
ビジネスプロセスが作成されていること。詳細については、「ビジネスプロセスの作成と管理」をご参照ください。
背景情報
DataService Studio ページで、関数の作成、テスト、および公開を行うことができます。その後、関数を API に関連付け、関数をフィルターとして使用して API のリクエストパラメーターまたはレスポンスを処理し、ビジネス要件に基づいて複雑なクエリを実行できます。
制限事項
Python 関数を使用する前に、DataWorks Professional Edition 以上をアクティブ化する必要があります。
Python 関数は、DataService Studio の共有リソースグループで実行する必要があります。
Python 関数をフィルターとして使用するための機能は最適化されています。新しい Python 関数を作成、複製、または公開することはできません。この機能を使用する必要がある場合は、Aviator 関数を使用することをお勧めします。詳細については、「Aviator 関数の作成」をご参照ください。
1 つ以上の関数をフィルターとして使用して API のリクエストパラメーターを処理し、1 つ以上の関数をフィルターとして使用して API から返された結果を処理する場合、フィルターとして同じタイプの関数を使用する必要があります。API のフィルターとして異なるタイプの関数を使用することはできません。
Python 関数をフィルターとして使用する場合は、次の制限事項に注意してください。
Python 3.0 関数のみをフィルターとして使用できます。
Python 関数は、次のモジュールのみのインポートをサポートしています。
json, time, random, pickle, re, and math。フィルターとして使用される関数の名前は、
def handler(event,context):である必要があります。
関数テンプレート
# -*- coding: utf-8 -*-
# event (str) : フィルター内では API の結果、それ以外の場合はパラメーター
# context : 環境情報、現在は使用されていません
# インポート可能なモジュールは json、time、random、pickle、re、math のみです
# 関数名は変更しないでください
import json
def handler(event,context):
# 文字列を JSON オブジェクトにロードします
obj = json.loads(event)
# ここにコードを追加します
# 追加終了
return obj関数テンプレートを変更して、独自の関数を記述できます。ビジネス要件に基づいて入力パラメーターの名前を変更できます。
パラメーター 1 [context]: API を呼び出すコンテキスト。値の型は STRING です。このパラメーターは使用されておらず、空のままです。
パラメーター 2 [event]: API のリクエストパラメーター、または前の関数から返された結果データ。値の型は STRING です。システムは、API のリクエストパラメーターまたは前のフィルターから返された結果データをキーと値のマップから JSON オブジェクトに変換し、JSON オブジェクトを event パラメーターに渡します。JSON オブジェクト内の 値 の型は STRING である必要があります。
API のリクエストパラメーターを処理するために使用されるフィルターの処理結果は、キーと値のマップです。キーと値のマップは、SQL ステートメントの入力パラメーターとして使用されます。したがって、キーと値のマップには、ネストされたキーと値のペアを含めることはできません。
関数の作成
[サービス開発] ペインで、
アイコンにポインターを移動し、 を選択します。または、目的のビジネスプロセスを見つけ、[関数] を右クリックし、 を選択することもできます。
[python 関数の作成] ダイアログボックスで、ビジネス要件に基づいてパラメーターを設定します。

パラメーター
説明
関数名
関数の名前。名前の長さは最大 256 文字です。
関数テンプレート
関数を作成するために使用されるテンプレート。値を Python3 Standard v1 に設定します。
実行環境
関数の実行環境。値を Python 3.0 に設定します。
関数の説明
関数の説明。説明の長さは最大 512 文字です。
保存先のフォルダー
関数を保存するフォルダー。
[決定] をクリックします。
設定タブで関数を設定します。
[コードの編集] セクションで、関数コードを入力します。
[環境設定] セクションで、[メモリ] パラメーターと [関数のタイムアウト] パラメーターを設定します。
ツールバーの
アイコンをクリックします。