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, AWS IoT Greengrass V1 não lançaremos atualizações que forneçam recursos, aprimoramentos, correções de erros ou patches de segurança. Os dispositivos que funcionam 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 adiciona novos recursos significativos e suporte para plataformas adicionais.
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á.
Chamada da API de verificação de integridade local
AWS IoT Greengrass contém uma API HTTP local que fornece um instantâneo do estado atual dos processos de trabalho locais que foram iniciados por AWS IoT Greengrass. Esse snapshot inclui funções do Lambda do sistema e definidas pelo usuário. As funções do System Lambda fazem parte 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.
-
port
Substitua pelo 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 obter mais informações, consulte AWS IoT Greengrass arquivo de configuração principal.
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 saúde para todos os processos de trabalho que foram iniciados por 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. port
Substitua pelo 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 as funções do Lambda que representam os trabalhadores-alvo.
Para funções do Lambda definidas pelo usuário, especifique o ARN da versão atualmente implantada. Se você adicionou funções Lambda ao grupo usando um alias ARN, você pode usar a solicitação GET para obter todos os trabalhadores e, em seguida, escolher ARNs o que você deseja consultar.
Para funções do Lambda do sistema, especifique o ARN da função do Lambda correspondente. Para obter 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 trabalhadores iniciados 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 funções ARNs inválidas, incluindo funções ARNs que não têm trabalhadores 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 ARNs especificado na
FuncArns
matriz excede o número de trabalhadores.
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 para 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
-
Escuta a AWS IoT sombra em busca de alterações nos endpoints IP do núcleo e gera o certificado do lado do servidor usado pelo GGConn Manager 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 Nuvem AWS as do dispositivo principal e dos dispositivos cliente, se a
syncShadow
propriedade do dispositivo estiver definida como.true
ARN:
arn:aws:lambda:::function:GGShadowSyncManager
GGStreamManager
-
Processa fluxos de dados localmente e executa exportações automáticas para o. 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 na função do grupo Greengrass que o código local usa para acessar os serviços. AWS
ARN:
arn:aws:lambda:::function:GGTES