CloudFlow のフロー定義言語(FDL)は、基本的なデータ処理操作を実行するために使用できる組み込み関数を備えています。このトピックでは、CloudFlow の一般的な組み込み関数について説明します。
インデックス
CloudFlow の FDL では、組み込み関数は、データ処理タスクのタイプに基づいて次のカテゴリに分類されます。
共通操作
配列操作
マップ操作
データのエンコードとデコード
ハッシュ計算と汎用一意識別子(UUID)の生成
JSON データ操作
入力と出力を作成するときに組み込み関数を使用する場合は、FDL でサポートされているコンストラクターのキーに .$ を追加して、対応する値が式であることを示す必要があります。式は解析される必要があります。コンストラクターのキーに .$ を追加しない場合、値は文字列として処理されます。入力と出力の作成では、最大 10 レイヤーのネストされた組み込み関数がサポートされています。
組み込み関数
以下のセクションでは、CloudFlow の組み込み関数について説明します。組み込み関数は直接使用できます。
arrayContains
説明:配列に特定の要素が含まれているかどうかを判断します。
パラメーターの説明:
[]any // 任意の型の配列戻り値:
bool使用例:
arrayContains(["Tom",10],10)
arrayContains(["Tom",10],"Jack")出力例:
true
falsearrayUnique
説明:配列内の重複する要素を削除します。
パラメーターの説明:
[]any // 任意の型の配列戻り値:
[]any使用例:
arrayUnique([1, 2, 3, 1])出力例:
[1, 2, 3]format
説明:フォーマットに {} プレースホルダー構文を使用します。
パラメーターの説明:
string, ...any
// テンプレート、パラメーターリスト戻り値:
string使用例:
format("hello {}","world")出力例:
"hello world"fromBase64
説明:Base64 でエンコードされた文字列をデコードします。
パラメーターの説明:
string // Base64 エンコード文字列戻り値:
string使用例:
fromBase64("Rm5G")出力例:
"FnF"stringToJson
説明:JSON 文字列を JSON オブジェクトまたはマップに変換します。
パラメーターの説明:
string // JSON 文字列戻り値:
map[string]any使用例:
fromJSON('{"name": "Tom", "age": 10}')
// fromJSON は stringToJson のエイリアスです。出力例:
{"name": "Tom", "age": 10}hash
説明:特定のアルゴリズムを使用して入力のハッシュ値を生成します。
パラメーターの説明:
string,string
// 入力、アルゴリズム
// MD5
// SHA-1
// SHA-256
// SHA-512戻り値:
string使用例:
hash("abc","MD5")出力例:
"900150983cd24fb0d6963f7d28e17f72"jsonMerge
説明:2 つの JSON オブジェクトまたはマップを結合します。
パラメーターの説明:
map[string]any,map[string]any // 結合する 2 つのマップ戻り値:
map[string]any使用例:
jsonMerge({"name": "Tom", "age": 10},{"name": "Tom", "address": "beijing"})出力例:
{"name": "Tom", "age": 10, "address": "beijing"}length
説明:配列、マップ、および文字列の長さを取得します。
パラメーターの説明:
[]any // 配列
map[string]any // マップ
string // 文字列戻り値:
int使用例:
length([1, 2, 3])
length({"name": "Tom", "age": 10})
length("name") 出力例:
3
2
4mapKeys
説明:JSON オブジェクトまたはマップからキーを抽出し、キーを配列に形成します。
パラメーターの説明:
map[string]any // マップ戻り値:
[]string使用例:
mapKeys({"name": "Tom", "age": 10})出力例:
["name","age"]mapValues
説明:JSON オブジェクトまたはマップから値を抽出し、値を配列に形成します。
パラメーターの説明:
map[string]any // マップ戻り値:
[]any使用例:
mapValues({"name": "Tom", "age": 10})出力例:
["Tom",10]mapValuesPartition
説明:JSON オブジェクトまたはマップから値を抽出し、特定のステップで値を複数の配列に分割します。
パラメーターの説明:
map[string]any, int // マップ、ステップ戻り値:
[][]any使用例:
mapValuesPartition({"name": "Tom", "age": 10},1)出力例:
["Tom"],[10]regexMatchString
説明:単純な正規表現に基づいて文字列関数を照合します。
パラメーターの説明:
string, string
// 正規表現、照合対象の値戻り値:
bool使用例:
regexMatchString("p([a-z]+)ch", "peach")
regexMatchString("p([a-z]+)ch", "p123ch")出力例:
true
falsesplit
説明:特定の区切り文字に基づいて文字列を分割します。
パラメーターの説明:
string,string // 文字列、区切り文字戻り値:
[]string使用例:
split("item1,item2,item3", ",") 出力例:
["item1", "item2", "item3"]toArray
説明:任意の長さを入力パラメーターを配列に変換して返します。
パラメーターの説明:
any // 任意の値戻り値:
[]any使用例:
toArray(1,'strig',$Input.var)出力例:
[]any{1, 'string', $valueOfVar}toBase64
説明:文字列を Base64 形式にエンコードします。
パラメーターの説明:
string // エンコードする文字列戻り値:
string使用例:
toBase64("FnF")出力例:
"Rm5G"jsonToString
説明:JSON オブジェクトまたはマップを文字列に変換します。
パラメーターの説明:
map[string]any // マップ戻り値:
string使用例:
toJSON({"name": "Tom", "age": 10})
// toJSON は jsonToString のエイリアスです。出力例:
'{"name": "Tom", "age": 10}'uuid
説明:UUID を生成します。
パラメーターの説明:
戻り値:
string使用例:
uuid()出力例:
159fd8c1-2ec3-4d7b-b9fd-60b9d8841000