

O Amazon Monitron não está mais aberto a novos clientes. Os clientes atuais podem continuar usando o serviço normalmente. Para recursos semelhantes ao Amazon Monitron, consulte nossa [postagem no blog](https://aws.amazon.com/blogs/machine-learning/maintain-access-and-consider-alternatives-for-amazon-monitron).

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

# Exportação de dados do Amazon Monitron Kinesis v2
<a name="monitron-kinesis-export-v2"></a>

 Você pode exportar dados de medição recebidos e os resultados de inferência correspondentes do Amazon Monitron e realizar análises em tempo real. A exportação de dados transmite dados ao vivo para o Kinesis. 

**Topics**
+ [Exportar seus dados para um fluxo do Kinesis](#exporting-stream-procedure-v2)
+ [Editar configurações de exportação de dados ao vivo](#edit-live-export-v2)
+ [Interromper uma exportação de dados em tempo real](#stop-kinesis-export-v2)
+ [Visualizar erros de exportação de dados](#viewing-kinesis-export-errors-v2)
+ [Usar a criptografia do lado do servidor para o fluxo do Kinesis](#data-export-server-side-encryption-v2)
+ [Monitoramento com Amazon CloudWatch Logs](data-export-cloudwatch-logs-v2.md)
+ [Armazenar dados exportados no Amazon S3](kinesis-store-S3-v2.md)
+ [Processar dados com o Lambda](data-export-lambda-v2.md)
+ [Noções básicas do esquema de exportação de dados v2](data-export-schema-v2.md)
+ [Migração do Kinesis v1 para v2](migration-from-v1-to-v2.md)

## Exportar seus dados para um fluxo do Kinesis
<a name="exporting-stream-procedure-v2"></a>

1. Na página principal do seu projeto, na parte inferior da página, à direita, escolha **Iniciar exportação de dados ao vivo**.

1. Em **Selecionar fluxo de dados do Kinesis**, faça o seguinte:
   + Insira o nome de um fluxo existente na caixa de pesquisa. Depois disso, vá para a etapa 5.
   +  Escolha **Criar um novo fluxo de dados**. 

1. Na página **Criar fluxo de dados**, em **Configuração do fluxo de dados**, insira o nome do fluxo de dados.

1. Em Capacidade do fluxo de dados, escolha seu modo de capacidade:
   + Se os requisitos de throughput do seu fluxo de dados forem imprevisíveis e variáveis, escolha **Sob demanda**.
   + Se você puder estimar com segurança os requisitos de throughput do seu fluxo de dados, escolha **Provisionado**. Em seguida, em fragmentos provisionados, insira o número de fragmentos que você deseja criar ou escolha o **Estimador de fragmentos**.

1. Selecione **Criar fluxo de dados**.

## Editar configurações de exportação de dados ao vivo
<a name="edit-live-export-v2"></a>

Para editar suas configurações de exportação de dados em tempo real:

1. Abra o console do Amazon Monitron.

1. No painel de navegação, selecione **Projetos**.

1. Se você tiver vários projetos, escolha o projeto para o qual deseja editar as configurações de exportação.

1. Na página principal do seu projeto, em **Exportação de dados ativos**, no menu suspenso **Ações**, escolha **Editar configurações de exportação de dados ativos**.

## Interromper uma exportação de dados em tempo real
<a name="stop-kinesis-export-v2"></a>

1. Abra o console do Amazon Monitron.

1. No painel de navegação, selecione **Projetos**.

1. Se você tiver vários projetos, escolha o projeto para o qual deseja editar as configurações de exportação.

1. Na página principal do seu projeto, em **Exportação de dados ativos**, no menu suspenso **Ações**, escolha **Parar exportação de dados ativos**.

1. Na janela pop-up, escolha **Parar**.

## Visualizar erros de exportação de dados
<a name="viewing-kinesis-export-errors-v2"></a>

Para ver as mensagens de erro na interface de CloudWatch registros:
+ No console do Amazon Monitron, na página principal do seu projeto, em **Exportação de dados ao vivo**, escolha o grupo de **CloudWatch registros**.

## Usar a criptografia do lado do servidor para o fluxo do Kinesis
<a name="data-export-server-side-encryption-v2"></a>

Você pode ativar a criptografia do lado do servidor para seu fluxo do Kinesis antes de configurar a exportação de dados do Kinesis. No entanto, se a criptografia do lado do servidor for ativada após a configuração da exportação de dados do Kinesis, o Amazon Monitron não poderá publicar no fluxo. Isso porque o Amazon Monitron não terá permissão para chamar o [kms:](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) para que ele GenerateDataKey possa criptografar os dados enviados para o Kinesis.

Para contornar isso, siga as instruções em [Editar configurações de exportação de dados ao vivo](#edit-live-export-v2), mas sem alterar a configuração. Isso associará a criptografia que você configurou à sua configuração de exportação.

# Monitoramento com Amazon CloudWatch Logs
<a name="data-export-cloudwatch-logs-v2"></a>

Você pode monitorar a exportação de dados ao vivo do Amazon Monitron usando o Amazon CloudWatch Logs. Quando uma medição não é exportada, o Amazon Monitron envia um evento de registro para seus CloudWatch registros. Você também pode configurar um filtro métrico no log de erros para gerar métricas e configurar alarmes. Um alarme pode ser definido para determinados limites e enviar notificações ou realizar ações quando esses limites são atingidos. Para obter mais informações, consulte [o Guia CloudWatch do usuário](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html).

O Amazon Monitron envia eventos de log para o grupo de log/aws/monitron/data-export/ \$1HASH\$1ID\$1.

O evento de logs tem o seguinte formato JSON:

```
{
    "assetName": "string",
    "destination": "string",
    "errorCode": "string",
    "errorMessage": "string",
    "eventId": "string",
    "eventType": "string",
    "positionName": "string",
    "projectName": "string",
    "projectId": "string",
    "sensorId": "string",
    "gatewayId": "string",
    "siteName": "string",
    "timestamp": "string"
}
```

assetName  
+ O nome do ativo exibido no aplicativo
+ Tipo: string

destination  
+ O ARN do fluxo de dados do Kinesis
+ Tipo: string
+ Padrão: arn:aws:kinesis: \$1\$1REGION\$1\$1: \$1\$1AWS\$1ACCOUNT\$1ID\$1\$1 :stream/ \$1\$1STREAM\$1NAME\$1\$1 

errorCode  
+ O código do erro
+ Tipo: string
+ Valores válidos: `INTERNAL_SEVER_ERROR | KINESIS_RESOURCE_NOT_FOUND | KINESIS_PROVISIONED_THROUGHPUT_EXCEEDED | KMS_ACCESS_DENIED | KMS_NOT_FOUND | KMS_DISABLED | KMS_INVALID_STATE | KMS_THROTTLING`

errorMessage  
+ A mensagem de erro detalhada
+ Tipo: string

eventId  
+ O ID exclusivo do evento correspondente a cada exportação de medição
+ Tipo: string

eventType  
+ O tipo de evento atual
+ Tipo: string
+ Valores válidos: `measurement` ` | gatewayConnected` ` | gatewayDisconnected` ` | sensorConnected` ` | sensorDisconnected` ` | assetStateTransition` 

positionName  
+ O nome da posição do sensor exibido no aplicativo
+ Tipo: string

projectName  
+ O nome do projeto exibido no aplicativo e no console
+ Tipo: string

  

projectID  
+ O ID exclusivo do projeto correspondente ao projeto Amazon Monitron
+ Tipo: string

sensorID  
+ O ID físico do sensor do qual a medição é enviada
+ Tipo: string

gatewayID  
+ O ID físico do gateway usado para transmitir dados para o serviço Amazon Monitron
+ Tipo: string

siteName  
+ O nome do site exibido no aplicativo
+ Tipo: string

timestamp  
+ A data e hora em que a medição é recebida pelo serviço Amazon Monitron em UTC
+ Tipo: string
+ Padrão: yyyy-mm-dd HH:mm:SS.SSS

# Armazenar dados exportados no Amazon S3
<a name="kinesis-store-S3-v2"></a>

Se quiser armazenar seus dados exportados no Amazon S3, use o procedimento a seguir.

**Topics**
+ [Configurando o Kinesis manualmente no console](#kinesis-configure-console-v2)

## Configurando o Kinesis manualmente no console
<a name="kinesis-configure-console-v2"></a>

1. Faça login no AWS Management Console e abra o console do Kinesis em /kinesis. https://console.aws.amazon.com

1. Selecione **Fluxos de entrega** no painel de navegação.

1. Escolha **Create delivery stream (Criar fluxo de entrega)**.

1. Em Origem, selecione **Amazon Kinesis Data Streams**.

1. Em Destino, selecione **Amazon S3**.

1. Em **Configurações de origem, fluxo de dados do Kinesis**, insira o ARN do fluxo de dados do Kinesis.

1. Em **Nome do fluxo de entrega**, insira o nome do fluxo de dados do Kinesis.

1. Em **Configurações de destino**, escolha um bucket do Amazon S3 ou insira um URI do bucket.

1. (opcional) Ative o particionamento dinâmico usando análise embutida para JSON. Essa opção é apropriada se você quiser particionar os dados de medição de streaming com base nas informações da fonte e no registro de data e hora. Por exemplo:
   + Escolha **Ativado** para **Particionamento dinâmico**.
   + Escolha **Ativado** para **Novo delimitador de linha**.
   + Escolha **Ativado** para **Análise embutida para JSON**.
   + Em **Chaves de particionamento dinâmico**, adicione:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/Monitron/latest/user-guide/kinesis-store-S3-v2.html)

1. Escolha **Aplicar chaves de particionamento dinâmico** e confirme se o prefixo do bucket do Amazon S3 gerado é `!{partitionKeyFromQuery:project}/!{partitionKeyFromQuery:site}/!{partitionKeyFromQuery:time}/`.

1. No Amazon S3, os objetos usarão o seguinte formato de chave: `/project={projectName}/site={siteName}/time={yyyy-mm-dd 00:00:00}/{filename}`

1. Escolha **Create delivery stream (Criar fluxo de entrega)**.

# Processar dados com o Lambda
<a name="data-export-lambda-v2"></a>

**Topics**
+ [Etapa 1: criar a [função do IAM](https://docs.aws.amazon.com//lambda/latest/dg/lambda-intro-execution-role.html) que dá permissão à sua função para acessar AWS recursos](#data-export-lambda-v2-1)
+ [Etapa 2: Criar a função do Lambda](#create-lambda-function-v2)
+ [Etapa 3: Configurar a função do Lambda](#configure-lambda-function-v2)
+ [Etapa 4: Ativar o gatilho do Kinesis no console AWS Lambda](#configure-kinesis-trigger-v2)

## Etapa 1: criar a [função do IAM](https://docs.aws.amazon.com//lambda/latest/dg/lambda-intro-execution-role.html) que dá permissão à sua função para acessar AWS recursos
<a name="data-export-lambda-v2-1"></a>

1. Abra a [página Roles](https://console.aws.amazon.com/iam/home?#/roles) (Funções) no console do IAM.

1. Selecione **Create role** (Criar função).

1. Na página **Selecionar entidade confiável**, faça o seguinte:
   + Em **Tipo de entidade confiável**, escolha **AWS serviço**.
   + Em **Caso de uso**, para **Serviço ou caso de uso**, escolha **Lambda**.
   + Escolha **Próximo**.  
![\[IAM role creation interface showing trusted entity selection with AWS service (Serviço da AWS) option chosen.\]](http://docs.aws.amazon.com/pt_br/Monitron/latest/user-guide/images/lambda-role-1.png)

1. Na página **Adicionar permissões**, faça o seguinte: 
   + Em **Políticas de permissões**, escolha AWSLambda KinesisExecutionRole (e AWSKey ManagementServicePowerUser se o stream do Kinesis estiver criptografado).
   + Deixe as configurações em **Definir limite de permissões como estão**.
   + Escolha **Próximo**.  
![\[Add permissions interface showing AWSLambdaKinesisExecutionRole policy selected for a new role.\]](http://docs.aws.amazon.com/pt_br/Monitron/latest/user-guide/images/lambda-role-2.png)

1. Na página **Nome, revisão e criação**, faça o seguinte: 
   + Em **Detalhes da função**, em **Nome da função**, insira um nome para sua função. Por exemplo, *lambda-kinesis-role*. Você também pode optar por adicionar uma **Descrição** opcional.
   + Deixe as configurações para a **Etapa 1: Selecionar entidades confiáveis** e a **Etapa 2: Adicionar permissões** como estão. Você pode optar por adicionar tags na **Etapa 3: Adicionar tags** para acompanhar seus recursos.  
![\[IAM role creation interface showing name, review, and create steps with role details and permissions.\]](http://docs.aws.amazon.com/pt_br/Monitron/latest/user-guide/images/lambda-create-role.png)

1. Selecione **Criar perfil**.

## Etapa 2: Criar a função do Lambda
<a name="create-lambda-function-v2"></a>

1. Abra a **página Funções** no console do Lambda.

1. Escolha a opção **Criar função**.

1. Selecione **Use o esquema**.

1. Na barra de pesquisa do **Blueprints**, pesquise e escolha **kinesis-process-record (nodejs**) ou. **kinesis-process-record-python**

1. Selecione **Configurar**.  
![\[Create function interface with options to author from scratch, use a blueprint, or select container image.\]](http://docs.aws.amazon.com/pt_br/Monitron/latest/user-guide/images/lambda-create-function.png)

## Etapa 3: Configurar a função do Lambda
<a name="configure-lambda-function-v2"></a>

1. Selecione **Fluxos de entrega** no painel de navegação.

1. Escolha a função criada na primeira etapa como a **função Execução**.

1. Configure o gatilho do Kinesis.

   1. Escolha o fluxo do Kinesis.

   1. Clique em **Criar função**.  
![\[Lambda function configuration form with basic information and Kinesis trigger settings.\]](http://docs.aws.amazon.com/pt_br/Monitron/latest/user-guide/images/lambda-kinesis-trigger.png)

## Etapa 4: Ativar o gatilho do Kinesis no console AWS Lambda
<a name="configure-kinesis-trigger-v2"></a>

1. Na guia **Configuração**, selecione **Acionadores**.

1. Marque a caixa ao lado do nome do fluxo do Kinesis e escolha **Ativar**.  
![\[Lambda function configuration page with Triggers tab and Kinesis stream trigger highlighted.\]](http://docs.aws.amazon.com/pt_br/Monitron/latest/user-guide/images/kinesis-process-record-lambda.png)

O esquema usado neste exemplo só consome dados de log do fluxo selecionado. Você pode editar ainda mais o código da função do Lambda posteriormente para concluir uma tarefa mais complicada. 

# Noções básicas do esquema de exportação de dados v2
<a name="data-export-schema-v2"></a>

 Cada dado de medição, seu resultado de inferência correspondente e os connect/disconnect, and sensor connect/disconnect eventos do gateway são exportados como um registro de stream de dados do Kinesis no formato JSON. 

**Topics**
+ [formato do esquema v2](#data-export-schema-format-v2)
+ [parâmetros do esquema v2](#data-export-schema-parameters-v2)

## formato do esquema v2
<a name="data-export-schema-format-v2"></a>

```
{
    "timestamp": "string",
    "eventId": "string",
    "version": "2.0",
    "accountId": "string",
    "projectName": "string",
    "projectId": "string",
    "eventType": "measurement|gatewayConnected|gatewayDisconnected|sensorConnected|sensorDisconnected|assetStateTransition",
    // measurement
    "eventPayload": {
        "siteName": "string",
        "assetName": "string",
        "positionName": "string",
        "companyName": "string",
        "geoLocation": {
            "latitude": number,
            "longitude": number
        },
        "address": "string",
        "serialNumber": "string",
        "make": "string",
        "model": "string",
        "assetPositionURL": "string",
        "sensor": {
            "physicalId": "string",
            "rssi": number
        },
        "gateway": {
            "physicalId": "string"
        },
        "sequenceNo": number,
        "features": {
            "acceleration": {
                "band0To6000Hz": {
                    "xAxis": {
                        "rms": number
                    },
                    "yAxis": {
                        "rms": number
                    },
                    "zAxis": {
                        "rms": number
                    }
                },
                "band10To1000Hz": {
                    "totalVibration": {
                        "absMax": number,
                        "absMin": number,
                        "crestFactor": number,
                        "rms": number
                    },
                    "xAxis": {
                        "rms": number
                    },
                    "yAxis": {
                        "rms": number
                    },
                    "zAxis": {
                        "rms": number
                    }
                }
            },
            "velocity": {
                "band10To1000Hz": {
                    "totalVibration": {
                        "absMax": number,
                        "absMin": number,
                        "crestFactor": number,
                        "rms": number
                    },
                    "xAxis": {
                        "rms": number
                    },
                    "yAxis": {
                        "rms": number
                    },
                    "zAxis": {
                        "rms": number
                    }
                }
            },
            "temperature": number
        }
        "models": {
            "temperatureML": {
                "previousPersistentClassificationOutput": "string",
                "persistentClassificationOutput": "string",
                "pointwiseClassificationOutput": "string"
            },
            "vibrationISO": {
                "isoClass": "string",
                "mutedThreshold": "string",
                "previousPersistentClassificationOutput": "string",
                "persistentClassificationOutput": "string",
                "pointwiseClassificationOutput": "string"
            },
            "vibrationML": {
                "previousPersistentClassificationOutput": "string",
                "persistentClassificationOutput": "string",
                "pointwiseClassificationOutput": "string"
            }
        },
        "assetPositionId": "string"
    }
    
    // sensorConnected
    "eventPayload": {
        "siteName": "string",
        "assetName": "string",
        "positionName": "string",
        "companyName": "string",
        "geoLocation": {
            "latitude": number,
            "longitude": number
        },
        "address": "string",
        "serialNumber": "string",
        "make": "string",
        "model": "string",
        "assetPositionURL": "string",
        "sensor": {
            "physicalId": "string"
        },
        "assetPositionId": "string"
    }
    
    // sensorDisconnected
    "eventPayload": {
        "siteName": "string",
        "assetName": "string",
        "positionName": "string",
        "companyName": "string",
        "geoLocation": {
            "latitude": number,
            "longitude": number
        },
        "address": "string",
        "serialNumber": "string",
        "make": "string",
        "model": "string",
        "assetPositionURL": "string",
        "sensor": {
            "physicalId": "string"
        },
        "assetPositionId": "string"
    }
    
    // gatewayConnected
    "eventPayload": {
        "siteName": "string",
        "gatewayName": "string",
        "gatewayListURL": "string",
        "companyName": "string",
        "geoLocation": {
            "latitude": number,
            "longitude": number
        },
        "address": "string",
        "gateway": {
            "physicalId": "string"
        }
    }
    
    // gatewayDisconnected
    "eventPayload": {
        "siteName": "string",
        "gatewayName": "string",
        "gatewayListURL": "string",
        "companyName": "string",
        "geoLocation": {
            "latitude": number,
            "longitude": number
        },
        "address": "string",
        "gateway": {
            "physicalId": "string"
        }
    }
    
    // assetStateTransition
    "eventPayload": {
        "siteName": "string",
        "assetName": "string",
        "positionName": "string",
        "companyName": "string",
        "geoLocation": {
            "latitude": number,
            "longitude": number
        },
        "address": "string",
        "serialNumber": "string",
        "make": "string",
        "model": "string",
        "assetPositionURL": "string",
        "sensor": {
            "physicalId": "string"
        },
        "assetTransitionType": "measurement|userInput",
        "assetState": {
            "newState": "string",
            "previousState": "string"
        },
        "closureCode": {
            "failureMode": "string",
            "failureCause": "string",
            "actionTaken": "string",
            "resolvedModels": list<"string">
        },
        "assetPositionId": "string"
    }
}
```

## parâmetros do esquema v2
<a name="data-export-schema-parameters-v2"></a>

 O esquema de exportação de dados v2 do Amazon Monitron Kinesis inclui os seguintes parâmetros de esquema. Alguns parâmetros são atualizações da v1 e alguns são exclusivos da v2. Por exemplo, o `siteName` era um parâmetro de primeiro nível na v1. Na v2, é um parâmetro de segundo nível que pode ser encontrado na entidade da `eventPayload`. 

timestamp  
+ A data e hora em que a medição é recebida pelo serviço Amazon Monitron em UTC
+ Tipo: string
+ Padrão: yyyy-mm-dd HH:mm:SS.SSS

eventId  
+ O ID exclusivo do evento de exportação de dados atribuído para cada medição. Pode ser usado para desduplicar os registros de fluxo do Kinesis recebidos.
+ Tipo: string

versão  
+ Versão do esquema
+ Tipo: string
+ Valor: 1,0 ou 2,0

accountId  
+ O ID da AWS conta de 12 dígitos para seu projeto Monitron
+ Tipo: string

projectName  
O nome do projeto exibido no aplicativo e no console.  
Tipo: string

projectId  
O ID exclusivo do seu Amazon Monitron projeto.  
Tipo: string

eventType  
+ O fluxo de eventos atual. Cada tipo de evento terá um formato `eventPayload` dedicado.
+ Tipo: string
+ Possíveis valores: `measurement`, `gatewayConnected`, `gatewayDisconnected`, `sensorConnected`, `sensorDisconnected`, `assetStateTransition`.

**`eventType: measurement`**

eventPayload.features.acceleration.band0To6000Hz.xAxis.rms  
+ A raiz quadrada média da aceleração observada na faixa de frequência de 0 a 6.000 Hz no eixo x.
+ Tipo: número
+ Unidade: m/s^2

eventPayload.features.acceleration.band0To6000Hz.yAxis.rms  
+ A raiz quadrada média da aceleração observada na faixa de frequência de 0 a 6.000 Hz no eixo y.
+ Tipo: número
+ Unidade: m/s^2

eventPayload.features.acceleration.band0To6000Hz.zAxis.rms  
+ A raiz quadrada média da aceleração observada na faixa de frequência de 0 a 6.000 Hz no eixo z.
+ Tipo: número
+ Unidade: m/s^2

eventPayload.features.acceleration.band10To1000Hz.resultantVector.absMax  
+ A aceleração máxima absoluta observada na faixa de frequência de 10 a 1.000 Hz
+ Tipo: número
+ Unidade: m/s^2

eventPayload.features.acceleration.band10To1000Hz.resultantVector.absMin  
+ A aceleração mínima absoluta observada na faixa de frequência de 10 a 1.000 Hz
+ Tipo: número
+ Unidade: m/s^2

eventPayload.features.acceleration.band10To1000Hz.resultantVector.crestFactor  
+ O fator de pico de aceleração observado na faixa de frequência de 10 a 1.000 Hz
+ Tipo: número

eventPayload.features.acceleration.band10To1000Hz.resultantVector.rms  
+ A raiz quadrada média da aceleração observada na faixa de frequência de 10 a 1.000 Hz
+ Tipo: número
+ m/s^2

eventPayload.features.acceleration.band10To1000Hz.xAxis.rms  
+ A raiz quadrada média da aceleração observada na faixa de frequência de 10 a 1.000 Hz no eixo x.
+ Tipo: número
+ m/s^2

eventPayload.features.acceleration.band10To1000Hz.yAxis.rms  
+ A raiz quadrada média da aceleração observada na faixa de frequência de 10 a 1.000 Hz no eixo y.
+ Tipo: número
+ m/s^2

eventPayload.features.acceleration.band10To1000Hz.zAxis.rms  
+ A raiz quadrada média da aceleração observada na faixa de frequência de 10 a 1.000 Hz no eixo z.
+ Tipo: número
+ m/s^2

eventPayload.features.temperature  
+ A temperatura observada
+ Tipo: número
+ °C/graus C

eventPayload.features.velocity.band10To1000Hz.resultantVector.absMax  
+ A velocidade máxima absoluta observada na faixa de frequência de 10 a 1.000 Hz
+ Tipo: número
+ mm/s

eventPayload.features.velocity.band10To1000Hz.resultantVector.absMin  
+ A velocidade mínima absoluta observada na faixa de frequência de 10 a 1.000 Hz
+ Tipo: número
+ mm/s

eventPayload.features.velocity.band10To1000Hz.resultantVector.crestFactor  
+ O fator de pico de velocidade observado na faixa de frequência de 10 a 1.000 Hz
+ Tipo: número

eventPayload.features.velocity.band10To1000Hz.resultantVector.rms  
+ A raiz quadrada média da velocidade observada na faixa de frequência de 10 a 1.000 Hz
+ Tipo: número
+ mm/s

eventPayload.features.velocity.band10To1000Hz.xAxis.rms  
+ A raiz quadrada média da velocidade observada na faixa de frequência de 10 a 1.000 Hz no eixo x.
+ Tipo: número
+ mm/s

eventPayload.features.velocity.band10To1000Hz.yAxis.rms  
+ A raiz quadrada média da velocidade observada na faixa de frequência de 10 a 1.000 Hz no eixo y.
+ Tipo: número
+ mm/s

eventPayload.features.velocity.band10To1000Hz.zAxis.rms  
+ A raiz quadrada média da velocidade observada na faixa de frequência de 10 a 1.000 Hz no eixo z.
+ Tipo: número
+ mm/s

eventPayload.sequenceNo  
+ O número de sequência de medição
+ Tipo: número

Carga útil do evento. assetPositionId  
+ O identificador da posição do sensor para o qual a medição é enviada.
+ Tipo: string

EventPayload. Nome da empresa  
+ O nome da empresa que usa o ativo.
+ Tipo: string

EventPayload.Geolocation.Latitude  
+ A latitude da localização física do site.
+ Tipo: número

EventPayLoad.Geolocation.Longitude  
+ A longitude da localização física do site.
+ Tipo: número

Payload do evento. Endereço  
+ O endereço do site.
+ Tipo: string

Carga útil do evento. Número de série  
+ O número de série do ativo.
+ Tipo: string

Evento Payload.make  
+ A marca do ativo.
+ Tipo: string

Modelo de carga útil do evento  
+ O modelo do ativo.
+ Tipo: string

`eventType: sensorConnected`

siteName  
+ O nome do site exibido no aplicativo
+ Tipo: string

assetName  
+ O nome do ativo exibido no aplicativo
+ Tipo: string

positionName  
+ O nome da posição do sensor exibido no aplicativo
+ Tipo: string

assetPositionURL  
+ O URL do sensor exibido no aplicativo
+ Tipo: string

physicalID  
+ O ID físico do sensor do qual a medição é enviada
+ Tipo: string

Carga útil do evento. assetPositionId  
+ O identificador da posição do sensor cujo estado mudou.
+ Tipo: string

EventPayload. Nome da empresa  
+ O nome da empresa que usa o ativo.
+ Tipo: string

EventPayload.Geolocation.Latitude  
+ A latitude da localização física do site.
+ Tipo: número

EventPayLoad.Geolocation.Longitude  
+ A longitude da localização física do site.
+ Tipo: número

Payload do evento. Endereço  
+ O endereço do site.
+ Tipo: string

Carga útil do evento. Número de série  
+ O número de série do ativo.
+ Tipo: string

Evento Payload.make  
+ A marca do ativo.
+ Tipo: string

Modelo de carga útil do evento  
+ O modelo do ativo.
+ Tipo: string

`eventType: sensorDisconnected`

siteName  
+ O nome do site exibido no aplicativo
+ Tipo: string

assetName  
+ O nome do ativo exibido no aplicativo
+ Tipo: string

positionName  
+ O nome da posição do sensor exibido no aplicativo
+ Tipo: string

assetPositionURL  
+ O URL do sensor exibido no aplicativo
+ Tipo: string

physicalID  
+ O ID físico do sensor do qual a medição é enviada
+ Tipo: string

Carga útil do evento. assetPositionId  
+ O identificador da posição do sensor cujo estado mudou.
+ Tipo: string

EventPayload. Nome da empresa  
+ O nome da empresa que usa o ativo.
+ Tipo: string

EventPayload.Geolocation.Latitude  
+ A latitude da localização física do site.
+ Tipo: número

EventPayLoad.Geolocation.Longitude  
+ A longitude da localização física do site.
+ Tipo: número

Payload do evento. Endereço  
+ O endereço do site.
+ Tipo: string

Carga útil do evento. Número de série  
+ O número de série do ativo.
+ Tipo: string

Evento Payload.make  
+ A marca do ativo.
+ Tipo: string

Modelo de carga útil do evento  
+ O modelo do ativo.
+ Tipo: string

 `eventType: gatewayConnected` 

eventPayload.siteName  
+ O nome do site exibido no aplicativo
+ Tipo: string

eventPayload.gatewayName  
+ O nome do gateway conforme exibido no aplicativo
+ Tipo: string

eventPayload.gatewayListURL  
+ O URL do gateway exibido no aplicativo
+ Tipo: string

eventPayload.gateway.physicalID  
+ O ID físico do gateway que acabou de ser conectado para transmitir dados para o serviço Amazon Monitron
+ Tipo: string

EventPayload. Nome da empresa  
+ O nome da empresa que usa o ativo.
+ Tipo: string

EventPayload.Geolocation.Latitude  
+ A latitude da localização física do site.
+ Tipo: número

EventPayLoad.Geolocation.Longitude  
+ A longitude da localização física do site.
+ Tipo: número

Payload do evento. Endereço  
+ O endereço do site.
+ Tipo: string

`eventType: gatewayDisconnected`

siteName  
+ O nome do site exibido no aplicativo
+ Tipo: string

gatewayName  
+ O nome do gateway conforme exibido no aplicativo
+ Tipo: string

gatewayListURL  
+ O URL do gateway exibido no aplicativo
+ Tipo: string

physicalID  
+ O ID físico do gateway que acabou de ser conectado para transmitir dados para o serviço Amazon Monitron
+ Tipo: string

EventPayload. Nome da empresa  
+ O nome da empresa que usa o ativo.
+ Tipo: string

EventPayload.Geolocation.Latitude  
+ A latitude da localização física do site.
+ Tipo: número

EventPayLoad.Geolocation.Longitude  
+ A longitude da localização física do site.
+ Tipo: número

Payload do evento. Endereço  
+ O endereço do site.
+ Tipo: string

`eventType: assetStateTransition`

eventPayload.siteName  
+ O nome do site exibido no aplicativo
+ Tipo: string

eventPayload.assetName  
+ O nome do ativo exibido no aplicativo
+ Tipo: string

eventPayload.positionName  
+ O nome da posição do sensor exibido no aplicativo
+ Tipo: string

eventPayload.assetPositionURL  
+ O URL do sensor exibido no aplicativo
+ Tipo: string

eventPayload.sensor.physicalID  
+ O ID físico do sensor do qual a medição é enviada
+ Tipo: string

Carga útil do evento. assetTransitionType  
+ A razão por trás da transição do estado dos ativos
+ Tipo: string
+ Valores possíveis: `measurement` ou `userInput`

eventPayload.assetState.newState  
+ O novo estado do ativo
+ Tipo: string

eventPayload.assetState.previousState  
+ O estado anterior do ativo
+ Tipo: string

eventPayload.closureCode.failureMode  
+ O modo de falha selecionado pelo usuário ao reconhecer essa falha
+ Tipo: string
+ Valores possíveis: `NO_ISSUE` \$1 `BLOCKAGE` \$1 `CAVITATION` \$1 `CORROSION` \$1 `DEPOSIT` \$1 `IMBALANCE` \$1 `LUBRICATION` \$1 `MISALIGNMENT` \$1 `OTHER` \$1 `RESONANCE` \$1 `ROTATING_LOOSENESS` \$1 `STRUCTURAL_LOOSENESS` \$1 `TRANSMITTED_FAULT` \$1 `UNDETERMINED` 

eventPayload.closureCode.failureCause  
+ A causa da falha, conforme selecionada pelo usuário na lista suspensa do aplicativo ao reconhecer uma falha.
+ Tipo: string
+ Valores possíveis: `ADMINISTRATION` \$1 `DESIGN` \$1 `FABRICATION` \$1 `MAINTENANCE` \$1 `OPERATION` \$1 `OTHER` \$1 `QUALITY` \$1 `UNDETERMINED` \$1 `WEAR` 

eventPayload.closureCode.actionTaken  
+ A ação tomada ao fechar essa anomalia, conforme selecionada pelo usuário na lista suspensa do aplicativo.
+ Tipo: string
+ Valores possíveis: `ADJUST` \$1 `CLEAN` \$1 `LUBRICATE` \$1 `MODIFY` \$1 `NO_ACTION` \$1 `OTHER` \$1 `OVERHAUL` \$1 `REPLACE` 

eventPayload.closureCode.resolvedModels  
+ O conjunto de modelos que levantou o problema.
+ Tipo: lista de sequências
+ Valores possíveis: `vibrationISO` \$1 `vibrationML` \$1 `temperatureML` 

Carga útil do evento. assetPositionId  
+ O identificador da posição do ativo cujo estado foi alterado.
+ Tipo: string

Modelos. Temperatura ML. persistentClassificationOutput  
+ A saída de classificação persistente do modelo de temperatura baseado em machine learning
+ Tipo: número
+ Valores válidos: `UNKNOWN | HEALTHY | WARNING | ALARM`

Modelos. Temperatura ML. pointwiseClassificationOutput  
+ A saída de classificação pontual do modelo de temperatura baseado em machine learning
+ Tipo: string
+ Valores válidos: `UNKNOWN | INITIALIZING | HEALTHY | WARNING | ALARM`

models.vibrationISO.isoClass  
+ A classe ISO 20816 (um padrão para medição e avaliação da vibração da máquina) usada pelo modelo de vibração baseado em ISO
+ Tipo: string
+ Valores válidos: `CLASS1 | CLASS2 | CLASS3 | CLASS4`

models.vibrationISO.mutedThreshold  
+ O limite para silenciar a notificação do modelo de vibração baseado em ISO
+ Tipo: string
+ Valores válidos: `WARNING | ALARM`

Modelos. Vibração ISO. persistentClassificationOutput  
+ A saída de classificação persistente do modelo de vibração baseado em ISO
+ Tipo: string
+ Valores válidos: `UNKNOWN | HEALTHY | WARNING | ALARM`

Modelos. Vibração ISO. pointwiseClassificationOutput  
+ A saída de classificação pontual do modelo de vibração baseado em ISO
+ Tipo: string
+ Valores válidos: `UNKNOWN | HEALTHY | WARNING | ALARM | MUTED_WARNING | MUTED_ALARM`

Modelos. VibrationML. persistentClassificationOutput  
+ A saída de classificação persistente do modelo de vibração baseado em machine learning
+ Tipo: string
+ Valores válidos: `UNKNOWN | HEALTHY | WARNING | ALARM`

Modelos. VibrationML. pointwiseClassificationOutput  
+ A saída de classificação pontual do modelo de temperatura baseado em machine learning
+ Tipo: string
+ Valores válidos: `UNKNOWN | INITIALIZING | HEALTHY | WARNING | ALARM`

assetState.newState  
+ O status da máquina após o processamento da medição
+ Tipo: string
+ Valores válidos: `UNKNOWN | HEALTHY | NEEDS_MAINTENANCE | WARNING | ALARM`

assetState.previousState  
+ O status da máquina antes de processar a medição
+ Tipo: string
+ Valores válidos: `UNKNOWN | HEALTHY | NEEDS_MAINTENANCE | WARNING | ALARM`

EventPayload. Nome da empresa  
+ O nome da empresa que usa o ativo.
+ Tipo: string

EventPayload.Geolocation.Latitude  
+ A latitude da localização física do site.
+ Tipo: número

EventPayLoad.Geolocation.Longitude  
+ A longitude da localização física do site.
+ Tipo: número

Payload do evento. Endereço  
+ O endereço do site.
+ Tipo: string

Carga útil do evento. Número de série  
+ O número de série do ativo.
+ Tipo: string

Evento Payload.make  
+ A marca do ativo.
+ Tipo: string

Modelo de carga útil do evento  
+ O modelo do ativo.
+ Tipo: string

# Migração do Kinesis v1 para v2
<a name="migration-from-v1-to-v2"></a>

 Se você estiver usando atualmente o esquema de dados v1, talvez já esteja enviando dados para o Amazon S3 ou processando ainda mais a carga útil do fluxo de dados com o Lambda. 

**Topics**
+ [Atualizar o esquema de dados para v2](#updating-to-v2)
+ [Atualizar o processamento de dados com o Lambda](#updating-with-lam)

## Atualizar o esquema de dados para v2
<a name="updating-to-v2"></a>

 Se você já configurou um fluxo de dados com o esquema v1, você pode atualizar seu processo de exportação de dados fazendo o seguinte: 

1. Abra seu console Amazon Monitron.

1. Navegue até o projeto.

1.  Pare a [exportação atual de dados ao vivo](monitron-kinesis-export-v2.md#stop-kinesis-export-v2). 

1.  Inicie a exportação de dados ao vivo para criar um novo fluxo de dados.

1. Selecione o fluxo de dados recém-criado.

1. Escolha **iniciar exportação de dados ao vivo**. Nesse ponto, o novo esquema enviará sua carga pelo fluxo de dados.

1. (Opcional) Acesse o console do Kinesis e exclua o fluxo de dados antigo.

1. Configure um novo método de entrega para seu fluxo de dados recém-criado com o esquema v2.

 Seu novo fluxo agora entrega cargas úteis em conformidade com o esquema v2 para seu novo bucket. Recomendamos usar dois buckets distintos para ter um formato consistente, caso você queira processar todos os dados nesses buckets. Por exemplo, usando outros serviços, como Athena e. AWS Glue

**nota**  
Se você estava entregando seus dados para o Amazon S3, saiba como [armazenar dados exportados no Amazon S3](kinesis-store-S3-v2.md#kinesis-store-S3-title-v2) para obter detalhes sobre como entregar seus dados ao Amazon S3 com o esquema v2.

**nota**  
Se você estava usando uma função do Lambda para processar suas cargas, saiba como [processar dados com o Lambda](https://docs.aws.amazon.com/Monitron/latest/user-guide/data-export-lambda.html). Você também pode consultar a seção [Atualização com Lambda](#updating-with-lam) para obter mais informações.

## Atualizar o processamento de dados com o Lambda
<a name="updating-with-lam"></a>

 A atualização do processamento de dados com o Lambda exige que você considere que o fluxo de dados v2 agora é baseado em eventos. Seu código Lambda v1 inicial pode ter sido semelhante ao seguinte: 

```
import base64

def main_handler(event):
    # Kinesis "data" blob is base64 encoded so decode here:
    for record in event['Records']:
        payload = base64.b64decode(record["kinesis"]["data"])
     
        measurement = payload["measurement"]
        projectDisplayName = payload["projectDisplayName"]
     
        # Process the content of the measurement
        # ...
```

 Como o esquema de dados v1 está em um caminho de descontinuação, o código Lambda anterior não funcionará com todos os novos fluxos de dados. 

 O código de amostra do Python a seguir processará eventos do fluxo do Kinesis com o esquema de dados v2. Esse código usa o novo parâmetro `eventType` para orientar o processamento para o manipulador apropriado: 

```
import base64

handlers = {
    "measurement": measurementEventHandler,
    "gatewayConnected": gatewayConnectedEventHandler,
    "gatewayDisconnected": gatewayDisconnectedEventHandler,
    "sensorConnected": sensorConnectedEventHandler,
    "sensorDisconnected": sensorDisconnectedEventHandler,
}

def main_handler(event):
    # Kinesis "data" blob is base64 encoded so decode here:
    for record in event['Records']:
        payload = base64.b64decode(record["kinesis"]["data"])
          
        eventType = payload["eventType"]
        if eventType not in handler.keys():
            log.info("No event handler found for the event type: {event['eventType']}")
            return 
     
        # Invoke the appropriate handler based on the event type.
        eventPayload = payload["eventPayload"]
        eventHandler = handlers[eventType] 
        eventHandler(eventPayload)

def measurementEventHandler(measurementEventPayload):
    # Handle measurement event
    projectName = measurementEventPayload["projectName"]
    
    # ...

def gatewayConnectedEventHandler(gatewayConnectedEventPayload):
    # Handle gateway connected event

# Other event handler functions
```