

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á.

# Validação do fluxo de eventos de logs
<a name="ValidateLogEventFlow"></a>

Depois de criar o filtro de assinatura, o CloudWatch Logs encaminha todos os eventos de registro de entrada que correspondem ao padrão do filtro para o stream encapsulado no stream de destino chamado "”. **RecipientStream** O proprietário do destino pode verificar se isso está acontecendo usando o get-shard-iterator comando **aws kinesis** para obter um fragmento do Amazon Kinesis Data Streams e usando o comando **aws kinesis get-records para buscar alguns registros do Amazon Kinesis** Data Streams:

```
aws kinesis get-shard-iterator \
      --stream-name RecipientStream \
      --shard-id shardId-000000000000 \
      --shard-iterator-type TRIM_HORIZON

{
    "ShardIterator":
    "AAAAAAAAAAFGU/kLvNggvndHq2UIFOw5PZc6F01s3e3afsSscRM70JSbjIefg2ub07nk1y6CDxYR1UoGHJNP4m4NFUetzfL+wev+e2P4djJg4L9wmXKvQYoE+rMUiFq+p4Cn3IgvqOb5dRA0yybNdRcdzvnC35KQANoHzzahKdRGb9v4scv+3vaq+f+OIK8zM5My8ID+g6rMo7UKWeI4+IWiKEXAMPLE"
}

aws kinesis get-records \
      --limit 10 \
      --shard-iterator
      "AAAAAAAAAAFGU/kLvNggvndHq2UIFOw5PZc6F01s3e3afsSscRM70JSbjIefg2ub07nk1y6CDxYR1UoGHJNP4m4NFUetzfL+wev+e2P4djJg4L9wmXKvQYoE+rMUiFq+p4Cn3IgvqOb5dRA0yybNdRcdzvnC35KQANoHzzahKdRGb9v4scv+3vaq+f+OIK8zM5My8ID+g6rMo7UKWeI4+IWiKEXAMPLE"
```

**nota**  
Talvez seja necessário executar novamente o comando get-records algumas vezes antes que o Amazon Kinesis Data Streams comece a retornar dados.

Você deve ver uma resposta com uma matriz de registros do Amazon Kinesis Data Streams. O atributo de dados no registro do Amazon Kinesis Data Streams é compactado no formato gzip e, em seguida, codificado em base64. Você pode examinar os dados brutos na linha de comando usando o seguinte comando Unix:

```
echo -n "<Content of Data>" | base64 -d | zcat
```

Os dados base64 decodificados e descompactados têm o formato JSON com a seguinte estrutura:

```
{
    "owner": "111111111111",
    "logGroup": "CloudTrail/logs",
    "logStream": "111111111111_CloudTrail/logs_us-east-1",
    "subscriptionFilters": [
        "RecipientStream"
    ],
    "messageType": "DATA_MESSAGE",
    "logEvents": [
        {
            "id": "3195310660696698337880902507980421114328961542429EXAMPLE",
            "timestamp": 1432826855000,
            "message": "{\"eventVersion\":\"1.03\",\"userIdentity\":{\"type\":\"Root\"}"
        },
        {
            "id": "3195310660696698337880902507980421114328961542429EXAMPLE",
            "timestamp": 1432826855000,
            "message": "{\"eventVersion\":\"1.03\",\"userIdentity\":{\"type\":\"Root\"}"
        },
        {
            "id": "3195310660696698337880902507980421114328961542429EXAMPLE",
            "timestamp": 1432826855000,
            "message": "{\"eventVersion\":\"1.03\",\"userIdentity\":{\"type\":\"Root\"}"
        }
    ]
}
```

Os principais elementos nesta estrutura de dados são os seguintes:

**proprietário**  
O ID da AWS conta dos dados de registro de origem.

**logGroup**  
O nome do grupo de logs dos dados de log de origem.

**logStream**  
O nome do stream de log dos dados de log de origem.

**subscriptionFilters**  
A lista de nomes de filtro de assinatura que corresponderam aos dados de log de origem.

**messageType**  
As mensagens de dados usam o tipo "DATA\$1MESSAGE". Às vezes, CloudWatch os Logs podem emitir registros do Amazon Kinesis Data Streams com o tipo “CONTROL\$1MESSAGE”, principalmente para verificar se o destino está acessível.

**logEvents**  
Os dados de log reais, representados como um conjunto de registros de eventos de log. A propriedade ID é um identificador exclusivo de cada evento de log.