このトピックでは、Simple Log Serviceでデータを変換するために呼び出すことができる関数について説明します。
グローバル処理機能
カテゴリ | 関数 | 説明 |
e_if | 指定された条件が満たされた場合に操作を実行します。 複数の条件と操作のペアを指定できます。
| |
e_if_else | 条件の評価結果に基づいて操作を行います。 | |
e_switch | 指定された条件が満たされた場合に操作を実行します。 複数の条件と操作のペアを指定できます。
| |
e_compose | 複数の操作を組み合わせます。
| |
e_drop | 指定された条件が満たされた場合、ログを破棄します。 | |
e_keep | 指定された条件が満たされた場合にログを保持します。 | |
e_split | 指定されたフィールドの値に基づいて、ログを複数のログに分割します。 JMESPath式を使用してフィールドの値を抽出し、ログを分割することもできます。 | |
e_output | 指定されたLogstoreにログを書き込みます。 ログのシャードのトピック、ソース、タグ、およびMD5ハッシュキーを指定できます。 ログは、指定されたLogstoreに書き込まれた後に削除されます。 システムはログを変換しなくなりました。 | |
e_coutput | 指定されたLogstoreにログを書き込みます。 ログのシャードのトピック、ソース、タグ、およびMD5ハッシュキーを指定できます。 ログは、指定されたLogstoreに書き込まれた後も保持されます。 システムは、保持されたログを変換し続ける。 | |
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 | facilityフィールドとseverityフィールドの値を計算し、レベル情報を示すfacilitylabelフィールドの値を返します。 この関数は、priorityフィールドの値と指定されたsyslogプロトコルに基づいて値を計算します。 | |
e_anchor | anchor_rulesで指定されたルールを使用して文字列を抽出します。 | |
e_dict_map | 入力フィールドの値を指定したディクショナリの値にマップし、新しいフィールドを返します。 | |
e_table_map | 入力フィールドの値を指定されたテーブルの行にマップし、新しいフィールドを返します。 | |
e_tablestore_map | Tablestoreのデータテーブルをディメンションテーブルとして使用して、生ログを強化します。 | |
e_redis_map | ApsaraDB for Redisのデータテーブルをディメンションテーブルとして使用して、生ログを強化します。 |
Expression functions
カテゴリ | 関数 | 説明 |
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に評価された場合はtrueを返します。 各式の値は、任意のデータ型とすることができる。 | |
op_not | 論理NOT演算子を使用して指定された式を評価し、指定された式の逆ブール値を返します。 式の値は任意のデータ型にすることができます。 | |
op_or | 論理OR演算子を使用して指定された式を評価し、指定された式がTrueに評価された場合はtrueを返し、指定されたすべての式がFalseに評価された場合は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 | フィールドまたは式の値を2進数に変換します。 | |
bin2oct | バイナリバイト文字列を8進文字列に変換します。 | |
bin2hex | バイナリバイト文字列を16進文字列に変換します。 | |
op_abs | 入力値の絶対値を返します。 | |
op_div_floor | 2つの入力値の商の整数部分を返します。 | |
op_div_true | 2つの入力値の商を返します。 | |
op_pow | 指定された累乗の入力値を返します。 | |
op_mul | 2つの入力値の積を返します。 | |
op_neg | 入力値の反対の数を返します。 | |
op_mod | 入力値を他の入力値で割った余りを返します。 | |
op_sub | 2つの入力値の差を返します。 | |
op_round | 丸められた入力値を返します。 | |
op_sum | 入力値の合計を返します。 | |
mat_ceil | 入力値を最も近い整数に切り上げます。 | |
mat_exp | 入力値の累乗でオイラーの数を返します。 | |
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 | 2つの入力値のユークリッドノルムを返します。 | |
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 | 文字列に小数文字のみが含まれているかどうかを確認します。 | |
str_isdigit | 文字列に数字のみが含まれるかどうかをチェックします。 | |
str_isidentifier | 文字列が有効なPython識別子であるかどうか、または変数名が有効かどうかを確認します。 | |
str_islower | 文字列に小文字が含まれているかどうかをチェックします。 | |
str_isnumeric | 文字列に数字が含まれているかどうかをチェックします。 | |
str_isprintable | 文字列内のすべての文字が印刷可能な文字かどうかをチェックします。 | |
str_isspace | 文字列にスペースのみが含まれるかどうかをチェックします。 | |
str_istitle | 文字列の各単語の最初の文字が大文字で、文字列の他の文字が小文字であるかどうかを確認します。 | |
str_isapper | 文字列内のすべての文字が大文字かどうかをチェックします。 | |
str_uuid | ランダムな汎用一意識別子 (UUID) を生成します。 | |
dt_parse | time式の値または値をdatetimeオブジェクトに変換します。 | |
dt_str | 時間式の値または値を文字列に変換します。 | |
dt_parsetimestamp | time式の値または値をUNIX timestampに変換します。 | |
dt_prop | 値の特定の属性を返します。または、時間式の値の特定の属性を返します。 属性は日または年です。 | |
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 | 指定された時間を前または次の第N月曜日の日付にオフセットします。 オフセット値Nは、 | |
dt_TU | 指定された時間を前または次の第N火曜日の日付にオフセットします。 オフセット値Nは、 | |
dt_WE | 指定された時間を前または次の第N水曜日の日付にオフセットします。 オフセット値Nは、 | |
dt_TH | 指定された時間を前または次の第N木曜日の日付にオフセットします。 オフセット値Nは、 | |
dt_FR | 指定された時間を前または次の第N金曜日の日付にオフセットします。 オフセット値Nは、 | |
dt_SA | 指定された時間を前または次の第N土曜日の日付にオフセットします。 オフセット値Nは、 | |
dt_SU | 指定された時間を前または次の第N日曜日の日付にオフセットします。 オフセット値Nは、 | |
dt_astimezone | time式の値または値を、指定したタイムゾーンのdatetimeオブジェクトに変換します。 | |
dt_diff | 指定した時間粒度に基づいて、2つの値または2つの時間式の値の差を返します。 | |
regex_select | 正規表現に一致する値を抽出します。 | |
regex_findall | 正規表現に一致するすべての値を抽出します。 | |
regex_match | 値が正規表現と一致するかどうかをチェックします。 | |
regex_replace | 文字列の正規表現に一致する文字を置き換えます。 | |
regex_split | 文字列を文字列の配列に分割します。 | |
グロク | 正規表現に一致する値を抽出します。 | |
json_select | JMESPathを使用して、JSON式から特定の値を抽出または計算します。 | |
json_parse | 値をJSONオブジェクトに解析します。 | |
xml_to_json | XMLデータをJSONデータに変換し、変換されたデータを展開します。 | |
geo_parse | IPアドレスに基づいて、市、州、国を識別します。 | |
ip_cidrmatch | IPアドレスがCIDR (Classless Inter-Domain Routing) ブロックに属しているかどうかをチェックします。 | |
ip_version | IPアドレスのバージョンがIPv4かIPv6かを確認します。 | |
ip_type | IPアドレスのタイプを識別し、IPアドレスのタイプがプライベートかパブリックかを確認します。 | |
ip_makenet | IPアドレスをCIDRブロックに変換します。 | |
ip_to_format | CIDRブロックの形式を、CIDRブロックのネットマスクまたはプレフィックス長を指定する形式に変換します。 | |
ip_overlaws | 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 Token (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のコンポーネントを返します。 | |
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内のデータを変換するときに、別のLogstoreからデータをプルします。 継続的にデータをプルできます。 | |
res_oss_file | 指定されたobject Storage Service (OSS) バケット内のオブジェクトからデータを取得します。 データは定期的に更新できます。 |