Roteador de assinatura legado - AWS IoT Greengrass

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

Roteador de assinatura legado

O roteador de assinatura antigo (aws.greengrass.LegacySubscriptionRouter) gerencia as assinaturas no dispositivo principal do Greengrass. As assinaturas são um recurso da AWS IoT Greengrass V1 que define os tópicos que as funções Lambda podem usar para MQTT mensagens em um dispositivo principal. Para obter mais informações, consulte Assinaturas gerenciadas no fluxo de trabalho MQTT de mensagens no Guia do desenvolvedor AWS IoT Greengrass V1.

Você pode usar esse componente para habilitar assinaturas para componentes de conectores e componentes da função Lambda que usam o Core. AWS IoT Greengrass SDK

nota

O componente antigo do roteador de assinatura é necessário somente se sua função Lambda usar a publish() função no AWS IoT Greengrass Core. SDK Se você atualizar o código da função Lambda para usar a interface de comunicação entre processos (IPC) na AWS IoT Device SDK V2, não precisará implantar o componente legado do roteador de assinatura. Para obter mais informações, consulte os seguintes serviços de comunicação entre processos:

Versões

Esse componente tem as seguintes versões:

  • 2.1.x

  • 2.0.x

Tipo

Esse é um componente genérico (aws.greengrass.generic). O núcleo do Greengrass executa os scripts do ciclo de vida do componente.

Para obter mais informações, consulte Tipos de componente.

Sistema operacional

Esse componente pode ser instalado somente nos dispositivos principais do Linux.

Requisitos

Esse componente tem os seguintes requisitos:

  • O roteador de assinatura antigo tem suporte para ser executado em umVPC.

Dependências

Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que é preciso atender aos requisitos do componente e de todas as dependências dele para implantá-lo com êxito. Nesta seção, há uma lista de todas as dependências das versões lançadas desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Também é possível visualizar as dependências de cada versão do componente no console do AWS IoT Greengrass. Na página de detalhes do componente, procure a lista de dependências.

2.1.13

A tabela a seguir lista as dependências da versão 2.1.13 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo do Greengrass >=2.0.0 <2.15.0 Flexível
2.1.12

A seguinte tabela lista as dependências da versão 2.1.12 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo do Greengrass >=2.0.0 <2.14.0 Flexível
2.1.11

A seguinte tabela lista as dependências da versão 2.1.11 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo do Greengrass >=2.0.0 <2.13.0 Flexível
2.1.10

A tabela a seguir lista as dependências da versão 2.1.10 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo do Greengrass >=2.0.0 <2.12.0 Flexível
2.1.9

A tabela a seguir lista as dependências da versão 2.1.9 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo do Greengrass >=2.0.0 <2.11.0 Flexível
2.1.8

A tabela a seguir lista as dependências da versão 2.1.8 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo do Greengrass >=2.0.0 <2.10.0 Flexível
2.1.7

A tabela a seguir lista as dependências da versão 2.1.7 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo do Greengrass >=2.0.0 <2.9.0 Flexível
2.1.6

A tabela a seguir lista as dependências da versão 2.1.6 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo do Greengrass >=2.0.0 <2.8.0 Flexível
2.1.5

A tabela a seguir lista as dependências da versão 2.1.5 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo do Greengrass >=2.0.0 <2.7.0 Flexível
2.1.4

A tabela a seguir lista as dependências da versão 2.1.4 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo do Greengrass >=2.0.0 <2.6.0 Flexível
2.1.3

A tabela a seguir lista as dependências da versão 2.1.3 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo do Greengrass >=2.0.0 <2.5.0 Flexível
2.1.2

A tabela a seguir lista as dependências da versão 2.1.2 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo do Greengrass >=2.0.0 <2.4.0 Flexível
2.1.1

A tabela a seguir lista as dependências da versão 2.1.1 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo do Greengrass >=2.0.0 <2.3.0 Flexível
2.1.0

A tabela a seguir lista as dependências da versão 2.1.0 deste componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo do Greengrass >=2.0.0 <2.2.0 Flexível
2.0.3

A seguinte tabela lista as dependências da versão 2.0.3 desse componente.

Dependência Versões compatíveis Tipo de dependência
Núcleo do Greengrass >=2.0.3 <2.1.0 Flexível

Para obter mais informações sobre as dependências dos componentes, consulte referência de fórmula do componente.

Configuração

