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 gerenciam todas as notificações aos clientes, facilitando a comunicação em tempo real para fornecer atualizações e insights em seus dispositivos. Seja notificando os clientes sobre eventos, ciclo de vida ou estado do dispositivo, as notificações de integrações gerenciadas desempenham um papel fundamental no aprimoramento da experiência geral do cliente. Ao fornecer informações práticas, os clientes podem tomar decisões informadas e otimizar a utilização dos recursos.
Configurar notificações de integrações gerenciadas
Para configurar notificações de integrações gerenciadas, siga estas etapas:
-
Crie 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.
Atualmente, somente os streams de dados do Amazon Kinesis são suportados como uma opção para um destino gerenciado pelo cliente para notificações de integrações gerenciadas.
-
Crie uma função de acesso ao stream do Amazon Kinesis
Crie uma função de AWS Identity and Access Management acesso que tenha permissão para acessar o stream do Kinesis que você acabou de criar
Para obter mais informações, consulte Criação de função do IAM no Guia AWS Identity and Access Managementdo usuário.
-
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. Se não for definido, a chamada para a
CreateDestination
API falhará.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/kinesis_stream_access_role", "Condition":{ "StringEquals":{ "iam:PassedToService":"iotmanagedintegrations.amazonaws.com" } } }, { "Effect":"Allow", "Action":"iotmanagedintegrations:CreateDestination", "Resource":"*" } ] } -
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 gerenciado pelo cliente para onde as notificações de integrações gerenciadas 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": "Random string" "RoleArn": "arn:aws:iam::
accountID
:role/kinesis_stream_access_role" } -
Chame a
CreateNotificationConfiguration
APIPor fim, você criará a configuração de notificação que o notificará sobre um tipo de evento escolhido, roteando uma notificação para seu destino gerenciado pelo cliente representado pelo seu stream de dados do Amazon Kinesis. Chame a CreateNotificationConfigurationAPI para criar a configuração de notificação. No
destinationName
parâmetro, use o mesmo nome de destino criado inicialmente quando você criou o destino gerenciado pelo cliente usando aCreateDestination
API.{ "EventType": "DEVICE_EVENT" "DestinationName" // This name has to be identical to the name in createDestination API "ClientToken": "Random 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 SendManagedThingda API. Os valores válidos são
succeeded
oufailed
.{ "version":"0", "messageId":"6a7e8feb-b491-4cf7-a9f1-bf3703467718", "messageType":"DEVICE_EVENT", "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" } } ]} ]} ]} } }
-