このトピックでは、データ変換ジョブで使用可能なすべての関数を一覧表示します。
グローバル処理関数
関数分類 | 関数名 | 説明 |
e_if | 指定された条件が満たされた場合に操作を実行します。複数の「条件-操作」ペアを指定できます。
| |
e_if_else | 条件の評価結果に基づいて操作を実行します。 | |
e_switch | 条件と操作の組み合わせです。
| |
e_compose | 複数の操作を結合します。
| |
e_drop | 指定された条件が満たされた場合にログを破棄します。 | |
e_keep | 指定された条件が満たされた場合にログを保持します。 | |
e_split | 指定されたフィールドの値に基づいて、1 つのログを複数のログに分割します。JMESPath 式を用いてフィールドの値を抽出し、その後ログを分割することも可能です。 | |
e_output |
ログを指定された Logstore に出力します。出力先の Topic、ソース、タグ、シャードハッシュ情報を設定します。出力後、そのログに対しては以降の変換ルールは実行されません。 |
|
e_coutput |
ログを指定された Logstore に出力します。出力先の Topic、ソース、タグ、シャードハッシュ情報を設定します。出力後、そのログに対しては以降の変換ルールも継続して実行されます。 |
|
e_to_metric | ログを Metricstore に格納可能なメトリックに変換します。 | |
v | ログからフィールドの値を抽出します。複数のフィールド名を指定した場合、ログ内に存在する最初のフィールドの値を返します。 | |
e_set | 新規フィールドを追加するか、既存フィールドに新しい値を設定します。 | |
e_drop_fields | 指定された条件を満たすログフィールドを削除します。 | |
e_keep_fields | 指定された条件を満たすログフィールドを保持します。 | |
e_pack_fields | ログフィールドをカプセル化し、そのフィールド群を新しいフィールドの値として割り当てます。 | |
e_rename | 指定された条件を満たすログフィールドの名前を変更します。 | |
e_regex | 正規表現に基づいてフィールドの値を抽出し、その値を他のフィールドに割り当てます。 | |
e_json | ログ内の指定されたフィールドに含まれる JSON オブジェクトを管理します。パラメーターを設定することで、JSON データの展開、JMESPath 式による JSON データの抽出、抽出された JSON データの展開などが可能です。 | |
e_kv | 指定された引用符を用いて、複数の入力フィールドからキーと値のペアを抽出します。 | |
e_kv_delimit | 指定されたデリミタを用いて、入力フィールドからキーと値のペアを抽出します。 | |
e_csv | 指定されたフィールドから、指定されたデリミタおよび事前定義されたフィールド名を用いて複数のフィールドを抽出します。デフォルトのデリミタはカンマ (,) です。 | |
e_tsv |
指定されたフィールドから、カスタムデリミタおよび事前定義されたフィールド名を用いて複数のフィールドを抽出します。デフォルトのデリミタは |
|
e_psv | 指定されたソースフィールドから、指定されたデリミタおよび事前定義されたフィールド名を用いて複数のフィールドを抽出します。デフォルトのデリミタは縦棒 (|) です。 | |
e_syslogrfc | Syslog プロトコルに従い、優先度値からファシリティおよび重大度値を導出し、対応するログレベルを決定します。 | |
e_anchor | anchor_rules で指定されたルールに従って文字列を抽出します。 | |
e_dict_map | フィールドマッピング辞書により、入力フィールドを新しいフィールドにマップします。 | |
e_table_map | 入力フィールドに基づき、マッピングテーブル内の対応する行を検索し、そのフィールド値を返します。 | |
e_tablestore_map | Tablestore 内のデータテーブルをディメンションテーブルとして用いて、生ログをエンリッチします。 | |
e_redis_map | ApsaraDB for Redis 内のデータテーブルをディメンションテーブルとして用いて、生ログをエンリッチします。 |
式関数
関数分類 | 関数名 | 説明 |
e_has | フィールドが存在するかどうかをチェックします。 | |
e_not_has | フィールドが存在しないかどうかをチェックします。 | |
e_search | Lucene に類似したクエリ構文を用いてログを検索します。 | |
e_match、e_match_all、および e_match_any | ログフィールドの値が正規表現で指定された条件を満たすかどうかをチェックします。 | |
op_if | 指定された条件に基づいて式の値を返します。 | |
op_ifnull | 値が None でない最初の式の値を返します。 | |
op_coalesce | 値が None でない最初の式の値を返します。 | |
op_nullif | 式 1 の値と式 2 の値が等しい場合は None を返します。式 1 と式 2 の値が異なる場合は、式 1 の値を返します。 | |
op_and | 論理 AND 演算子を用いて指定された式を評価し、すべての式が真である場合に True を返します。各式の値は任意のデータの型を取り得ます。 | |
op_not | 論理 NOT 演算子を用いて指定された式を評価し、その式の逆のブール値を返します。式の値は任意のデータの型を取り得ます。 | |
op_or | 論理 OR 演算子を用いて指定された式を評価し、いずれかの式が真である場合は True を返し、すべての式が偽である場合は False を返します。各式の値は任意のデータの型を取り得ます。 | |
op_eq |
|
|
op_ge |
|
|
op_gt |
|
|
op_le |
|
|
op_lt |
|
|
op_ne |
|
|
op_len | テキスト文字列の文字数を計算します。この関数は文字列、またはタプル・リスト・辞書を返す式に適用可能です。 | |
op_in | 文字列、タプル、リスト、または辞書が指定された要素を含むかどうかをチェックし、True または False を返します。 | |
op_not_in | 文字列、タプル、リスト、または辞書が指定された要素を含まないかどうかをチェックし、True または False を返します。 | |
op_slice | 指定された文字列、配列、またはタプルを切り捨てます。 | |
op_index | 指定された文字列、配列、またはタプルのインデックスに対応する要素を返します。 | |
op_add | 複数の値の合計を計算します。値は文字列または数値であり得ます。 | |
op_max | 複数のフィールドまたは式の値の中で最大の値を返します。 | |
op_min | 複数のフィールドまたは式の値の中で最小の値を返します。 | |
ct_int | フィールドまたは式の値を整数に変換します。 | |
ct_float | フィールドまたは式の値を浮動小数点数に変換します。 | |
ct_str | フィールドまたは式の値を文字列に変換します。 | |
ct_bool | フィールドまたは式の値をブール値に変換します。 | |
ct_chr | フィールドまたは式の ANSI または Unicode 値を文字に変換します。 | |
ct_ord | フィールドまたは式の文字を対応する ANSI または Unicode 値に変換します。 | |
ct_hex | フィールドまたは式の値を 16 進数に変換します。 | |
ct_oct | フィールドまたは式の値を 8 進法システムに変換します。 | |
ct_bin | フィールドまたは式の値をバイナリ数に変換します。 | |
bin2oct | バイナリバイト文字列を 8 進文字列に変換します。 | |
bin2hex | バイナリバイト文字列を 16 進文字列に変換します。 | |
op_abs | 入力値の絶対値を返します。 | |
op_div_floor | 入力値の整数除算を計算します。 | |
op_div_true | 入力値を除算します。 | |
op_pow | 入力値を指定されたべき乗で累乗した値を返します。 | |
op_mul | 入力値を乗算します。 | |
op_neg | 入力値の符号反転(相反数)を返します。 | |
op_mod | 入力値に対する剰余(モジュロ)計算を行います。 | |
op_sub | 入力値に対して減算を適用します。 | |
op_round | 入力値を四捨五入します。 | |
op_sum | 入力値の合計を返します。 | |
mat_ceil | 入力値を最も近い整数に切り上げます。 | |
mat_exp | 底が e の指数関数を表します。 | |
mat_fabs | 入力値の絶対値を返します。 | |
mat_floor | 入力値を最も近い整数に切り下げます。 | |
mat_log | 入力値の対数を計算します。 | |
mat_log10 | 入力値の常用対数(底が 10 の対数)を返します。 | |
mat_sqrt | 入力値の平方根を返します。 | |
mat_degrees | ラジアンを度に変換します。 | |
mat_radians | 度をラジアンに変換します。 | |
mat_sin | 入力値(ラジアン単位)の正弦を返します。 | |
mat_cos | 入力値(ラジアン単位)の余弦を返します。 | |
mat_tan | 入力値(ラジアン単位)の正接を返します。 | |
mat_acos | 入力値の逆余弦をラジアン単位で返します。 | |
mat_asin | 入力値の逆正弦をラジアンで返します。 | |
mat_atan | 入力値の逆正接をラジアン単位で返します。 | |
mat_atan2 | X 座標および Y 座標の逆正接を返します。 | |
mat_atanh | 入力値の逆双曲線正接を返します。 | |
mat_hypot | 入力値のユークリッドノルムを計算します。 | |
str_format | 指定されたフォーマットを用いて文字列を整形します。 | |
str_join | 指定されたコネクタを用いて入力文字列を連結し、新しい文字列を生成します。 | |
str_zip | 式によって返される 2 つの値または文字列を同時に分割し、その結果を 1 つの文字列に結合します。 | |
str_encode | 指定されたエンコード形式を用いて文字列をエンコードします。 | |
str_decode | 指定されたエンコード形式を用いて入力値をデコードします。 | |
str_hex_escape_encode | 特殊文字をエスケープします。この関数は、16 進文字を漢字にエスケープできます。 | |
str_sort | 指定されたオブジェクトを並べ替えます。 | |
str_reverse | 文字列を逆順にします。 | |
str_replace | 指定されたルールに基づき、既存の文字列を指定された文字列に置き換えます。 | |
str_logtash_config_normalize | Logstash 構成言語で記述されたデータを JSON 形式に変換します。 | |
str_translate | 文字列内の指定された文字をマッピング文字で置き換えます。 | |
str_strip | 文字列から指定された文字を削除します。 | |
str_lstrip | 文字列の先頭から指定された文字を削除します。 | |
str_rstrip | 文字列の末尾から指定された文字を削除します。 | |
str_lower | 文字列内のすべての大文字を小文字に変換します。 | |
str_upper | 文字列内のすべての小文字を大文字に変換します。 | |
str_title | 文字列内の各単語の先頭文字を大文字にし、その他の文字を小文字に変換します。 | |
str_capitalize | 文字列の先頭文字を大文字にし、その他の文字を小文字に変換します。 | |
str_swapcase | 文字列内の小文字を大文字に、大文字を小文字に変換します。 | |
str_count | 文字列内の特定の文字の出現回数をカウントします。 | |
str_find | 文字列に指定された部分文字列が含まれているかどうかをチェックします。 | |
str_rfind | 文字列内での指定された文字の最後の出現位置を返します。 | |
str_endswith | 文字列が指定された接尾辞で終わっているかどうかをチェックします。 | |
str_startswith | 文字列が指定された文字列で始まっているかどうかをチェックします。 | |
str_split | 指定されたデリミタを用いて文字列を分割します。 | |
str_splitlines | 改行を用いて文字列を分割します。 | |
str_partition | 指定されたデリミタを用いて、文字列を左から右へ 3 つの部分に分割します。 | |
str_rpartition | 指定されたデリミタを用いて、文字列を右から左へ 3 つの部分に分割します。 | |
str_center | 指定された長さになるよう、指定された文字で文字列をパディングします。 | |
str_ljust | 文字列の末尾から指定された文字でパディングし、指定された長さにします。 | |
str_rjust | 文字列の先頭から指定された文字でパディングし、指定された長さにします。 | |
str_zfill | 文字列の先頭から 0 を用いてパディングし、指定された長さにします。 | |
str_expandtabs |
文字列内の |
|
str_isalnum | 文字列が英字および数字のみで構成されているかどうかをチェックします。 | |
str_isalpha | 文字列が英字のみで構成されているかどうかをチェックします。 | |
str_isascii | 文字列が ASCII 表に収まるかどうかをチェックします。 | |
str_isdecimal | 文字列が 10 進数の文字のみで構成されているかどうかをチェックします。 | |
str_isdigit | 文字列が数字のみで構成されているかどうかをチェックします。 | |
str_isidentifier | 文字列が有効な Python 識別子であるかどうか、または変数名が有効であるかどうかをチェックします。 | |
str_islower | 文字列が小文字のみで構成されているかどうかを判定します。 | |
str_isnumeric | 文字列が数字のみで構成されているかどうかをチェックします。 | |
str_isprintable | 文字列内のすべての文字が印刷可能文字であるかどうかをチェックします。 | |
str_isspace | 文字列が空白文字のみで構成されているかどうかをチェックします。 | |
str_istitle | 文字列内の各単語の先頭文字が大文字で、その他の文字が小文字であるかどうかをチェックします。 | |
str_isupper | 文字列内のすべての文字が大文字であるかどうかをチェックします。 | |
str_uuid | ランダムな普遍的固有識別子 (UUID) を生成します。 | |
dt_parse | 値または時刻式の値を datetime オブジェクトに変換します。 | |
dt_str | 値または時刻式の値を文字列に変換します。 | |
dt_parsetimestamp | 値または時刻式の値を UNIX タイムスタンプに変換します。 | |
dt_prop | 値の特定の属性、または時刻式の値の特定の属性を返します。属性には「day」や「year」などがあります。 | |
dt_now | 現在の日付および時刻を返します。 | |
dt_today | 現在の日付のみを返します。 | |
dt_utcnow | 現在のタイムゾーンにおける現在の datetime オブジェクトを返します。 | |
dt_fromtimestamp | UNIX タイムスタンプを datetime オブジェクトに変換します。 | |
dt_utcfromtimestamp | UNIX タイムスタンプを現在のタイムゾーンにおける datetime オブジェクトに変換します。 | |
dt_strptime | 時刻文字列を datetime オブジェクトに解析します。 | |
dt_currentstamp | 現在の UNIX タイムスタンプを返します。 | |
dt_totimestamp | datetime オブジェクトを UNIX タイムスタンプに変換します。 | |
dt_strftime | datetime オブジェクトを指定されたフォーマットの文字列に変換します。 | |
dt_strftimestamp | UNIX タイムスタンプを指定されたフォーマットの文字列に変換します。 | |
dt_truncate | 指定された時間の粒度に基づき、値または時刻式の値から時刻値を抽出します。 | |
dt_add | 指定された時間の粒度に基づき、値または時刻式の値を変更します。 | |
dt_MO |
|
|
dt_TU |
|
|
dt_WE |
|
|
dt_TH |
|
|
dt_FR |
|
|
dt_SA |
|
|
dt_SU |
|
|
dt_astimezone | 値または時刻式の値を指定されたタイムゾーンの datetime オブジェクトに変換します。 | |
dt_diff | 指定された時間の粒度に基づき、2 つの値または 2 つの時刻式の値の差を返します。 | |
regex_select | 正規表現に一致する値を抽出します。 | |
regex_findall | 正規表現に一致するすべての値を抽出します。 | |
regex_match | 値が正規表現に一致するかどうかをチェックします。 | |
regex_replace | 文字列内で正規表現に一致する文字を置き換えます。 | |
regex_split | 文字列を文字列の配列に分割します。 | |
grok | 正規表現に一致する値を抽出します。 | |
json_select | JMESPath を用いて JSON 式から特定の値を抽出または計算します。 | |
json_parse | 値を JSON オブジェクトに解析します。 | |
xml_to_json | XML データを JSON データに変換し、その後変換されたデータを展開します。 | |
geo_parse | IP アドレスに基づき、都市、都道府県、国を特定します。 | |
ip_cidrmatch | IP アドレスが Classless Inter-Domain Routing (CIDR) ブロックに属しているかどうかをチェックします。 | |
ip_version | IP アドレスのバージョンが IPv4 か IPv6 かをチェックします。 | |
ip_type | IP アドレスの種類を特定し、その IP アドレスが非公開か公開かをチェックします。 | |
ip_makenet | IP アドレスを CIDR ブロックに変換します。 | |
ip_to_format | CIDR ブロックのフォーマットを、ネットマスクまたはプレフィックス長を指定するフォーマットに変換します。 | |
ip_overlaps | 2 つの CIDR ブロックが重複しているかどうかをチェックします。 | |
ip2long | IP アドレスを long 型の値に変換します。 | |
long2ip | long 型の値を IP アドレスに変換します。 | |
url_encoding | データに対して URL エンコーディングを実行します。 | |
url_decoding | データに対して URL デコーディングを実行します。 | |
protobuf_decoding | 指定された protobuf テンプレートを用いてデータを JSON 形式に解析します。 | |
str_encode | 指定されたエンコード形式を用いて文字列をエンコードします。 | |
str_decode | 指定されたエンコード形式を用いて入力値をデコードします。 | |
base64_encoding | Base64 アルゴリズムを用いてデータをエンコードします。 | |
base64_decoding | Base64 アルゴリズムを用いてデータをデコードします。 | |
html_encoding | HTML 形式でデータをエンコードします。 | |
html_decoding | HTML エンコードされたデータをデコードします。 | |
md5_encoding | MD5 アルゴリズムを用いてデータをエンコードします。 | |
sha1_encoding | SHA1 アルゴリズムを用いてデータをエンコードします。 | |
crc32_encoding | データに対して巡回冗長検査 (CRC) コードを計算します。 | |
gzip_compress | データを圧縮およびエンコードします。 | |
gzip_decompress | 圧縮されたデータを解凍します。 | |
zlib_compress | データを圧縮およびエンコードします。 | |
zlib_decompress | 圧縮されたデータを解凍します。 | |
aes_encrypt | AES アルゴリズムを用いてデータを暗号化します。 | |
aes_decrypt | AES アルゴリズムを用いてデータを復号します。 | |
jwt_encoding | JSON Web トークン (JWT) 標準に基づき、JSON データをエンコードします。 | |
jwt_decoding | JWT 標準に基づき、データを元の JSON データにデコードします。 | |
hashids_encoding | Hashids ライブラリを用いてデータをエンコードします。 | |
hashids_decoding | Hashids ライブラリでエンコードされたデータをデコードします。 | |
ua_parse_device | User-Agent を解析し、デバイス情報を返します。 | |
ua_parse_os | User-Agent を解析し、オペレーティングシステム情報を返します。 | |
ua_parse_agent | User-Agent を解析し、ブラウザ情報を返します。 | |
ua_parse_all | User-Agent を解析し、すべての情報を返します。 | |
url_parse | URL を解析し、そのコンポーネントを返します。 | |
url_parse_qs | URL のクエリ文字列を解析し、そのコンポーネントを返します。 | |
lst_make | リストを作成します。 | |
lst_insert | リストの指定された位置に要素を挿入します。 | |
lst_append | リストに要素を追加します。 | |
lst_delete_at | リストから指定された位置の要素を削除します。 | |
lst_reverse | リスト内の要素の順序を逆にします。 | |
lst_get | リストまたはタプル内の指定された位置の要素を返します。 | |
dct_make | 辞書を作成します。 | |
dct_update | 辞書を更新します。 | |
dct_delete | 辞書からキーと値のペアを削除します。 | |
dct_keys | 辞書のキーを返します。 | |
dct_values | 辞書の値を返します。 | |
dct_get | 辞書内の指定されたキーに対応する値を返します。 | |
tab_parse_csv | カンマ区切り値 (CSV) テキストからテーブルを作成します。 | |
tab_to_dict | テーブルから辞書を作成します。 | |
res_local | 現在のデータ変換ジョブから高度なパラメーターの値を取得します。 | |
res_rds_mysql | ApsaraDB RDS for MySQL インスタンス上で作成されたデータベース内の指定されたテーブルからデータを取得するか、SQL ステートメントの実行結果を取得します。これらのデータおよび結果は定期的に更新可能です。 | |
|
res_log_LogStore_pull |
他の Logstore からデータを取得します。連続データの取得をサポートしています。 |
|
res_oss_file | 指定された Object Storage Service (OSS) バケット内のオブジェクトからデータを取得します。データは定期的に更新可能です。 |