すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:機能の概要

最終更新日:Oct 31, 2024

このトピックでは、Simple Log Serviceでデータを変換するために呼び出すことができる関数について説明します。

グローバル処理機能

カテゴリ

関数

説明

フロー制御機能

e_if

指定された条件が満たされた場合に操作を実行します。 複数の条件と操作のペアを指定できます。

  • 条件が満たされている場合、関数は条件に対応する操作を実行します。 条件が満たされない場合、関数は操作を実行しませんが、次の条件を評価します。

  • 関数がログを削除する操作を実行した場合、関数はログに対して他の操作を実行しなくなります。

e_if_else

条件の評価結果に基づいて操作を行います。

e_switch

指定された条件が満たされた場合に操作を実行します。 複数の条件と操作のペアを指定できます。

  • 条件が満たされている場合、関数は条件に対応する操作を実行し、結果を返します。 条件が満たされない場合、関数は操作を実行しませんが、次の条件を評価します。

  • 指定された条件が満たされず、既定のパラメーターが設定されている場合、関数は既定のパラメーターで指定された操作を実行し、結果を返します。

  • 関数がログを削除する操作を実行した場合、関数はログに対して他の操作を実行しなくなります。

e_compose

複数の操作を組み合わせます。

  • この関数は、e_if、e_switch、またはe_if_else関数で一般的に使用されます。

  • この関数は、ログに対して指定された操作を順番に実行し、結果を返します。

  • 関数がログを削除する操作を実行した場合、関数はログに対して他の操作を実行しなくなります。

イベント処理関数

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

指定した区切り文字と定義済みのフィールド名を使用して、指定したフィールドから複数のフィールドを抽出します。 デフォルトの区切り文字は \tです。

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

a==b条件に基づいてTrueまたはFalseを返します。

op_ge

a>=bの条件に基づいてTrueまたはFalseを返します。

op_gt

a>bの条件に基づいてTrueまたはFalseを返します。

op_le

a<=bの条件に基づいてTrueまたはFalseを返します。

op_lt

a<b条件に基づいてTrueまたはFalseを返します。

op_ne

a!=bの条件に基づいてTrueまたはFalseを返します。

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

文字列の \tをスペースに変換します。

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_add関数のweekdayパラメーターに渡されます。

dt_TU

指定された時間を前または次の第N火曜日の日付にオフセットします。 オフセット値Nは、dt_add関数のweekdayパラメーターに渡されます。

dt_WE

指定された時間を前または次の第N水曜日の日付にオフセットします。 オフセット値Nは、dt_add関数のweekdayパラメーターに渡されます。

dt_TH

指定された時間を前または次の第N木曜日の日付にオフセットします。 オフセット値Nは、dt_add関数のweekdayパラメーターに渡されます。

dt_FR

指定された時間を前または次の第N金曜日の日付にオフセットします。 オフセット値Nは、dt_add関数のweekdayパラメーターに渡されます。

dt_SA

指定された時間を前または次の第N土曜日の日付にオフセットします。 オフセット値Nは、dt_add関数のweekdayパラメーターに渡されます。

dt_SU

指定された時間を前または次の第N日曜日の日付にオフセットします。 オフセット値Nは、dt_add関数のweekdayパラメーターに渡されます。

dt_astimezone

time式の値または値を、指定したタイムゾーンの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データに変換し、変換されたデータを展開します。

IPアドレス解析関数

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) バケット内のオブジェクトからデータを取得します。 データは定期的に更新できます。