Data Transformer 関数
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
このページでは、Apigee Integration で使用できる Data Transformer Script タスク用に事前定義された追加の Jsonnet 関数について説明します。
以下の事前定義済み関数を使用するには、スクリプトに functions
ライブラリをインポートする必要があります。functions
ライブラリをインポートすると、標準の Jsonnet 関数と事前定義された Data Transformer 関数の両方を使用できます。
Apigee 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: 入力配列。 |
戻り値の型 |
入力配列のデータ型。 |
出力/th> | 配列内の最小値を返します。 |
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 文字列。 区切り文字: 使用する区切り文字。デフォルト値は「,」です。 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)
|
説明 |
指定された数値が 10 進数かどうかを確認します。 |
入力パラメータ |
num: 入力数値。 |
戻り値の型 |
BOOLEAN
|
出力 |
数値が 10 進数の場合は 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()
|
説明 |
ランダムな UUID(Universally Unique Identifier)を STRING として生成します。返される STRING は、32 個の 16 進数を 5 つのグループにしてハイフンで区切った 8-4-4-4-12 という形式になります。この 16 進数は、122 個のランダムなビットと 6 個の固定ビットを表し、RFC 4122 セクション 4.4 に準拠しています。返される 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 を返します。 |
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-04-17 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["わかりにくい","hardToUnderstand","thumb-down"],["情報またはサンプルコードが不正確","incorrectInformationOrSampleCode","thumb-down"],["必要な情報 / サンプルがない","missingTheInformationSamplesINeed","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-04-17 UTC。"],[],[]]