Esse componente fornece os seguintes parâmetros de configuração que podem ser personalizados ao implantar o componente.

v2.1.x
subscriptions

(Opcional) As assinaturas a serem ativadas no dispositivo principal. Esse é um objeto, em que cada chave é um ID exclusivo e cada valor é um objeto que define a assinatura desse conector. Você deve configurar uma assinatura ao implantar um componente de conector V1 ou uma função Lambda que usa AWS IoT Greengrass o Core. SDK

Cada objeto de assinatura contém as seguintes informações:

id

O ID exclusivo dessa assinatura. Esse ID deve corresponder à chave desse objeto de assinatura.

source

A função Lambda que usa o AWS IoT Greengrass Core SDK para publicar MQTT mensagens sobre os tópicos que você especifica em. subject Especifique um dos seguintes:

  • O nome de um componente da função do Lambda no dispositivo principal. Especifique o nome do componente com o prefixo component:, como component:com.example.HelloWorldLambda.

  • O Amazon Resource Name (ARN) de uma função Lambda no dispositivo principal.

    Importante

    Se a versão da função do Lambda mudar, você deverá configurar a assinatura com a nova versão da função. Caso contrário, esse componente não roteará as mensagens até que a versão corresponda à assinatura.

    Você deve especificar um Amazon Resource Name (ARN) que inclua a versão da função a ser importada. Você não pode usar aliases de versão, como $LATEST.

Para implantar uma assinatura para um componente do conector V1, especifique o nome do componente ou a função ARN Lambda do componente do conector.

subject

O MQTT tópico ou filtro de tópicos no qual a fonte e o destino podem publicar e receber mensagens. Esse valor aceita os curingas de tópico + e #.

target

O alvo que recebe as MQTT mensagens sobre os tópicos que você especifica emsubject. A assinatura especifica que a source função publica MQTT mensagens para AWS IoT Core ou para uma função Lambda no dispositivo principal. Especifique um dos seguintes:

  • cloud. A source função publica MQTT mensagens para AWS IoT Core.

  • O nome de um componente da função do Lambda no dispositivo principal. Especifique o nome do componente com o prefixo component:, como component:com.example.HelloWorldLambda.

  • O Amazon Resource Name (ARN) de uma função Lambda no dispositivo principal.

    Importante

    Se a versão da função do Lambda mudar, você deverá configurar a assinatura com a nova versão da função. Caso contrário, esse componente não roteará as mensagens até que a versão corresponda à assinatura.

    Você deve especificar um Amazon Resource Name (ARN) que inclua a versão da função a ser importada. Você não pode usar aliases de versão, como $LATEST.

Padrão: sem assinaturas

exemplo Exemplo de atualização de configuração (definindo uma assinatura para AWS IoT Core)

O exemplo a seguir especifica que o componente com.example.HelloWorldLambda da função Lambda MQTT publica mensagens sobre AWS IoT Core o tópico. hello/world

{ "subscriptions": { "Greengrass_HelloWorld_to_cloud": { "id": "Greengrass_HelloWorld_to_cloud", "source": "component:com.example.HelloWorldLambda", "subject": "hello/world", "target": "cloud" } } }
exemplo Exemplo de atualização de configuração (definindo uma assinatura para outra função do Lambda)

O exemplo a seguir especifica que o componente com.example.HelloWorldLambda da função Lambda MQTT publica mensagens no componente da função com.example.MessageRelay Lambda sobre o tópico. hello/world

{ "subscriptions": { "Greengrass_HelloWorld_to_MessageRelay": { "id": "Greengrass_HelloWorld_to_MessageRelay", "source": "component:com.example.HelloWorldLambda", "subject": "hello/world", "target": "component:com.example.MessageRelay" } } }
v2.0.x
subscriptions

(Opcional) As assinaturas a serem ativadas no dispositivo principal. Esse é um objeto, em que cada chave é um ID exclusivo e cada valor é um objeto que define a assinatura desse conector. Você deve configurar uma assinatura ao implantar um componente de conector V1 ou uma função Lambda que usa AWS IoT Greengrass o Core. SDK

Cada objeto de assinatura contém as seguintes informações:

id

O ID exclusivo dessa assinatura. Esse ID deve corresponder à chave desse objeto de assinatura.

source

