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á.
Notificações de integrações gerenciadas
As notificações de integrações gerenciadas fornecem atualizações e informações importantes dos dispositivos. As notificações incluem eventos do conector, comandos do dispositivo, eventos do ciclo de vida, atualizações OTA (Over-the-Air) e relatórios de erros. Esses insights fornecem informações práticas para criar fluxos de trabalho automatizados, realizar ações imediatas ou armazenar dados de eventos para solução de problemas.
Atualmente, somente os streams de dados do Amazon Kinesis são suportados como destino para notificações de integrações gerenciadas. Primeiro, você precisará configurar um stream de dados do Amazon Kinesis e permitir que integrações gerenciadas acessem o stream de dados antes de configurar as notificações.
Configurar o Amazon Kinesis para notificações
Etapas de configuração do Amazon Kinesis
Para configurar o Amazon Kinesis para notificações de integrações gerenciadas, siga estas etapas:
Etapa 1: Criar um stream de dados do Amazon Kinesis
Um Amazon Kinesis Data Stream pode ingerir uma grande quantidade de dados em tempo real, armazená-los de forma durável e disponibilizá-los para consumo pelos aplicativos.
Para criar um stream de dados do Amazon Kinesis
-
Para criar um stream de dados do Kinesis, siga as etapas descritas em Criar e gerenciar fluxos de dados do Kinesis.
Etapa 2: criar uma política de permissões
Crie uma política de permissões que permita que integrações gerenciadas acessem seu stream de dados do Kinesis.
Para criar uma política de permissões
-
Para criar uma política de permissões, copie a política abaixo e siga as etapas descritas em Criar políticas usando o editor JSON
{ "Version": "2012-10-17", "Statement": [ { "Action": "kinesis:PutRecord", "Resource": "*", "Effect": "Allow" } ] }
Etapa 3: Navegue até o painel do IAM e selecione Funções
Abra o painel do IAM e clique em Funções.
Para navegar até o painel do IAM
-
Abra o painel do IAM e clique em Funções.
Para obter mais informações, consulte Criação de função do IAM no Guia AWS Identity and Access Managementdo usuário.
Etapa 4: usar uma política de confiança personalizada
Você pode usar uma política de confiança personalizada para conceder às integrações gerenciadas acesso ao stream de dados do Kinesis.
Para usar uma política de confiança personalizada
-
Crie uma nova função e escolha Política de confiança personalizada. Clique em Avançar.
A política a seguir permite que as integrações gerenciadas assumam a função, e a
Condition
declaração ajuda a evitar problemas confusos de deputados.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iotmanagedintegrations.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
123456789012
" }, "ArnLike": { "aws:SourceArn": "arn:aws:iotmanagedintegrations:ca-central-1
:123456789012
:*" } } } ] }
Etapa 5: aplicar sua política de permissões
Adicione a política de permissões que você criou na etapa 2 à função.
Para adicionar uma política de permissões
-
Na página Adicionar permissões, pesquise e adicione a política de permissões que você criou na etapa 2. Clique em Avançar.
Etapa 6: insira um nome de função
-
Insira um nome de função e clique em Criar função.
Configurar notificações de integrações gerenciadas
Etapas de configuração da notificação
Para configurar notificações de integrações gerenciadas, siga estas etapas:
Etapa 1: conceder permissões ao usuário para chamar a CreateDestination API
-
Conceda permissões ao usuário para chamar a
CreateDestination
APIA política a seguir define os requisitos para o usuário chamar a CreateDestinationAPI.
Consulte Conceder permissões a um usuário para passar uma função para um AWS serviço no Guia do AWS Identity and Access Managementusuário para obter permissões de senha para integrações gerenciadas.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"iam:PassRole", "Resource":"arn:aws:iam::
accountID
:role/ROLE_CREATED_IN_PREVIOUS_STEP
", "Condition":{ "StringEquals":{ "iam:PassedToService":"iotmanagedintegrations.amazonaws.com" } } }, { "Effect":"Allow", "Action":"iotmanagedintegrations:CreateDestination", "Resource":"*" } ] }
Etapa 2: chame a CreateDestination API
-
Chame a
CreateDestination
APIDepois de criar seu stream de dados do Amazon Kinesis e sua função de acesso ao stream, chame a CreateDestinationAPI para criar seu destino de notificação para onde as notificações serão encaminhadas. Para o
DeliveryDestinationArn
parâmetro, use oarn
do seu novo stream de dados do Amazon Kinesis.{ "DeliveryDestinationArn": "Your Kinesis arn" "DeliveryDestinationType": "KINESIS" "Name": "DestinationName" "ClientToken":
"string"
"RoleArn": "arn:aws:iam::accountID
:role/ROLE_CREATED_IN_PREVIOUS_STEP
" }nota
ClientToken
é um símbolo de idempotência. Se você tentar novamente uma solicitação que foi concluída com êxito inicialmente usando o mesmo token e os mesmos parâmetros do cliente, a tentativa de repetição será bem-sucedida sem realizar nenhuma ação adicional.
Etapa 3: chame a CreateNotificationConfiguration API
-
Chame a
CreateNotificationConfiguration
APIPor fim, use a CreateNotificationConfigurationAPI para criar a configuração de notificação que roteia os tipos de eventos escolhidos para o seu destino representado pelo stream de dados do Kinesis. No
DestinationName
parâmetro, use o mesmo nome de destino de quando você chamou aCreateDestination
API inicialmente.{ "EventType": "DEVICE_EVENT" "DestinationName" // This name has to be identical to the name in createDestination API "ClientToken":
"string"
}
Tipos de eventos monitorados com integrações gerenciadas
A seguir estão os tipos de eventos monitorados com notificações de integrações gerenciadas:
-
DEVICE_COMMAND
-
O status do comando SendManagedThingCommandda API. Os valores válidos são
succeeded
oufailed
.{ "version":"0", "messageId":"6a7e8feb-b491-4cf7-a9f1-bf3703467718", "messageType":"DEVICE_COMMAND", "source":"aws.iotmanagedintegrations", "customerAccountId":"123456789012", "timestamp":"2017-12-22T18:43:48Z", "region":"ca-central-1", "resources":[ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/6a7e8feb-b491-4cf7-a9f1-bf3703467718" ], "payload":{ "traceId":"1234567890abcdef0", "receivedAt":"2017-12-22T18:43:48Z", "executedAt":"2017-12-22T18:43:48Z", "result":"failed" } }
-
-
DEVICE_COMMAND_REQUEST
-
A solicitação de comando da Web Real-Time Communication (WebRTC).
O padrão WebRTC permite a comunicação entre dois pares. Esses pares podem transmitir vídeo, áudio e dados arbitrários em tempo real. As integrações gerenciadas oferecem suporte ao WebRTC para permitir esses tipos de streaming entre o aplicativo móvel do cliente e o dispositivo do usuário final. Para obter mais informações sobre o padrão WebRTC, consulte WebRTC.
{ "version":"0", "messageId":"6a7e8feb-b491-4cf7-a9f1-bf3703467718", "messageType":"DEVICE_COMMAND_REQUEST", "source":"aws.iotmanagedintegrations", "customerAccountId":"123456789012", "timestamp":"2017-12-22T18:43:48Z", "region":"ca-central-1", "resources":[ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/6a7e8feb-b491-4cf7-a9f1-bf3703467718" ], "payload":{ "endpoints":[{ "endpointId":"1", "capabilities":[{ "id":"aws.DoorLock", "name":"Door Lock", "version":"1.0" }] }] } }
-
-
DEVICE_DISCOVERY_STATUS
-
O status de descoberta do dispositivo.
{ "version":"0", "messageId":"6a7e8feb-b491-4cf7-a9f1-bf3703467718", "messageType":"DEVICE_DISCOVERY_STATUS", "source":"aws.iotmanagedintegrations", "customerAccountId":"123456789012", "timestamp":"2017-12-22T18:43:48Z", "region":"ca-central-1", "resources":[ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/6a7e8feb-b491-4cf7-a9f1-bf3703467718" ], "payload":{ "deviceCount": 1, "deviceDiscoveryId": "123", "status": "SUCCEEDED" } }
-
-
DEVICE_EVENT
-
Uma notificação da ocorrência de um evento no dispositivo.
{ "version":"1.0", "messageId":"2ed545027bd347a2b855d28f94559940", "messageType":"DEVICE_EVENT", "source":"aws.iotmanagedintegrations", "customerAccountId":"123456789012", "timestamp":"1731630247280", "resources":[ "/quit/1b15b39992f9460ba82c6c04595d1f4f" ], "payload":{ "endpoints":[{ "endpointId":"1", "capabilities":[{ "id":"aws.DoorLock", "name":"Door Lock", "version":"1.0", "properties":[{ "name":"ActuatorEnabled", "value":"true" }] }] }] } }
-
-
DEVICE_LIFE_CYCLE
-
O status do ciclo de vida do dispositivo.
{ "version": "1.0.0", "messageId": "8d1e311a473f44f89d821531a0907b05", "messageType": "DEVICE_LIFE_CYCLE", "source": "aws.iotmanagedintegrations", "customerAccountId": "123456789012", "timestamp": "2024-11-14T19:55:57.568284645Z", "region": "ca-central-1", "resources": [ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/d5c280b423a042f3933eed09cf408657" ], "payload": { "deviceDetails": { "id": "d5c280b423a042f3933eed09cf408657", "arn": "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/d5c280b423a042f3933eed09cf408657", "createdAt": "2024-11-14T19:55:57.515841147Z", "updatedAt": "2024-11-14T19:55:57.515841559Z" }, "status": "UNCLAIMED" } }
-
-
DEVICE_OTA
-
Uma notificação OTA do dispositivo.
-
-
DEVICE_STATE
-
Uma notificação quando o estado de um dispositivo foi atualizado.
{ "messageType": "DEVICE_STATE", "source": "aws.iotmanagedintegrations", "customerAccountId": "123456789012", "timestamp": "1731623291671", "resources": [ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/61889008880012345678" ], "payload": { "addedStates": { "endpoints": [{ "endpointId": "nonEndpointId", "capabilities": [{ "id": "aws.OnOff", "name": "On/Off", "version": "1.0", "properties": [{ "name": "OnOff", "value": { "propertyValue": "\"onoff\"", "lastChangedAt": "2024-06-11T01:38:09.000414Z" } } ]} ]} ]} } }
-