お知らせ: Google Cloud プロジェクトで Application Integration を使用できるようになりました。これで、同じ Google Cloud プロジェクト内で Apigee Integration と Application Integration の両方を使用できるようになりました。詳細
プレビュー
— Data Transformer Script task
この機能には、サービス固有の利用規約 の「一般的なサービス規約」の「pre-GA サービス規約」が適用されます。
pre-GA の機能は「現状有姿」で利用できますが、サポートが制限される場合があります。
詳しくは、リリース ステージの説明 をご覧ください。
このページでは、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
の暗号ハッシュを計算します。
警告: 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 文字列。区切り文字: 使用する区切り文字。デフォルト値は「,」です。
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 を返します。