このページでは、Application Integration で使用できる Data Transformer Script タスク用に事前定義された追加の Jsonnet 関数について説明します。
以下の事前定義済み関数を使用するには、スクリプトに functions
ライブラリをインポートする必要があります。functions
ライブラリをインポートすると、標準の Jsonnet 関数と事前定義された Data Transformer 関数の両方を使用できます。
Application Integration では Jsonnet 関数ライブラリ v0.20.0 がサポートされています。Jsonnet 標準関数の詳細については、Jsonnet 標準ライブラリをご覧ください。
配列関数
Average
構文 |
avg(arr)
|
説明 |
配列内のすべての値の平均値を計算します。
|
入力パラメータ |
arr: 入力配列。
|
戻り値の型 |
DOUBLE
|
出力 |
配列内のすべての値の平均値を返します。
|
Contains
構文 |
contains(arr, elem)
|
説明 |
指定した要素の配列内での出現数を確認します。
|
入力パラメータ |
arr: 入力配列。
elem: 検索する配列要素。
|
戻り値の型 |
BOOLEAN
|
出力 |
一致が見つかった場合は TRUE を返し、見つからなかった場合は FALSE を返します。
|
Max Array
構文 |
maxArray(arr)
|
説明 |
配列の最大値を見つけます。
|
入力パラメータ |
arr: 入力配列。
|
戻り値の型 |
入力配列のデータ型。
|
出力 |
配列の最大値を返します。
|
Min Array
構文 |
minArray(arr)
|
説明 |
配列内の最小値を見つけます。
|
入力パラメータ |
arr: 入力配列。
|
戻り値の型 |
入力配列のデータ型。
|
出力/>
| 配列の最小値を返します。
|
Remove
構文 |
remove(arr, elem)
|
説明 |
指定された要素を配列から削除します。
|
入力パラメータ |
arr: 入力配列。
elem: 削除する配列要素。
|
戻り値の型 |
入力配列のデータ型。
|
出力 |
指定された要素を削除した後、更新された配列を返します。
|
Remove At
構文 |
removeAt(arr, index)
|
説明 |
配列の指定されたインデックスにある要素を削除します。
|
入力パラメータ |
arr: 入力配列。
index: 削除する要素の配列インデックス。
|
戻り値の型 |
入力配列のデータ型。
|
出力 |
指定された要素を削除した後、更新された配列を返します。
|
Sum
構文 |
sum(arr)
|
説明 |
配列内のすべての値を合計します。
|
入力パラメータ |
arr: 入力配列。
|
戻り値の型 |
入力配列のデータ型。
|
出力 |
配列内のすべての要素の合計を返します。
|
GroupBy
構文 |
groupBy(array, function)
|
説明 |
反復関数を使用して配列の各要素を実行した結果から生成されたキーで構成されるオブジェクトを作成します。たとえば、f.groupBy([1,1.3,1.8],std.floor) は {"1": [1,1.3,1.8]} を生成します。 |
入力パラメータ |
|
戻り値の型 |
JSON
|
出力 |
作成された集計オブジェクトを返します。 |
Zip
構文 |
zip([arrays])
|
説明 |
グループ化された要素の配列を作成します。最初の要素には指定された配列の最初の要素が含まれ、2 番目の要素には指定された配列の 2 番目の要素が含まれるというように続きます。たとえば、f.zip([[1, "one", "I"],[2, "two", "II"],[3, "three", "III"]]) は [[1,2,3],["one", "two", "three"],["I", "II", "III"]] を生成します。 |
入力パラメータ |
[arrays]: このパラメータには、処理する配列が保持されます。 |
戻り値の型 |
array
|
出力 |
再グループ化された要素の新しい配列を返します。 |
Unzip
構文 |
unzip(array)
|
説明 |
グループ化された要素の配列を作成します。グループ化された要素の配列を受け入れ、要素を zip 圧縮前の構成に再グループ化する配列も作成します。たとえば、f.unzip([[1, "one", "I"],[2, "two", "II"],[3, "three", "III"]]) は [[1,2,3],["one", "two", "three"],["I", "II", "III"]] を生成します。 |
入力パラメータ |
array: このパラメータには、処理する要素をグループ化した配列が保持されます。 |
戻り値の型 |
array
|
出力 |
再グループ化された要素の新しい配列を返します。 |
集計関数
XNOR
構文 |
xnor(a, b)
|
説明 |
指定されたブール値の論理 XNOR 演算を行います。
|
入力パラメータ |
a: ブール値。
b: ブール値。
|
戻り値の型 |
BOOLEAN
|
出力 |
指定された 2 つのブール値の XNOR を返します。
|
Xor
構文 |
xor(a, b)
|
説明 |
指定されたブール値の論理 XOR 演算を行います。
|
入力パラメータ |
a: ブール値。
b: ブール値。
|
戻り値の型 |
BOOLEAN
|
出力 |
指定された 2 つのブール値の XOR を返します。 |
ハッシュ関数
SHA1
構文 |
sha1(str)
|
説明 |
SHA-1(Secure Hash Algorithm 1)アルゴリズムを使用して、入力 STRING の暗号ハッシュを計算します。
|
入力パラメータ |
str: 入力文字列。 |
戻り値の型 |
BYTES
|
出力 |
160 ビット(20 バイト)のハッシュ値を返します。
|
SHA256
SHA512
SHA3
JSON 関数
Manifest XML
構文 |
manifestXml(json, format = "badgerfish", indent_output = false)
|
説明 |
指定された入力 JSON オブジェクトを XML 文字列に変換します。 |
入力パラメータ |
json: 入力 JSON オブジェクト。 format: 入力 JSON 表現形式。
indent_output: 出力 XML 文字列をインデントするかどうかを示すブール値の入力。デフォルト値は False です。
|
戻り値の型 |
STRING
|
出力 |
指定された JSON オブジェクト表現の XML 文字列を返します。 |
Object Remove Key
構文 |
objectRemoveKey(obj, key)
|
説明 |
JSON オブジェクトからプロパティを削除します。 |
入力パラメータ |
obj: 入力 JSON オブジェクト。
key: 削除する JSON プロパティ。
|
戻り値の型 |
JSON
|
出力 |
指定されたプロパティとその対応する値を削除した後に更新された JSON オブジェクト。
|
Parse XML
構文 |
parseXml(xml, format = "badgerfish")
|
説明 |
指定された入力 XML 文字列を解析して、JSON オブジェクトに変換します。
|
入力パラメータ |
xml: 入力 XML 文字列。 format: 出力 JSON 表現形式。
|
戻り値の型 |
JSON
|
出力 |
指定された XML 文字列の JSON オブジェクト表現を返します。 |
構文 |
parseCsvWithHeader(input, delimiter = ",", overwrite_duplicate_headers = true)
|
説明 |
指定された入力 CSV 文字列を JSON として解析します。この場合、最初の行がヘッダーと見なされます。たとえば、f.parseCsvWithHeader("index,product,company\n1,Application Integration,Google\n2,Pubsub,Google") は [{"index": "1", "product": "Application Integration", "company": "Google"},{"index": "2", "product": "Pubsub", "company": "Google"}] を生成します。 |
入力パラメータ |
input: 解析する CSV 文字列。 区切り文字: 使用する区切り文字。デフォルト値は 0.01 です。 overwrite_duplicate_headers: 重複するヘッダーの値を上書きするオプション。false に設定すると、重複するヘッダーの名前が変更されます。デフォルト値は true です。
|
戻り値の型 |
JSON
|
出力 |
指定された CSV 文字列の JSON 表現を返します。 |
Manifest CSV
構文 |
manifestCsv(json, headers = null)
|
説明 |
指定された JSON を CSV 文字列に変換します。たとえば、f.manifestCsv([{"index": "1", "product": "Application Integration", "company": "Google"},{"index": "2", "product": "Pubsub", "company": "Google"}]) は index,product,company\n1,Application Integration,Google\n2,Pubsub,Google を生成します。 |
入力パラメータ |
json: CSV に変換する JSON。 headers: CSV 出力のヘッダーリスト。値を指定しない場合、すべてのヘッダーが使用されます。 |
戻り値の型 |
STRING
|
出力 |
JSON から CSV 文字列を指定した形式で返します。 |
数学関数
Is Decimal
構文 |
isDecimal(num)
|
説明 |
指定された数値が小数かどうかを確認します。 |
入力パラメータ |
num: 入力数値。
|
戻り値の型 |
BOOLEAN
|
出力 |
数値が小数の場合は TRUE、それ以外の場合は FALSE を返します。
|
Is Even
構文 |
isEven(num)
|
説明 |
指定された数値が偶数かどうかを確認します。 |
入力パラメータ |
num: 入力数値。
|
戻り値の型 |
BOOLEAN
|
出力 |
数値が偶数の場合は TRUE、それ以外の場合は FALSE を返します。
|
Is Integer
構文 |
isInteger(num)
|
説明 |
指定された数値が整数かどうかを確認します。 |
入力パラメータ |
num: 入力数値。
|
戻り値の型 |
BOOLEAN
|
出力 |
数値が整数の場合は TRUE、それ以外の場合は FALSE を返します。
|
Is Odd
構文 |
isOdd(num)
|
説明 |
指定された数値が奇数かどうかを確認します。 |
入力パラメータ |
num: 入力数値。
|
戻り値の型 |
BOOLEAN
|
出力 |
数値が奇数の場合は TRUE、それ以外の場合は FALSE を返します。
|
Random Number
構文 |
randomNumber(lowerBound, upperBound)
|
説明 |
指定した範囲の間のランダムな実数を生成します。 |
入力パラメータ |
lowerBound: 範囲の下限値(この値を含む)。デフォルト値は 0 です。
upperBound: 上限値(この値を含まない)。デフォルト値は 1 です。
|
戻り値の型 |
実数。 |
出力 |
lowerBound と upperBound の間のランダムな実数を返します。
|
Round
構文 |
round(input)
|
説明 |
数値を最も近い整数に四捨五入します。
|
入力パラメータ |
入力: 四捨五入する値。
|
戻り値の型 |
INTEGER
|
戻り値 |
丸められた後の最も近い整数を返します。
|
文字列関数
Equals Ignore Case
構文 |
equalsIgnoreCase(str1, str2)
|
説明 |
文字列の大文字と小文字を区別せずに、指定された 2 つの文字列値を比較します。
|
入力パラメータ |
str1: 入力文字列。
str2: 入力文字列。
|
戻り値の型 |
BOOLEAN
|
出力 |
指定された値が既存の値と一致する(大文字と小文字は区別しません)場合は TRUE、一致しない場合は FALSE を返します。 |
Is Empty
構文 |
isEmpty(str)
|
説明 |
指定された文字列の長さが 0 であるかどうかを確認します。
|
入力パラメータ |
str: 入力文字列。 |
戻り値の型 |
BOOLEAN
|
出力 |
文字列が空の場合は TRUE、それ以外の場合は FALSE を返します。
|
Match
構文 |
match(str, regexp)
|
説明 |
文字列と正規表現を照合した結果を取得します。 |
入力パラメータ |
str: 入力文字列。 regexp: re2 正規表現。
|
戻り値の型 |
ARRAY
|
出力 |
正規表現 regexp と一致する str のすべての部分文字列の配列を返します。一致がない場合は、空の配列を返します。
|
Trim
構文 |
trim(str)
|
説明 |
指定した文字列の先頭と末尾のスペースをすべて削除します。
|
入力パラメータ |
str: 入力文字列。 |
戻り値の型 |
STRING
|
出力 |
先頭と末尾の空白文字を削除して、文字列のコピーを返します。
|
タイムスタンプ関数
構文 |
dateFormat(timestamp, format_string, timezone, current_format)
|
説明 |
タイムスタンプを指定された format_string に従ってフォーマットします。
|
入力パラメータ |
timestamp: 入力タイムスタンプ。
format_string: 新しいタイムスタンプ形式。新しいタイムスタンプ形式文字列の作成に使用できる形式設定要素のリストについては、サポートされているタイムスタンプ形式設定要素をご覧ください。
timezone: 指定された入力タイムスタンプのタイムゾーン。デフォルト値は UTC です。
current_format: 指定した入力タイムスタンプの解析に使用される形式。デフォルト値は E (エポック)です。
|
戻り値の型 |
STRING
|
出力 |
指定した format_string に基づいて入力 timestamp を変換し、新しい文字列を返します。
|
サポートされているタイムスタンプ形式要素
次の表では、dateFormat() 関数でサポートされている形式要素を示します。
形式設定要素 |
説明 |
例 |
YYYY |
4 桁の年。 |
2023 |
YY |
年の下 2 桁。 |
23 |
MMMM |
タイトルケースの月の名前。 |
March |
MMM |
タイトルケースの月の名前の略称。 |
Mar |
MM |
月(01~12)。 |
03 |
M |
1 ~ 12 の月。 |
3 |
DDDD |
タイトルケースの曜日。 |
Monday |
DDD |
曜日の略称。 |
Mon |
DD |
01 ~ 31 日。 |
06 |
D |
1 ~ 31 の日。 |
6 |
HH |
24 時間形式の時刻(00 ~ 23)。 |
15 |
hh |
12 時間形式の時刻(01 ~ 12)。 |
03 |
h |
12 時間形式の時刻(1 ~ 12)。 |
3 |
mm |
分(00 ~ 59)。 |
04 |
m |
分(0 ~ 59)。 |
4 |
ss |
秒(00 〜 59)。 |
08 |
s |
秒(0 ~ 59)。 |
8 |
FFFFFFFFF |
ゼロを含む、指定された桁の右側に 9 桁の小数秒。 |
00.123456789 |
FFFFFFFF |
ゼロを含む、指定された桁の右側に 8 桁の少数秒。 |
00.12345678 |
FFFFFFF |
ゼロを含む、指定された桁の右側に 7 桁の小数秒。 |
00.1234567 |
FFFFFF |
ゼロを含む、指定された桁の右側に 6 桁の小数秒。 |
00.123456 |
FFFFF |
ゼロを含む、指定された桁の右側に 5 桁の小数秒。 |
00.12345 |
FFFF |
ゼロを含む、指定された桁の右側に 4 桁の小数秒。 |
00.1234 |
FFF |
ゼロを含む、指定された桁の右側に 3 桁の小数秒。 |
00.123 |
FF |
ゼロを含む、指定された桁の右側に 2 桁の小数秒。 |
00.12 |
F |
ゼロを含む、指定された桁の右側に 1 桁の小数秒。 |
00.1 |
fffffffff |
9 桁の小数秒。 |
987654321 |
ffffffff |
8 桁の小数秒。 |
98765432 |
fffffff |
7 桁の小数秒。 |
9876543 |
ffffff |
6 桁の小数秒。 |
987654 |
fffff |
5 桁の小数秒。 |
98765 |
ffff |
4 桁の小数秒。 |
9876 |
fff |
3 桁の小数秒。 |
987 |
ff |
2 桁の小数秒。 |
98 |
f |
1 桁の小数秒。 |
9 |
tt |
正午インジケーター(朝または夕)。フォーマット時は AM または PM。 |
PM |
t |
午前、午後の表記(短縮形)。小文字の am または pm にマッピングされます。 |
pm |
K |
タイムゾーンの名前。 |
PST |
kk |
±xx:xx のタイムゾーン形式。 |
-8:00:00 |
k |
±xxxx 形式のタイムゾーン形式。 |
-8000 |
Is Leap Year
構文 |
isLeapYear(year)
|
説明 |
指定された年がうるう年かどうかを確認します。 |
入力パラメータ |
year: 入力年(実数)。
|
戻り値の型 |
BOOLEAN
|
出力 |
年がうるう年の場合は TRUE、それ以外の場合は FALSE を返します。
|
Now In Millis
構文 |
nowInMillis()
|
説明 |
統合の現在の Unix エポック時間をミリ秒単位で返します。
|
入力パラメータ |
なし |
戻り値の型 |
INT64
|
出力 |
現在の Unix エポック時間をミリ秒単位で返します。
|
ユーティリティ関数
UUID
構文 |
uuid()
|
説明 |
ランダムな Universally Unique Identifier(UUID)を STRING として返します。返される STRING は 32 個の 16 進数で構成され、5 つのグループがハイフンで区切られた 8-4-4-4-12 形式になります。この 16 進数は RFC 4122 セクション 4.4 に準拠し、122 個のランダムなビットと 6 個の固定ビットを表します。返される STRING はすべて小文字です。
|
入力パラメータ |
なし |
戻り値の型 |
STRING
|
出力 |
生成された UUID を文字列形式で返します。 |
Integration name
構文 |
getIntegrationName()
|
説明 |
現在の統合の名前を取得します。 |
入力パラメータ |
なし |
戻り値の型 |
STRING
|
出力 |
現在の統合の名前を返します。
|
Integration region
構文 |
getIntegrationRegion()
|
説明 |
現在の統合のリージョンを取得します。 |
入力パラメータ |
なし |
戻り値の型 |
STRING
|
出力 |
現在の統合のリージョンを返します。
|
Integration version ID
構文 |
getIntegrationVersionId()
|
説明 |
現在の統合のバージョン ID を取得します。 |
入力パラメータ |
なし |
戻り値の型 |
STRING
|
出力 |
現在の統合のバージョン ID を返します。
|
Integration version number
構文 |
getIntegrationVersionNumber()
|
説明 |
現在の統合のバージョン番号を取得します。 |
入力パラメータ |
なし |
戻り値の型 |
NUMBER
|
出力 |
現在の統合のバージョン番号を返します。 |
Execution ID
構文 |
getExecutionId()
|
説明 |
現在の統合実行の実行 ID を取得します。 |
入力パラメータ |
なし |
戻り値の型 |
STRING
|
出力 |
現在の統合実行の実行 ID を返します。 |
Project ID
構文 |
getProjectId()
|
説明 |
例: 現在の統合の Google Cloud プロジェクト ID を取得します。 |
入力パラメータ |
なし |
戻り値の型 |
STRING
|
出力 |
現在の統合の Google Cloud プロジェクト ID を返します。
|
推奨事項