Importar uma função Lambda como componente (console) - 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á.

Importar uma função Lambda como componente (console)

Ao usar o AWS IoT Greengrassconsole para criar um componente de função Lambda, você importa uma AWS Lambda função existente e a configura para criar um componente que seja executado em seu dispositivo Greengrass.

Antes de começar, revise os requisitos para executar as funções do Lambda em dispositivos Greengrass.

Etapa 1: Escolha uma função Lambda para importar

  1. No menu de navegação AWS IoT Greengrassdo console, escolha Componentes.

  2. Na página Componentes, escolha Criar componente.

  3. Na página Criar componente, em Informações do componente, escolha Importar função Lambda.

  4. Na função Lambda, pesquise e escolha a função Lambda que você deseja importar.

    AWS IoT Greengrasscria o componente com o nome da função Lambda.

  5. Na versão da função Lambda, escolha a versão a ser importada. Você não pode escolher aliases do Lambda como. $LATEST

    AWS IoT Greengrasscria o componente com a versão da função Lambda como uma versão semântica válida. Por exemplo, se a versão da função for 3, a versão do componente se tornará 3.0.0.

Etapa 2: Configurar os parâmetros da função Lambda

Na página Criar componente, em Configuração da função Lambda, configure os seguintes parâmetros para usar na execução da função Lambda.

  1. (Opcional) Adicione a lista de fontes de eventos nas quais a função Lambda se inscreve para receber mensagens de trabalho. Você pode especificar fontes de eventos para inscrever essa função em mensagens locais de publicação/assinatura e mensagens AWS IoT Core MQTT. A função Lambda é chamada quando recebe uma mensagem de uma fonte de eventos.

    nota

    Para inscrever essa função em mensagens de outras funções ou componentes do Lambda, implante o componente legado do roteador de assinatura ao implantar esse componente da função Lambda. Ao implantar o componente legado do roteador de assinatura, especifique as assinaturas que a função Lambda usa.

    Em Fontes de eventos, faça o seguinte para adicionar uma fonte de eventos:

    1. Para cada fonte de evento que você adicionar, especifique as seguintes opções:

      • Tópico — O tópico para assinar mensagens.

      • Tipo — O tipo de origem do evento. Escolha uma das seguintes opções:

        • Publicação/assinatura local — Assine mensagens locais de publicação/assinatura.

          Se você usa o Greengrass nucleus v2.6.0 ou posterior e o Lambda manager v2.2.5 ou posterior, você pode usar + curingas de tópico MQTT (e) no Tópico ao especificar esse tipo. #

        • AWS IoT CoreMQTT — Assine as mensagens do AWS IoT Core MQTT.

          Você pode usar curingas de tópico MQTT (+e#) no Tópico ao especificar esse tipo.

    2. Para adicionar outra fonte de eventos, escolha Adicionar fonte de eventos e repita a etapa anterior. Para remover uma fonte de eventos, escolha Remover ao lado da fonte de eventos que você deseja remover.

  2. Em Tempo limite (segundos), insira o tempo máximo em segundos que uma função Lambda não fixada pode ser executada antes de atingir o tempo limite. O padrão é 3 segundos.

  3. Em Fixado, escolha se o componente da função Lambda está fixado. O padrão é True.

    • Uma função Lambda fixa (ou de longa duração) AWS IoT Greengrass começa quando é iniciada e continua sendo executada em seu próprio contêiner.

    • Uma função Lambda não fixada (ou sob demanda) começa somente quando recebe um item de trabalho e sai depois de permanecer ociosa por um tempo de inatividade máximo especificado. Se a função tiver vários itens de trabalho, o software AWS IoT Greengrass Core criará várias instâncias da função.

  4. (Opcional) Em Parâmetros adicionais, defina os seguintes parâmetros da função Lambda.

    • Tempo limite de status (segundos) — O intervalo em segundos no qual o componente da função Lambda envia atualizações de status para o componente gerenciador do Lambda. Esse parâmetro se aplica somente às funções fixadas. O padrão é 60 segundos.

    • Tamanho máximo da fila — O tamanho máximo da fila de mensagens para o componente da função Lambda. O software AWS IoT Greengrass Core armazena mensagens em uma fila FIFO (primeiro a entrar, primeiro a sair) até poder executar a função Lambda para consumir cada mensagem. O padrão é 1.000 mensagens.

    • Número máximo de instâncias — O número máximo de instâncias que uma função Lambda não fixada pode executar ao mesmo tempo. O padrão é 100 instâncias.

    • Tempo máximo de inatividade (segundos) — A quantidade máxima de tempo em segundos que uma função Lambda não fixada pode ficar ociosa antes que AWS IoT Greengrass o software principal interrompa seu processo. O padrão é 60 segundos.

    • Tipo de codificação — O tipo de carga útil que a função Lambda suporta. Escolha uma das seguintes opções:

      • JSON

      • Binário

      O padrão é JSON.

  5. (Opcional) Especifique a lista de argumentos da linha de comando a serem transmitidos para a função Lambda quando ela for executada.

    1. Em Parâmetros adicionais, Processar argumentos, escolha Adicionar argumento.

    2. Para cada argumento adicionado, insira o argumento que você deseja passar para a função.

    3. Para remover um argumento, escolha Remover ao lado do argumento que você deseja remover.

  6. (Opcional) Especifique as variáveis de ambiente que estão disponíveis para a função Lambda quando ela é executada. As variáveis de ambiente permitem que você armazene e atualize as configurações sem a necessidade de alterar o código da função.

    1. Em Parâmetros adicionais, Variáveis de ambiente, escolha Adicionar variável de ambiente.

    2. Para cada variável de ambiente que você adicionar, especifique as seguintes opções:

      • Chave — O nome da variável.

      • Valor — O valor padrão para essa variável.

    3. Para remover uma variável de ambiente, escolha Remover ao lado da variável de ambiente que você deseja remover.

Etapa 3: (opcional) especificar plataformas suportadas para a função Lambda

Todos os dispositivos principais têm atributos de sistema operacional e arquitetura. Quando você implanta o componente da função Lambda, o software AWS IoT Greengrass Core compara os valores da plataforma que você especifica com os atributos da plataforma no dispositivo principal para determinar se a função Lambda é suportada nesse dispositivo.

nota

Você também pode especificar atributos personalizados da plataforma ao implantar o componente nucleus do Greengrass em um dispositivo principal. Para obter mais informações, consulte o parâmetro de substituição da plataforma do componente do núcleo do Greengrass.

Em Configuração da função Lambda, Parâmetros adicionais, Plataformas, faça o seguinte para especificar as plataformas que essa função Lambda suporta.

  1. Para cada plataforma, especifique as seguintes opções:

    • Sistema operacional — O nome do sistema operacional da plataforma. Atualmente, o único valor compatível é linux.

    • Arquitetura — A arquitetura do processador para a plataforma. Os valores compatíveis são:

      • amd64

      • arm

      • aarch64

      • x86

  2. Para adicionar outra plataforma, escolha Adicionar plataforma e repita a etapa anterior. Para remover uma plataforma compatível, escolha Remover ao lado da plataforma que você deseja remover.

Etapa 4: (opcional) especificar dependências de componentes para a função Lambda

As dependências de componentes identificam componentes adicionais AWS fornecidos ou componentes personalizados que sua função usa. Quando você implanta o componente da função Lambda, a implantação inclui essas dependências para que sua função seja executada.

Importante

Para importar uma função Lambda que você criou para ser executada na AWS IoT Greengrass V1, você deve definir dependências de componentes individuais para os recursos que sua função usa, como segredos, sombras locais e gerenciador de stream. Defina esses componentes como dependências rígidas para que seu componente da função Lambda seja reiniciado se a dependência mudar de estado. Para ter mais informações, consulte Importar funções V1 Lambda.

Em Configuração da função Lambda, Parâmetros adicionais, Dependências de componentes, conclua as etapas a seguir para especificar as dependências de componentes para sua função Lambda.

  1. Escolha Adicionar dependência.

  2. Para cada dependência de componente que você adicionar, especifique as seguintes opções:

    • Nome do componente — O nome do componente. Por exemplo, insira aws.greengrass.StreamManager para incluir o componente gerenciador de fluxo.

    • Requisito de versão — A restrição de versão semântica no estilo npm que identifica as versões compatíveis dessa dependência de componente. Você pode especificar uma única versão ou um intervalo de versões. Por exemplo, insira ^1.0.0 para especificar que essa função Lambda depende de qualquer versão na primeira versão principal do componente do gerenciador de fluxo. Para obter mais informações sobre restrições de versão semântica, consulte a calculadora npm semver.

    • Tipo — O tipo de dependência. Escolha uma das seguintes opções:

      • Difícil — O componente da função Lambda é reiniciado se a dependência mudar de estado. Esta é a ação padrão.

      • Soft — O componente da função Lambda não reinicia se a dependência mudar de estado.

  3. Para remover uma dependência de componente, escolha Remover ao lado da dependência do componente

Etapa 5: (opcional) executar a função Lambda em um contêiner

Por padrão, as funções Lambda são executadas em um ambiente de execução isolado dentro do software AWS IoT Greengrass Core. Você também pode optar por executar a função Lambda como um processo sem nenhum isolamento (ou seja, no modo Sem contêiner).

Em Configuração do processo Linux, para o modo de isolamento, escolha entre as seguintes opções para selecionar a conteinerização para sua função Lambda:

  • Contêiner Greengrass — A função Lambda é executada em um contêiner. Esta é a ação padrão.

  • Sem contêiner — A função Lambda é executada como um processo sem nenhum isolamento.

Se você executar a função Lambda em um contêiner, conclua as etapas a seguir para definir a configuração do processo para a função Lambda.

  1. Configure a quantidade de memória e os recursos do sistema, como volumes e dispositivos, a serem disponibilizados para o contêiner.

    Em Parâmetros do contêiner, faça o seguinte.

    1. Em Tamanho da memória, insira o tamanho da memória que você deseja alocar para o contêiner. Você pode especificar o tamanho da memória em MB ou kB.

    2. Em Pasta sys somente para leitura, escolha se o contêiner pode ou não ler as informações da pasta do /sys dispositivo. O padrão é False.

  2. (Opcional) Configure os volumes locais que a função Lambda em contêiner pode acessar. Quando você define um volume, o software AWS IoT Greengrass Core monta os arquivos de origem no destino dentro do contêiner.

    1. Em Volumes, escolha Adicionar volume.

    2. Para cada volume que você adicionar, especifique as seguintes opções:

      • Volume físico — O caminho para a pasta de origem no dispositivo principal.

      • Volume lógico — O caminho para a pasta de destino no contêiner.

      • Permissão — (Opcional) A permissão para acessar a pasta de origem a partir do contêiner. Escolha uma das seguintes opções:

        • Somente leitura — A função Lambda tem acesso somente de leitura à pasta de origem. Esta é a ação padrão.

        • Leitura/gravação — A função Lambda tem acesso de leitura/gravação à pasta de origem.

      • Adicionar proprietário do grupo — (Opcional) Se deve ou não adicionar o grupo do sistema que executa o componente da função Lambda como proprietário da pasta de origem. O padrão é False.

    3. Para remover um volume, escolha Remover ao lado do volume que você deseja remover.

  3. (Opcional) Configure os dispositivos do sistema local que a função Lambda em contêiner pode acessar.

    1. Em Dispositivos, escolha Adicionar dispositivo.

    2. Para cada dispositivo que você adicionar, especifique as seguintes opções:

      • Caminho de montagem — O caminho para o dispositivo do sistema no dispositivo principal.

      • Permissão — (Opcional) A permissão para acessar o dispositivo do sistema a partir do contêiner. Escolha uma das seguintes opções:

        • Somente leitura — A função Lambda tem acesso somente de leitura ao dispositivo do sistema. Esta é a ação padrão.

        • Leitura/gravação — A função Lambda tem acesso de leitura/gravação à pasta de origem.

      • Adicionar proprietário do grupo — (Opcional) Se deve ou não adicionar o grupo do sistema que executa o componente da função Lambda como proprietário do dispositivo do sistema. O padrão é False.

Etapa 6: criar o componente da função Lambda

Depois de definir as configurações do componente da função Lambda, escolha Criar para concluir a criação do novo componente.

Para executar a função Lambda em seu dispositivo principal, você pode então implantar o novo componente em seus dispositivos principais. Para ter mais informações, consulte Implemente AWS IoT Greengrass componentes em dispositivos.