プレビュー
— Data Transformer Script task
この機能には、サービス固有の利用規約 の「一般的なサービス規約」の「pre-GA サービス規約」が適用されます。
pre-GA の機能は「現状有姿」で利用できますが、サポートが制限される場合があります。
詳しくは、リリース ステージの説明 をご覧ください。
このページでは、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
の暗号ハッシュを計算します。
警告: SHA1 は、安全とはみなされなくなりました。セキュリティを強化するには、別のハッシュ関数を使用します。
入力パラメータ
str: 入力文字列。
戻り値の型
BYTES
出力
160 ビット(20 バイト)のハッシュ値を返します。
SHA256
SHA512
SHA3
JSON 関数
Manifest XML
構文
manifestXml(json, format = "badgerfish", indent_output = false)
説明
指定された入力 JSON オブジェクトを XML 文字列に変換します。
入力パラメータ
json: 入力 JSON オブジェクト。format: 入力 JSON 表現形式。
注: 使用されるデフォルトの JSON 表現形式は、BadgerFish です。manifestXml() 関数で現在サポートされているのは BadgerFish 形式のみです。
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 表現形式は、BadgerFish です。parseXml() 関数で現在サポートされているのは BadgerFish 形式のみです。
戻り値の型
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 を返します。
推奨事項