Processadores de conversão de tipos de dados - CloudWatch Registros da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Processadores de conversão de tipos de dados

Esta seção contém informações sobre os processadores conversores de tipos de dados que você pode usar com um transformador de eventos de log.

typeConverter

Use o processador typeConverter para converter um tipo de valor associado à chave especificada para o tipo especificado. É um processador de conversão que altera os tipos dos campos especificados. Os valores podem ser convertidos em um dos seguintes tipos de dados: integer, double, string e boolean.

Campo Description Obrigatório? Padrão Limites

entries

Matriz de entradas. Cada item na matriz deve conter os campos key e type.

Sim

Máximo de entradas: 10

key

A chave com o valor que deve ser convertido em um tipo diferente

Sim

Tamanho máximo: 128

Profundidade máxima de chave aninhada: 3

type

O tipo para o qual converter. Os valores válidos são integer, double, string e boolean.

Sim

Exemplo

Observe o exemplo de evento de logs a seguir:

{ "name": "value", "status": "200" }

A configuração do transformador é esta, usando typeConverter com parseJSON:

[ { "parseJSON": {} }, { "typeConverter": { "entries": [ { "key": "status", "type": "integer" } ] } } ]

O evento de logs transformado seria o seguinte.

{ "name": "value", "status": 200 }

datetimeConverter

Use o processador datetimeConverter para converter uma string de data e hora em um formato que você especificar.

Campo Description Obrigatório? Padrão Limites

origem

A chave na qual aplicar a conversão de data.

Sim

Máximo de entradas: 10

matchPatterns

Uma lista de padrões para combinar com o campo source

Sim

Máximo de entradas: 5

target

O campo JSON no qual armazenar o resultado.

Sim

Tamanho máximo: 128

Profundidade máxima de chave aninhada: 3

targetFormat

O formato de data e hora a ser usado para os dados convertidos no campo de destino.

Não

yyyy-MM-dd'T'HH:mm:ss.SSS'Z

Tamanho máximo: 64

sourceTimezone

O fuso horário do campo de origem.

Para obter uma lista de valores possíveis, consulte Ids e deslocamentos de zona suportados por Java.

Não

UTC

Tamanho mínimo: 1

targetTimezone

O fuso horário do campo de destino.

Para obter uma lista de valores possíveis, consulte Ids e deslocamentos de zona suportados por Java.

Não

UTC

Tamanho mínimo: 1

locale

O locale do campo de origem.

Para obter uma lista de valores possíveis, consulte o Método Locale getAvailableLocales () em Java com exemplos.

Sim

Tamanho mínimo: 1

Exemplo

Observe o exemplo de evento de logs a seguir:

{"german_datetime": "Samstag 05. Dezember 1998 11:00:00"}

A configuração do transformador é esta, usando dateTimeConverter com parseJSON:

[ { "parseJSON": {} }, { "dateTimeConverter": { "source": "german_datetime", "target": "target_1", "locale": "de", "matchPatterns": ["EEEE dd. MMMM yyyy HH:mm:ss"], "sourceTimezone": "Europe/Berlin", "targetTimezone": "America/New_York", "targetFormat": "yyyy-MM-dd'T'HH:mm:ss z" } } ]

O evento de logs transformado seria o seguinte.

{ "german_datetime": "Samstag 05. Dezember 1998 11:00:00", "target_1": "1998-12-05T17:00:00 MEZ" }