A função Lambda que usa o AWS IoT Greengrass Core SDK para publicar MQTT mensagens sobre os tópicos que você especifica em. subject Especifique o seguinte:

  • O Amazon Resource Name (ARN) de uma função Lambda no dispositivo principal.

    Importante

    Se a versão da função do Lambda mudar, você deverá configurar a assinatura com a nova versão da função. Caso contrário, esse componente não roteará as mensagens até que a versão corresponda à assinatura.

    Você deve especificar um Amazon Resource Name (ARN) que inclua a versão da função a ser importada. Você não pode usar aliases de versão, como $LATEST.

Para implantar uma assinatura para um componente do conector V1, especifique a função ARN Lambda do componente do conector.

subject

O MQTT tópico ou filtro de tópicos no qual a fonte e o destino podem publicar e receber mensagens. Esse valor aceita os curingas de tópico + e #.

target

O alvo que recebe as MQTT mensagens sobre os tópicos que você especifica emsubject. A assinatura especifica que a source função publica MQTT mensagens para AWS IoT Core ou para uma função Lambda no dispositivo principal. Especifique um dos seguintes:

  • cloud. A source função publica MQTT mensagens para AWS IoT Core.

  • O Amazon Resource Name (ARN) de uma função Lambda no dispositivo principal.

    Importante

    Se a versão da função do Lambda mudar, você deverá configurar a assinatura com a nova versão da função. Caso contrário, esse componente não roteará as mensagens até que a versão corresponda à assinatura.

    Você deve especificar um Amazon Resource Name (ARN) que inclua a versão da função a ser importada. Você não pode usar aliases de versão, como $LATEST.

Padrão: sem assinaturas

exemplo Exemplo de atualização de configuração (definindo uma assinatura para AWS IoT Core)

O exemplo a seguir especifica que a Greengrass_HelloWorld função publica a MQTT mensagem AWS IoT Core no hello/world tópico.

"subscriptions": { "Greengrass_HelloWorld_to_cloud": { "id": "Greengrass_HelloWorld_to_cloud", "source": "arn:aws:lambda:us-west-2:123456789012:function:Greengrass_HelloWorld:5", "subject": "hello/world", "target": "cloud" } }
exemplo Exemplo de atualização de configuração (definindo uma assinatura para outra função do Lambda)

O exemplo a seguir especifica que a Greengrass_HelloWorld função publica MQTT mensagens Greengrass_MessageRelay no hello/world tópico.

"subscriptions": { "Greengrass_HelloWorld_to_MessageRelay": { "id": "Greengrass_HelloWorld_to_MessageRelay", "source": "arn:aws:lambda:us-west-2:123456789012:function:Greengrass_HelloWorld:5", "subject": "hello/world", "target": "arn:aws:lambda:us-west-2:123456789012:function:Greengrass_MessageRelay:5" } }

Arquivo de log local

Esse componente não gera logs.

Changelog

A tabela a seguir descreve as alterações em cada versão do componente.

Versão

Alterações

2.1.13

Versão atualizada para a versão 2.14.0 do Greengrass nucleus.

2.1.12

Versão atualizada para o lançamento da versão 2.13.0 do núcleo do Greengrass.

2.1.11

Versão atualizada para o núcleo do Greengrass 2.12.0.

2.1.10

Versão atualizada para o lançamento da versão 2.11.0 do núcleo do Greengrass.

2.1.9

Versão atualizada para o lançamento da versão 2.10.0 do núcleo do Greengrass.

2.1.8

Versão atualizada para o núcleo do Greengrass 2.9.0.

2.1.7

Versão atualizada para o lançamento da versão 2.8.0 do núcleo do Greengrass.

2.1.6

Versão atualizada para o lançamento da versão 2.7.0 do núcleo do Greengrass.

2.1.5

Versão atualizada para o lançamento da versão 2.6.0 do núcleo do Greengrass.

2.1.4

Versão atualizada para o lançamento da versão 2.5.0 do núcleo do Greengrass.

2.1.3

Versão atualizada para o lançamento da versão 2.4.0 do núcleo do Greengrass.

2.1.2

Versão atualizada para o lançamento da versão 2.3.0 do núcleo do Greengrass.

2.1.1

Versão atualizada para o lançamento do núcleo do Greengrass versão 2.2.0.

2.1.0

Correções de bugs e melhorias
  • Adiciona suporte para especificar nomes de componentes em vez de ARNs para source target e. Se você especificar um nome de componente para uma assinatura, não precisará reconfigurar a assinatura sempre que a versão da função do Lambda for alterada.

2.0.3

Versão inicial.