O AWS IoT Greengrass Version 1 entrou na fase de vida útil prolongada em 30 de junho de 2023. Para obter mais informações, consulte política de manutenção do AWS IoT Greengrass V1. Após essa data, o AWS IoT Greengrass V1 não lançará atualizações que forneçam recursos, aprimoramentos, correções de erros ou patches de segurança. Os dispositivos que funcionam com o AWS IoT Greengrass V1 não serão interrompidos e continuarão operando e se conectando à nuvem. É altamente recomendável que você migre para AWS IoT Greengrass Version 2, o que adicionará novos recursos significativos e suporte para plataformas adicionais.
Chamada da API de verificação de integridade local
AWS IoT Greengrass contém uma API HTTP local que retorna um snapshot do estado atual dos processos de trabalho locais iniciados pelo AWS IoT Greengrass. Esse snapshot inclui funções do Lambda do sistema e definidas pelo usuário. As funções do Lambda do sistema são componentes do software AWS IoT Greengrass Core. Eles são executados como processos de operadores locais no dispositivo principal e gerenciam operações como roteamento de mensagens, sincronização de sombras locais e detecção automática do endereço IP.
A API de verificação de integridade é compatível com as seguintes solicitações:
-
Enviar uma solicitação
GET
para obter informações de integridade sobre todos os operadores. -
Enviar uma solicitação
POST
para obter informações de integridade sobre operadores específicos.
As solicitações são enviadas localmente no dispositivo e não exigem conexão com a Internet.
Obter informações de integridade sobre todos os operadores
Enviar uma solicitação GET
para obter informações de integridade sobre todos os operadores em execução.
-
Substituir a
porta
com o número da porta do IPC.
GET http://localhost:
port
/2016-11-01/health/workers
port
-
O número da porta do IPC.
O valor pode variar entre 1024 e 65535. O valor padrão é 8000.
Para alterar o número desta porta, você pode atualizar a propriedade
ggDaemonPort
no arquivoconfig.json
. Para ter mais informações, consulte Arquivo de configuração de núcleo do AWS IoT Greengrass.
Exemplo de solicitação
O exemplo de solicitação curl
a seguir obtém informações de integridade de todos os operadores.
curl http://localhost:8000/2016-11-01/health/workers
Resposta do JSON
Essa solicitação retorna uma matriz de objetos de informações de integridade dos operadores.
Exemplo de resposta
O exemplo de resposta a seguir lista objetos de informações de integridade de todos os processos de operadores que foram iniciados pelo AWS IoT Greengrass.
[ { "FuncArn": "arn:aws:lambda:::function:GGShadowService:1", "WorkerId" : "65515053-2f70-43dc-7cc0-1712bEXAMPLE", "ProcessId": "1234", "WorkerState": "Waiting" }, { "FuncArn": "arn:aws:lambda:::function:GGSecretManager:1", "WorkerId": "a9916cc2-1b4d-4f0e-4b12-b1872EXAMPLE", "ProcessId": "9798", "WorkerState": "Waiting" }, { "FuncArn": "arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function:3", "WorkerId": "2e6f785e-66a5-42c9-67df-42073EXAMPLE", "ProcessId": "11837", "WorkerState": "Waiting" }, ... ]
Obtenha informações de integridade sobre determinados operadores
Enviar uma solicitação POST
para obter informações de integridade sobre determinados operadores. Substituir a porta
com o número da porta do IPC. O padrão é 8000.
POST http://localhost:
port
/2016-11-01/health/workers
Exemplo de solicitação
O exemplo de solicitação curl
a seguir obtém informações de integridade de determinados operadores.
curl --data "@body.json" http://localhost:8000/2016-11-01/health/workers
Veja um exemplo da estrutura de uma solicitação body.json
abaixo:
{ "FuncArns": [ "arn:aws:lambda:::function:GGShadowService:1", "arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function:3" ] }
A estrutura da solicitação contém uma matriz FuncArns
.
FuncArns
-
Uma lista de nomes de recursos da Amazon (ARNs) para funções do Lambda que representam os operadores de destino.
Para funções do Lambda definidas pelo usuário, especifique o ARN da versão atualmente implantada. Se você adicionou funções do Lambda ao grupo usando um ARN do alias, pode usar a solicitação GET para obter todos os operadores e, em seguida, escolher os ARNs que deseja consultar.
Para funções do Lambda do sistema, especifique o ARN da função do Lambda correspondente. Para ter mais informações, consulte Funções do Lambda do sistema.
Tipo: matriz de strings
Tamanho mínimo: 1
Comprimento máximo: o número total de operadores iniciados pelo AWS IoT Greengrass no dispositivo principal.
Resposta do JSON
Essa solicitação retorna uma matriz de Workers
e uma matriz de InvalidArns
.
Workers
-
Uma lista de objetos de informações de integridade dos operadores especificados.
Tipo: matriz de objetos de informações de integridade
InvalidArns
-
Uma lista de ARNs de função que são inválidos, incluindo ARNs de função que não têm operadores associados.
Tipo: matriz de strings
Exemplo de resposta
O exemplo de resposta a seguir lista objetos de informações de integridade para determinados operadores.
{ "Workers": [ { "FuncArn": "arn:aws:lambda:::function:GGShadowService:1", "WorkerId" : "65515053-2f70-43dc-7cc0-1712bEXAMPLE", "ProcessId": "1234", "WorkerState": "Waiting" }, { "FuncArn": "arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function:3", "WorkerId": "2e6f785e-66a5-42c9-67df-42073ESAMPLE", "ProcessId": "11837", "WorkerState": "Waiting" } ], "InvalidArns" : [ "some-malformed-arn", "arn:aws:lambda:us-west-2:123456789012:function:some-unknown-function:1" ] }
Esta consulta retorna os seguintes erros:
- 400 Solicitação inválida
O corpo da solicitação está malformado. Para resolver esse problema, utilize o formato a seguir e reenvie a solicitação:
{"FuncArns":["
function-1-arn
","function-2-arn
"]}- 400 A solicitação excede o número máximo de operadores
O número de ARNs especificado na matriz de
FuncArns
excede o número de operadores.
Informações de integridade dos operadores
Um objeto de informações de integridade contém as seguintes propriedades:
FuncArn
-
O ARN da função do Lambda do sistema que representa o operador.
Tipo:
string
WorkerId
-
A ID do operador. Esta propriedade pode ser útil para depuração. O arquivo
runtime.log
e os logs da função do Lambda contêm a ID do operador, portanto, essa propriedade pode ser especialmente útil para depurar uma função do Lambda sob demanda que cria várias instâncias.Tipo:
string
ProcessId
-
A ID do processo (PID) do processo de operadores.
Tipo:
int
WorkerState
-
O estado do operador.
Tipo:
string
Os estados possíveis são os seguintes:
Working
-
Processando uma mensagem.
Waiting
-
Aguardando uma mensagem. Aplica-se a funções do Lambda de longa duração executadas como um daemon ou processo autônomo.
Starting
-
Criado, começando.
FailedInitialization
-
Falha ao inicializar.
Terminated
-
Parado pelo daemon do Greengrass
NotStarted
-
Falha ao iniciar, fazendo outra tentativa inicial.
Initialized
-
Inicializado com sucesso.
Funções do Lambda do sistema
Você pode solicitar informações de integridade às seguintes funções do Lambda do sistema:
GGCloudSpooler
-
Gerencia a fila de mensagens MQTT que têm AWS IoT Core como origem ou destino.
ARN:
arn:aws:lambda:::function:GGCloudSpooler:1
GGConnManager
-
Encaminha mensagens MQTT entre o núcleo do Greengrass e os dispositivos do cliente.
ARN:
arn:aws:lambda:::function:GGConnManager
GGDeviceCertificateManager
-
Atenta ao AWS IoT em busca de alterações nos endpoints IP do núcleo e gera o certificado do lado do servidor usado pelo GGConnManager para autenticação mútua.
ARN:
arn:aws:lambda:::function:GGDeviceCertificateManager
GGIPDetector
-
Detecção automática de endereço IP que permite aos dispositivos no grupo do Greengrass descobrirem o dispositivo principal do Greengrass. Esse serviço não é aplicável quando você fornece endereços IP manualmente.
ARN:
arn:aws:lambda:::function:GGIPDetector:1
GGSecretManager
-
Gerencia o armazenamento seguro de segredos locais e o acesso por meio de conectores e Lambda definidos pelo usuário.
ARN:
arn:aws:lambda:::function:GGSecretManager:1
GGShadowService
-
Gerencia sombras locais para dispositivos cliente.
ARN:
arn:aws:lambda:::function:GGShadowService
GGShadowSyncManager
-
Sincroniza as sombras locais com a Nuvem AWS para o dispositivo principal e os dispositivos cliente se a propriedade
syncShadow
do dispositivo estiver definida comotrue
.ARN:
arn:aws:lambda:::function:GGShadowSyncManager
GGStreamManager
-
Processa fluxos de dados localmente e executa exportações automáticas para a Nuvem AWS.
ARN:
arn:aws:lambda:::function:GGStreamManager:1
GGTES
-
O serviço local de troca de tokens que recupera as credenciais do IAM definidas no perfil do grupo do Greengrass que o código local usa para acessar os serviços da AWS.
ARN:
arn:aws:lambda:::function:GGTES