Data Transformer 関数

このページでは、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]} を生成します。
入力パラメータ
  • array: メソッドが反復処理するコレクション。

    function: 配列内のすべての要素に対して呼び出される関数。

戻り値の型 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

構文
        
sha256(str)
      
説明 SHA-256(Secure Hash Algorithm 256)アルゴリズムを使用して、入力 STRING の暗号ハッシュを計算します。
入力パラメータ str: 入力文字列。
戻り値の型 BYTES
出力 256 ビット(32 バイト)のハッシュ値を返します。

SHA512

構文
        
sha512(str)
      
説明 SHA-512(Secure Hash Algorithm 512)アルゴリズムを使用して、入力 STRING の暗号ハッシュを計算します。
入力パラメータ str: 入力文字列。
戻り値の型 BYTES
出力 512 ビット(64 バイト)のハッシュ値を返します。

SHA3

構文
        
sha3(str)
      
説明 SHA-3(Secure Hash Algorithm 3)アルゴリズムを使用して、入力 STRING の暗号ハッシュを計算します。
入力パラメータ str: 入力文字列。
戻り値の型 BYTES
出力 512 ビット(64 バイト)のハッシュ値を返します。

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 オブジェクト表現を返します。

Parse CSV With Header

構文
        
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 です。

戻り値の型 実数。
出力 lowerBoundupperBound の間のランダムな実数を返します。

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
出力 先頭と末尾の空白文字を削除して、文字列のコピーを返します。

タイムスタンプ関数


Date Format

構文
        
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 を返します。

推奨事項