Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Etapa 3: publicar o componente no serviço AWS IoT Greengrass

Modo de foco
Etapa 3: publicar o componente no serviço AWS IoT Greengrass - 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á.

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

Nesta seção, você publica o componente Hello World no serviço de nuvem do AWS IoT Greengrass. Depois que um componente estiver disponível no serviço de nuvem do AWS IoT Greengrass, você poderá implantá-lo nos dispositivos principais. Você usa a CLI do GDK para publicar o componente do seu computador de desenvolvimento no serviço de nuvemAWS IoT Greengrass. A CLI do GDK carrega a fórmula e os artefatos do componente para você.

Para publicar o componente Hello World no serviço do AWS IoT Greengrass
  1. Execute o seguinte comando para compilar o componente usando a CLI do GDK. O comando de construção do componente cria uma fórmula e artefatos com base no arquivo de configuração da CLI do GDK. Nesse processo, a CLI do GDK cria um arquivo ZIP que contém o código-fonte do componente.

    gdk component build

    Você verá mensagens semelhantes ao exemplo a seguir.

    [2022-04-28 11:20:16] INFO - Getting project configuration from gdk-config.json [2022-04-28 11:20:16] INFO - Found component recipe file 'recipe.yaml' in the project directory. [2022-04-28 11:20:16] INFO - Building the component 'com.example.BatteryAwareHelloWorld' with the given project configuration. [2022-04-28 11:20:16] INFO - Using 'zip' build system to build the component. [2022-04-28 11:20:16] WARNING - This component is identified as using 'zip' build system. If this is incorrect, please exit and specify custom build command in the 'gdk-config.json'. [2022-04-28 11:20:16] INFO - Zipping source code files of the component. [2022-04-28 11:20:16] INFO - Copying over the build artifacts to the greengrass component artifacts build folder. [2022-04-28 11:20:16] INFO - Updating artifact URIs in the recipe. [2022-04-28 11:20:16] INFO - Creating component recipe in 'C:\Users\finthomp\greengrassv2\com.example.BatteryAwareHelloWorld\greengrass-build\recipes'.
  2. Execute o seguinte comando para publicar o componente no serviço de nuvem do AWS IoT Greengrass. O comando de publicação do componente carrega o artefato do arquivo ZIP do componente em um bucket do S3. Em seguida, ele atualiza o URI S3 do arquivo ZIP na fórmula do componente e carrega a fórmula no serviço do AWS IoT Greengrass. Nesse processo, a CLI do GDK verifica qual versão do componente Hello World já está disponível AWS IoT Greengrass no serviço de nuvem, para que possa escolher a próxima versão do patch após essa versão. Se o componente ainda não existir, a CLI do GDK usa a versão. 1.0.0

    gdk component publish

    Você verá mensagens semelhantes ao exemplo a seguir. A saída informa a versão do componente que a CLI do GDK criou.

    [2022-04-28 11:20:29] INFO - Getting project configuration from gdk-config.json [2022-04-28 11:20:29] INFO - Found component recipe file 'recipe.yaml' in the project directory. [2022-04-28 11:20:29] INFO - Found credentials in shared credentials file: ~/.aws/credentials [2022-04-28 11:20:30] INFO - No private version of the component 'com.example.BatteryAwareHelloWorld' exist in the account. Using '1.0.0' as the next version to create. [2022-04-28 11:20:30] INFO - Publishing the component 'com.example.BatteryAwareHelloWorld' with the given project configuration. [2022-04-28 11:20:30] INFO - Uploading the component built artifacts to s3 bucket. [2022-04-28 11:20:30] INFO - Uploading component artifacts to S3 bucket: greengrass-component-artifacts-us-west-2-123456789012. If this is your first time using this bucket, add the 's3:GetObject' permission to each core device's token exchange role to allow it to download the component artifacts. For more information, see https://docs.aws.amazon.com/greengrass/v2/developerguide/device-service-role.html. [2022-04-28 11:20:30] INFO - Not creating an artifacts bucket as it already exists. [2022-04-28 11:20:30] INFO - Updating the component recipe com.example.BatteryAwareHelloWorld-1.0.0. [2022-04-28 11:20:31] INFO - Creating a new greengrass component com.example.BatteryAwareHelloWorld-1.0.0 [2022-04-28 11:20:31] INFO - Created private version '1.0.0' of the component in the account.'com.example.BatteryAwareHelloWorld'.
  3. Copie o nome do bucket do S3 da saída. Você usa o nome do bucket posteriormente para permitir que o dispositivo principal baixe artefatos de componentes desse bucket.

  4. (Opcional) Visualize o componente no AWS IoT Greengrass console para verificar se ele foi carregado com êxito. Faça o seguinte:

    1. No menu de navegação do console do AWS IoT Greengrass, selecione Componentes.

    2. Na página Componentes, escolha a guia Meus componentes e, em seguida, escolha com.example.BatteryAwareHelloWorld.

      Nesta página, você pode ver a fórmula do componente e outras informações sobre o componente.

  5. Permita que o dispositivo principal acesse os artefatos do componente no bucket do S3.

    Cada dispositivo principal tem uma função de IAM do dispositivo principal que permite interagir AWS IoT e enviar logs para a AWS nuvem. Essa função de dispositivo não permite acesso aos buckets do S3 por padrão, então você deve criar e anexar uma política que permita que o dispositivo principal recupere artefatos do componente do bucket do S3.

    Se a função do seu dispositivo já permitir o acesso ao bucket do S3, você pode ignorar essa etapa. Caso contrário, crie uma política do IAM que permita acesso e anexe-a à função, da seguinte forma:

    1. No menu de navegação do console do IAM, escolha Políticas e Criar política.

    2. Na guia JSON, substitua o conteúdo do espaço reservado pela política a seguir. Substitua greengrass-component-artifacts-us-west-2-123456789012 pelo nome do bucket do S3 em que a CLI do GDK fez o upload dos artefatos do componente.

      Por exemplo, se você especificou greengrass-component-artifacts e está us-west-2 no arquivo de configuração da CLI do GDK e Conta da AWS sua ID 123456789012 é, a CLI do GDK usa o bucket do S3 chamado. greengrass-component-artifacts-us-west-2-123456789012

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::greengrass-component-artifacts-us-west-2-123456789012/*" } ] }
    3. Escolha Próximo.

    4. Na seção Detalhes da política, insira MyGreengrassV2ComponentArtifactPolicy em Nome.

    5. Escolha Criar política.

    6. No menu de navegação do console do IAM, escolha Role e, em seguida, escolha o nome da função para o dispositivo principal. Você especificou esse nome de função ao instalar o software AWS IoT Greengrass Core. Se você não especificou um nome, o padrão é GreengrassV2TokenExchangeRole.

    7. Em Permissões, escolha Adicionar permissões e Anexar políticas.

    8. Na página Adicionar permissões, marque a caixa de seleção ao lado da política MyGreengrassV2ComponentArtifactPolicy que você criou e escolha Adicionar permissões.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.