文字列ミューテーションプロセッサ - Amazon CloudWatch Logs

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

文字列ミューテーションプロセッサ

このセクションでは、ログイベントトランスフォーマーで使用できる文字列ミューテーションプロセッサについて説明します。

lowerCaseString

lowerCaseString プロセッサは文字列をその小文字バージョンに変換します。

フィールド 説明 必須? デフォルト 制限

withKeys

小文字に変換するキーのリスト

はい

最大エントリ: 10

ログイベントの例を以下に示します。

{ "outer_key": { "inner_key": "INNER_VALUE" } }

トランスフォーマーの設定は次のようになります。lowerCaseStringparseJSON を併用します。

[ { "parseJSON": {} }, { "lowerCaseString": { "withKeys":["outer_key.inner_key"] } } ]

変換されたログイベントは次のとおりです。

{ "outer_key": { "inner_key": "inner_value" } }

upperCaseString

upperCaseString プロセッサは文字列をその大文字バージョンに変換します。

フィールド 説明 必須? デフォルト 制限

withKeys

大文字に変換するキーのリスト

はい

最大エントリ: 10

ログイベントの例を以下に示します。

{ "outer_key": { "inner_key": "inner_value" } }

トランスフォーマーの設定は次のようになります。upperCaseStringparseJSON を併用します。

[ { "parseJSON": {} }, { "upperCaseString": { "withKeys":["outer_key.inner_key"] } } ]

変換されたログイベントは次のとおりです。

{ "outer_key": { "inner_key": "INNER_VALUE" } }

splitString

splitString プロセッサは、区切り文字を使用してフィールドを配列に分割する文字列ミューテーションプロセッサの一種です。

フィールド 説明 必須? デフォルト 制限

エントリ

エントリの配列。配列内の各項目には、source フィールドと delimiter フィールドが含まれている必要があります。

はい

最大エントリ: 10

ソース

分割するフィールド値のキー

はい

最大長: 128

delimiter

フィールド値を分割する区切り文字の文字列

はい

最大長: 128

例 1

ログイベントの例を以下に示します。

[ { "parseJSON": {} }, { "splitString": { "entries": [ { "source": "outer_key.inner_key", "delimiter": "_" } ] } } ]

トランスフォーマーの設定は次のようになります。splitStringparseJSON を併用します。

[ { "parseJSON": {} }, { "splitString": { "entries": [ { "source": "outer_key.inner_key", "delimiter": "_" } ] } } ]

変換されたログイベントは次のとおりです。

{ "outer_key": { "inner_key": [ "inner", "value" ] } }

例 2

文字列を分割する区切り文字は複数文字にすることができます。

ログイベントの例を以下に示します。

{ "outer_key": { "inner_key": "item1, item2, item3" } }

トランスフォーマーの設定は次のとおりです。

[ { "parseJSON": {} }, { "splitString": { "entries": [ { "source": "outer_key.inner_key", "delimiter": ", " } ] } } ]

変換されたログイベントは次のとおりです。

{ "outer_key": { "inner_key": [ "item1", "item2", "item3" ] } }

substituteString

substituteString プロセッサは文字列ミューテーションプロセッサの一種で、キーの値を正規表現と照合し、すべての一致を置換文字列に置き換えます。

フィールド 説明 必須? デフォルト 制限

エントリ

エントリの配列。配列内の各項目には、sourcefromto フィールドが含まれている必要があります。

はい

最大エントリ: 10

ソース

変更するフィールドのキー

はい

最大長: 128

ネストされたキーの最大深度: 3

送信元

置き換える正規表現の文字列。[and] などの特殊な正規表現文字は、二重引用符を使用する場合は \\、一重引用符を使用する場合や AWS マネジメントコンソールから設定する場合は \ を使用してエスケープする必要があります。詳細については、Oracle のウェブサイトの「 Class Pattern 」を参照してください。

パターンを (...) でラップして番号付きキャプチャグループを作成し、to フィールドで参照できる (?P<group_name>...) の名前付きキャプチャグループを作成できます。

はい

最大長: 128

次のように変更します。

キャプチャグループへの from バックリファレンスの一致ごとに置き換えられる文字列を使用できます。$1 などの番号付きグループには $n という形式を使用し、${my_group}.> などの名前付きグループには ${group_name} を使用します。

はい

最大長: 128

バックリファレンスの最大数: 10

重複するバックリファレンスの最大数: 2

例 1

ログイベントの例を以下に示します。

{ "outer_key": { "inner_key1": "[]", "inner_key2": "123-345-567", "inner_key3": "A cat takes a catnap." } }

トランスフォーマーの設定は次のようになります。substituteStringparseJSON を併用します。

[ { "parseJSON": {} }, { "substituteString": { "entries": [ { "source": "outer_key.inner_key1", "from": "\\[\\]", "to": "value1" }, { "source": "outer_key.inner_key2", "from": "[0-9]{3}-[0-9]{3}-[0-9]{3}", "to": "xxx-xxx-xxx" }, { "source": "outer_key.inner_key3", "from": "cat", "to": "dog" } ] } } ]

変換されたログイベントは次のとおりです。

{ "outer_key": { "inner_key1": "value1", "inner_key2": "xxx-xxx-xxx", "inner_key3": "A dog takes a dognap." } }

例 2

ログイベントの例を以下に示します。

{ "outer_key": { "inner_key1": "Tom, Dick, and Harry", "inner_key2": "arn:aws:sts::123456789012:assumed-role/MyImportantRole/MySession" } }

トランスフォーマーの設定は次のようになります。substituteStringparseJSON を併用します。

[ { "parseJSON": {} }, { "substituteString": { "entries": [ { "source": "outer_key.inner_key1", "from": "(\w+), (\w+), and (\w+)", "to": "$1 and $3" }, { "source": "outer_key.inner_key2", "from": "^arn:aws:sts::(?P<account_id>\\d{12}):assumed-role/(?P<role_name>[\\w+=,.@-]+)/(?P<role_session_name>[\\w+=,.@-]+)$", "to": "${account_id}:${role_name}:${role_session_name}" } ] } } ]

変換されたログイベントは次のとおりです。

{ "outer_key": { "inner_key1": "Tom and Harry", "inner_key2": "123456789012:MyImportantRole:MySession" } }

trimString

trimString プロセッサは、キーの先頭と末尾から空白を削除します。

フィールド 説明 必須? デフォルト 制限

withKeys

キーのリストをトリムするには

はい

最大エントリ: 10

ログイベントの例を以下に示します。

{ "outer_key": { "inner_key": " inner_value " } }

トランスフォーマーの設定は次のようになります。trimStringparseJSON を併用します。

[ { "parseJSON": {} }, { "trimString": { "withKeys":["outer_key.inner_key"] } } ]

変換されたログイベントは次のとおりです。

{ "outer_key": { "inner_key": "inner_value" } }