

Aviso de fim do suporte: em 7 de outubro de 2026, AWS o suporte para o. AWS IoT Greengrass Version 1 Depois de 7 de outubro de 2026, você não poderá mais acessar os AWS IoT Greengrass V1 recursos. Para obter mais informações, visite [Migrar de AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

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

# Como configurar o acesso a recursos locais usando o Console de gerenciamento da AWS
<a name="lra-console"></a>

Esse recurso está disponível para AWS IoT Greengrass Core v1.3 e versões posteriores.

Você pode configurar funções do Lambda para acessar com segurança recursos locais no dispositivo de núcleo do Greengrass do host. Os *recursos locais* referem-se a barramentos e periféricos que estão fisicamente presentes no host, ou a volumes do sistema de arquivos no SO do host. Para obter mais informações, inclusive sobre os requisitos e restrições, consulte [Acesso aos recursos locais com funções e conectores do Lambda](access-local-resources.md).

Este tutorial descreve como usar o Console de gerenciamento da AWS para configurar o acesso aos recursos locais que estão presentes em um dispositivo AWS IoT Greengrass principal. Ele contém as seguintes etapas de nível elevado:

1. [Crie um pacote de implantação para a função do Lambda](#lra-console-create-package)

1. [Crie e publique uma função do Lambda](#lra-console-create-function)

1. [Adicionar a função do Lambda ao grupo](#lra-console-add-function)

1. [Adicionar um recurso local ao grupo](#lra-console-create-resource)

1. [Adicionar assinaturas ao grupo](#lra-console-add-subscription)

1. [Implantar o grupo](#lra-console-deploy-group)

Para obter um tutorial que usa o AWS Command Line Interface, consulte[Como configurar o acesso a recursos locais usando a interface de linha de AWS comando](lra-cli.md).

## Pré-requisitos
<a name="lra-console-prerequisites"></a>

Para concluir este tutorial, é necessário:
+ Um grupo do Greengrass e um núcleo do Greengrass (versão 1.3 ou posterior). Para criar um grupo ou núcleo do Greengrass, consulte [Começando com AWS IoT Greengrass](gg-gs.md).
+ Os seguintes diretórios no dispositivo de núcleo do Greengrass:
  + /src/ LRAtest
  + /dest/ LRAtest

  O grupo de proprietários desses diretórios deve ter acesso de leitura e gravação aos diretórios. Você pode usar o seguinte comando para conceder acesso:

  ```
  sudo chmod 0775 /src/LRAtest
  ```

## Etapa 1: crie um pacote de implantação para a função do Lambda
<a name="lra-console-create-package"></a>

Nesta etapa, você cria um pacote de implantação da função do Lambda, que é um arquivo ZIP que contém o código e as dependências da função. Você também baixa o SDK AWS IoT Greengrass principal para incluir no pacote como uma dependência.

1. No seu computador, copie o script do Python a seguir em um arquivo local chamado `lraTest.py`. Essa é a lógica do aplicativo para a função do Lambda.

   ```
   # Demonstrates a simple use case of local resource access.
   # This Lambda function writes a file test to a volume mounted inside
   # the Lambda environment under destLRAtest. Then it reads the file and 
   # publishes the content to the AWS IoT LRAtest topic. 
   
   import sys
   import greengrasssdk
   import platform
   import os
   import logging
   
   # Setup logging to stdout
   logger = logging.getLogger(__name__)
   logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
   
   # Create a Greengrass Core SDK client.
   client = greengrasssdk.client('iot-data')
   volumePath = '/dest/LRAtest'
   
   def function_handler(event, context):
       try:
           client.publish(topic='LRA/test', payload='Sent from AWS IoT Greengrass Core.')
           volumeInfo = os.stat(volumePath)
           client.publish(topic='LRA/test', payload=str(volumeInfo))
           with open(volumePath + '/test', 'a') as output:
               output.write('Successfully write to a file.')
           with open(volumePath + '/test', 'r') as myfile:
               data = myfile.read()
           client.publish(topic='LRA/test', payload=data)
       except Exception as e:
           logger.error('Failed to publish message: ' + repr(e))
       return
   ```

1. <a name="download-ggc-sdk"></a> Na página de downloads do [AWS IoT Greengrass Core SDK](what-is-gg.md#gg-core-sdk-download), baixe o AWS IoT Greengrass Core SDK para Python em seu computador.

1. <a name="unzip-ggc-sdk"></a>Descompacte o pacote obtido por download para obter o SDK. O SDK é a pasta do `greengrasssdk`.

1. Comprima os seguintes itens em um arquivo chamado `lraTestLambda.zip`.
   + `lraTest.py`. Lógica do aplicativo.
   + `greengrasssdk`. Biblioteca necessária para todas as funções do Lambda do Python.

   O arquivo `lraTestLambda.zip` é o pacote de implantação de sua função do Lambda. Agora, você está pronto para criar uma função do Lambda e fazer upload do pacote de implantação.

## Etapa 2: crie e publique uma função do Lambda
<a name="lra-console-create-function"></a>

Nesta etapa, você usa o AWS Lambda console para criar uma função Lambda e configurá-la para usar seu pacote de implantação. Depois, publique uma versão da função e crie um alias.

Primeiro, crie a função do Lambda.

1. No Console de gerenciamento da AWS, escolha **Serviços** e abra o AWS Lambda console.

1. Selecione **Funções**.

1. <a name="lambda-console-create-function"></a>Selecione **Criar função** e, em seguida, selecione **Criar do zero**.

1. Na seção **Basic information (Informações básicas)**, especifique os seguintes valores.

   1. Em **Function name** (Nome da função), insira **TestLRA**.

   1. Em **Runtime (Tempo de execução)**, selecione **Python 3.7**.

   1. Em **Permissões**, mantenha a configuração padrão. Isso cria uma função de execução que concede permissões básicas do Lambda. Essa função não é usada por AWS IoT Greengrass.

1. Selecione **Criar função**.  
![\[A página Create function (Criar função) com a função Create (Criar) em destaque.\]](http://docs.aws.amazon.com/pt_br/greengrass/v1/developerguide/images/lra-console/create-function.png)

    

1. Carregue o seu pacote de implantação da função do Lambda e registre o manipulador.

   1. <a name="lambda-console-upload"></a>Na guia **Código**, em **Fonte do código**, selecione **Fazer upload a partir de**. No menu suspenso, selecione o **arquivo .zip**.  
![\[O menu suspenso Fazer upload a partir de com o arquivo .zip destacado.\]](http://docs.aws.amazon.com/pt_br/greengrass/v1/developerguide/images/lra-console/upload-deployment-package.png)

   1. Selecione **Upload** e, em seguida, selecione seu pacote de implantação `lraTestLambda.zip`. Selecione **Salvar**.

   1. <a name="lambda-console-runtime-settings-para"></a>Na guia **Código** da função, em **Configurações de runtime**, selecione **Editar** e insira os valores a seguir.
      + Em **Runtime (Tempo de execução)**, selecione **Python 3.7**.
      + Em **Handler (Manipulador)**, insira **lraTest.function\$1handler**.

   1. <a name="lambda-console-save-config"></a>Escolha **Salvar**.
**nota**  
O botão **Testar** no AWS Lambda console não funciona com essa função. O SDK AWS IoT Greengrass principal não contém módulos necessários para executar suas funções do Greengrass Lambda de forma independente no console. AWS Lambda Esses módulos (por exemplo, `greengrass_common`) são fornecidos às funções depois de serem implantados no núcleo do Greengrass.

   Em seguida, publique a primeira versão da sua função do Lambda. Em seguida, crie um [alias para a versão](https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html).

   Os grupos do Greengrass podem fazer referência a uma função do Lambda por alias (recomendado) ou por versão. Usar um alias facilita o gerenciamento de atualizações de código porque você não precisa alterar a tabela de assinaturas nem a definição do grupo ao atualizar a função do código. Em vez disso, você pode simplesmente apontar o alias para a nova versão da função.

1. No menu **Ações**, selecione **Publish new version (Publicar nova versão)**.

1. Em **Version description (Descrição da versão)**, insira **First version** e, em seguida, selecione **Publish (Publicar)**.

1. Na página de configuração **TestLRA: 1**, em **Ações**, selecione **Criar alias**.

1. Na página **Criar novo alias**, em **Nome**, insira **test**. Em **Version (Versão)**, insira **1**. 
**nota**  
AWS IoT Greengrass **não oferece suporte a aliases Lambda para as versões \$1LATEST.**

1. Selecione **Create** (Criar).  
![\[A página Create a new alias (Criar outro alias) com a função Create (Criar) em destaque.\]](http://docs.aws.amazon.com/pt_br/greengrass/v1/developerguide/images/lra-console/create-alias.png)

   Agora, você pode adicionar a função do Lambda ao seu grupo do Greengrass.

## Etapa 3: adicionar a função do Lambda ao grupo do Greengrass
<a name="lra-console-add-function"></a>

Nesta etapa, você adiciona a função para o grupo e configura seu ciclo de vida da função.

Primeiro, adicione a função do Lambda ao seu grupo do Greengrass.

1. No painel de navegação do AWS IoT console, em **Gerenciar**, expanda dispositivos **Greengrass** e **escolha Grupos (**V1).

1. Selecione o grupo Greengrass onde você deseja adicionar a função do Lambda.

1. Na página de configuração do grupo, selecione a guia **Funções do Lambda**.

1. Na seção **Minhas funções do Lambda**, selecione **Adicionar**.

1. Na página **Adicionar função do Lambda**, selecione **Função do Lambda**. Selecione **TestLRA**.

1. Selecione a **Versão da função do Lambda**.

1. Na seção **Configuração da função do Lambda**, selecione **Usuário e grupo do sistema** e **Conteinerização da função do Lambda**.

    

   Em seguida, configure o ciclo de vida da função do Lambda.

1. Para **Tempo limite**, selecione **30 seconds (30 segundos)**.
**Importante**  
As funções do Lambda que usam recursos locais (conforme descrito neste procedimento) deve ser executadas em um contêiner do Greengrass. Caso contrário, haverá falha na implantação se você tentar implantar a função. Para obter mais informações, consulte [Conteinerização](lambda-group-config.md#lambda-function-containerization).

1. Na parte inferior da página, selecione **Adicionar função do Lambda**.

## Etapa 4: Adicionar um recurso local a um grupo do Greengrass
<a name="lra-console-create-resource"></a>

Nesta etapa, você adicionará um recurso de volume local a um grupo do Greengrass e concederá à função acesso de leitura e gravação ao recurso. Um recurso local tem um escopo no nível do grupo. É possível conceder permissões para qualquer função do Lambda no grupo para acessar o recurso.

1. Na página de configuração do grupo, selecione a guia **Recursos**.

1. Na seção **Recursos locais**, selecione **Adicionar**.

1. Na página **Adicionar um recurso local**, use os seguintes valores.

   1. Em **Resource Name (Nome do recurso)**, insira **testDirectory**.

   1. Em **Tipo de recurso**, selecione **Volume**.

   1. Em **Caminho do dispositivo local**, insira **/src/LRAtest**. Este caminho deve existir no sistema operacional do host. 

      O caminho local do dispositivo é o caminho local absoluto do recurso no sistema de arquivos do dispositivo de núcleo. Esse local está fora do [contêiner](lambda-group-config.md#lambda-function-containerization) em que a função é executada. O caminho não pode começar com `/sys`.

   1. Para **Destination path (Caminho de destino)**, insira **/dest/LRAtest**. Este caminho deve existir no sistema operacional do host.

      O caminho de destino é o caminho absoluto do recurso no namespace do Lambda. Esse local está dentro do contêiner em que a função é executada.

   1. Em **Permissão de acesso ao arquivo do proprietário do grupo do sistema**, selecione **Adicionar automaticamente as permissões de grupo do sistema operacional do grupo Linux que tem o recurso**.

      A opção **Proprietário do grupo do sistema e permissão de acesso a arquivos** permite conceder permissões adicionais de acesso a arquivos para o processo do Lambda. Para obter mais informações, consulte [Permissão de acesso a arquivo do proprietário do grupo](access-local-resources.md#lra-group-owner).

1. Selecione **Adicionar recurso**. A página **Resources** exibe o novo recurso testDirectory.

## Etapa 5: Adicionar assinaturas ao grupo do Greengrass
<a name="lra-console-add-subscription"></a>

Nesta etapa, você adiciona duas assinaturas ao grupo do Greengrass. Essas assinaturas permitem a comunicação bidirecional entre a função Lambda e. AWS IoT

Primeiro, crie uma assinatura para a função do Lambda para enviar mensagens para a AWS IoT.

1. Na página de configuração do grupo, selecione a guia **Assinaturas** .

1. Selecione **Adicionar**.

1. Na página **Criar uma assinatura**, configure a origem e o destino, da seguinte forma:

   1. Em **Tipo de origem**, selecione **Função do Lambda** e, em seguida, **TestLRA**.

   1. Para **Tipo de destino**, selecione **Serviço** e, em seguida, **IoT Cloud**.

   1. Em **Filtro de tópicos**, insira **LRA/test** e, em seguida selecione **Criar assinatura**.

1. A página **Subscriptions** exibe a nova assinatura.

    

   Em seguida, configure uma assinatura que invoque a função de. AWS IoT

1. Na página **Subscriptions**, selecione **Add Subscription**.

1. Na página **Select your source and target**, configure a origem e o destino, da seguinte forma:

   1. Em **Tipo de origem**, selecione **Função do Lambda** e, em seguida, selecione **IoT Cloud**.

   1. Em **Tipo de destino**, selecione **Serviço** e, em seguida, selecione **TestLRA**.

   1. Selecione **Next** (Próximo).

1. Na página **Filter your data with a topic (Filtrar os dados com um tópico)**, em **Topic filter (Filtro de tópico)**, insira **invoke/LRAFunction** e, em seguida, selecione **Next (Próximo)**.

1. Selecione **Finish**. A página **Subscriptions** exibe ambas as assinaturas.

## Etapa 6: implantar o AWS IoT Greengrass grupo
<a name="lra-console-deploy-group"></a>

Nesta etapa, você implanta a versão atual da definição do grupo.

1. Certifique-se de que o AWS IoT Greengrass núcleo esteja funcionando. Execute os seguintes comandos no seu terminal do Raspberry Pi, conforme necessário.

   1. Para verificar se o daemon está em execução:

      ```
      ps aux | grep -E 'greengrass.*daemon'
      ```

      Se a saída contém uma entrada `root` para `/greengrass/ggc/packages/1.11.6/bin/daemon`, o daemon está em execução.
**nota**  
A versão no caminho depende da versão do software AWS IoT Greengrass principal que está instalada em seu dispositivo principal.

   1. Para iniciar o daemon:

      ```
      cd /greengrass/ggc/core/
      sudo ./greengrassd start
      ```

1. Na página de configuração do grupo, selecione **Implantar**.
**nota**  
A implantação falhará se você executar sua função do Lambda sem a conteinerização e tentar acessar recursos locais anexados.

1. Se solicitado, na guia **Função do Lambda**, em **Funções do Lambda do sistema**, selecione **Detector de IP** e, em seguida, **Editar** e, em seguida, **Detectar automaticamente**.

   Isso permite que os dispositivos adquiram automaticamente as informações de conectividade para o núcleo, como endereço IP, DNS e o número da porta. A detecção automática é recomendada, mas AWS IoT Greengrass também oferece suporte a endpoints especificados manualmente. Você só é solicitado pelo método de descoberta na primeira vez em que o grupo for implantado.
**nota**  
Se solicitado, conceda permissão para criar a função de [serviço do Greengrass](service-role.md) e associá-la à Conta da AWS sua na atual. Região da AWS Essa função permite AWS IoT Greengrass acessar seus recursos em AWS serviços.

   A página **Deployments** mostra a data e hora, ID de versão e status da implantação. Quando concluído, o status da implantação é **Concluído**.

   Para obter ajuda sobre a solução de problemas, consulte [Solução de problemas AWS IoT Greengrass](gg-troubleshooting.md).

## Testar o acesso aos recursos locais
<a name="lra-console-test-results"></a>

Agora você pode verificar se o acesso aos recursos locais foi configurado corretamente. Para testar, inscreva-se no tópico `LRA/test` e publique no tópico `invoke/LRAFunction`. O teste será bem-sucedido se a função Lambda enviar a carga esperada para o. AWS IoT

1. No menu de navegação do AWS IoT console, em **Teste**, escolha **Cliente de teste MQTT**.

1. Em **Inscrever-se em um tópico**, em **Filtro de tópicos**, insira**LRA/test**.

1. Em **Informações adicionais**, para **Exibição da carga útil do MQTT**, selecione **Exibir cargas úteis como strings**.

1. Selecione **Subscribe**. Sua função Lambda publica no tópico. LRA/test   
![\[A página Subscriptions (Inscrições) com Subscribe to topic (Inscrever-se no tópico) em destaque.\]](http://docs.aws.amazon.com/pt_br/greengrass/v1/developerguide/images/lra-console/test-subscribe.png)

1. Em **Publicar em um tópico**, em **Nome do tópico**, insira **invoke/LRAFunction** e, em seguida selecione **Publicar** para invocar sua função do Lambda. O teste é bem-sucedido se a página exibir as três cargas úteis de mensagens da função.  
![\[A página de assinaturas com o invoke/LRAFunction tópico e o tópico Publicar no tópico destacados e os resultados do teste com dados da mensagem.\]](http://docs.aws.amazon.com/pt_br/greengrass/v1/developerguide/images/lra-console/test-publish.png)

O arquivo de teste criado pela função do Lambda está no diretório `/src/LRAtest` no dispositivo de núcleo do Greengrass. Embora a função do Lambda grave em um arquivo no diretório de `/dest/LRAtest`, esse arquivo está visível apenas no namespace do Lamda. Você não pode vê-lo em um namespace Linux regular. Qualquer alteração no caminho de destino é refletida no caminho de origem no sistema de arquivos.

Para obter ajuda sobre a solução de problemas, consulte [Solução de problemas AWS IoT Greengrass](gg-troubleshooting.md).