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

parte

Use o component comando na interface de linha de comando do kit de AWS IoT Greengrass desenvolvimento (GDK CLI) para criar, criar e publicar componentes personalizados do Greengrass.

init

Inicialize uma pasta de componentes do Greengrass a partir de um modelo de componente ou componente da comunidade.

A CLI do GDK recupera componentes da comunidade do Catálogo de Software do Greengrass e modelos de componentes do repositório de Modelos de AWS IoT Greengrass Componentes em. GitHub

nota

Se você usa o GDK CLI v1.0.0, deve executar esse comando em uma pasta vazia. A CLI do GDK baixa o modelo ou componente da comunidade para a pasta atual.

Se você usa o GDK CLI v1.1.0 ou posterior, pode especificar --name o argumento para especificar a pasta em que o GDK CLI baixa o modelo ou o componente da comunidade. Se você usar esse argumento, especifique uma pasta que não existe. A CLI do GDK cria a pasta para você. Se você não especificar esse argumento, a CLI do GDK usará a pasta atual, que deve estar vazia.

Se o componente usa o sistema de compilação zip, a CLI do GDK compacta determinados arquivos na pasta do componente em um arquivo zip com o mesmo nome da pasta do componente. Por exemplo, se o nome da pasta do componente forHelloWorld, a CLI do GDK criará um arquivo zip chamado. HelloWorld.zip Na receita do componente, o nome do artefato zip deve corresponder ao nome da pasta do componente. Se você usa o GDK CLI versão 1.0.0 em um dispositivo Windows, a pasta do componente e os nomes dos arquivos zip devem conter somente letras minúsculas.

Se você inicializar um modelo ou componente da comunidade que usa o sistema de compilação zip em uma pasta com um nome diferente do modelo ou componente, deverá alterar o nome do artefato zip na receita do componente. Atualize as Lifecycle definições Artifacts e de forma que o nome do arquivo zip corresponda ao nome da pasta do componente. O exemplo a seguir destaca o nome do arquivo zip nas Lifecycle definições Artifacts e.

JSON
{ ... "Manifests": [ { "Platform": { "os": "all" }, "Artifacts": [ { "URI": "s3://BUCKET_NAME/COMPONENT_NAME/COMPONENT_VERSION/HelloWorld.zip", "Unarchive": "ZIP" } ], "Lifecycle": { "run": "python3 -u {artifacts:decompressedPath}/HelloWorld/main.py {configuration:/Message}" } } ] }
YAML
--- ... Manifests: - Platform: os: all Artifacts: - URI: "s3://BUCKET_NAME/COMPONENT_NAME/COMPONENT_VERSION/HelloWorld.zip" Unarchive: ZIP Lifecycle: run: "python3 -u {artifacts:decompressedPath}/HelloWorld/main.py {configuration:/Message}"
Resumo
$ gdk component init [--language] [--template] [--repository] [--name]
Argumentos (inicializar a partir do modelo do componente)
  • -l, --language — A linguagem de programação a ser usada para o modelo que você especificar.

    Você deve especificar um --repository ou --language --template e.

  • -t, --template — O modelo de componente a ser usado em um projeto de componente local. Para visualizar os modelos disponíveis, use o comando list.

    Você deve especificar um --repository ou --language --template e.

  • -n, --name — (Opcional) O nome da pasta local em que a CLI do GDK inicializa o componente. Especifique uma pasta que não existe. A CLI do GDK cria a pasta para você.

    Esse recurso está disponível para o GDK CLI v1.1.0 e versões posteriores.

Argumentos (inicializar a partir do componente da comunidade)
  • -r, --repository — O componente da comunidade a ser verificado na pasta local. Para visualizar os componentes disponíveis da comunidade, use o comando list.

    Você deve especificar um --repository ou --language --template e.

  • -n, --name — (Opcional) O nome da pasta local em que a CLI do GDK inicializa o componente. Especifique uma pasta que não existe. A CLI do GDK cria a pasta para você.

    Esse recurso está disponível para o GDK CLI v1.1.0 e versões posteriores.

Saída

O exemplo a seguir mostra a saída produzida quando você executa esse comando para inicializar uma pasta de componentes a partir do modelo Python Hello World.

$ gdk component init -l python -t HelloWorld [2021-11-29 12:51:40] INFO - Initializing the project directory with a python component template - 'HelloWorld'. [2021-11-29 12:51:40] INFO - Fetching the component template 'HelloWorld-python' from Greengrass Software Catalog.

O exemplo a seguir mostra a saída produzida quando você executa esse comando para inicializar uma pasta de componentes a partir de um componente da comunidade.

$ gdk component init -r aws-greengrass-labs-database-influxdb [2022-01-24 15:44:33] INFO - Initializing the project directory with a component from repository catalog - 'aws-greengrass-labs-database-influxdb'. [2022-01-24 15:44:33] INFO - Fetching the component repository 'aws-greengrass-labs-database-influxdb' from Greengrass Software Catalog.

build

Crie a fonte de um componente em uma receita e artefatos que você possa publicar no AWS IoT Greengrass serviço. A CLI do GDK executa o sistema de compilação que você especifica no arquivo de configuração da CLI do GDK,. gdk-config.json Você deve executar esse comando na mesma pasta em que o gdk-config.json arquivo existe.

Quando você executa esse comando, a CLI do GDK cria uma receita e artefatos na pasta greengrass-build do componente. A CLI do GDK salva a receita na greengrass-build/recipes pasta e salva os artefatos na pasta. greengrass-build/artifacts/componentName/componentVersion

Se você usa o GDK CLI v1.1.0 ou posterior, a receita do componente pode especificar artefatos que existem em um bucket do S3, mas não na pasta de criação do componente local. Você pode usar esse recurso para reduzir o uso de largura de banda ao desenvolver componentes com grandes artefatos, como modelos de aprendizado de máquina.

Depois de criar um componente, você pode fazer o seguinte para testá-lo em um dispositivo principal do Greengrass:

  • Se você desenvolve em um dispositivo diferente daquele em que executa o software AWS IoT Greengrass Core, você deve publicar o componente para implantá-lo em um dispositivo principal do Greengrass. Publique o componente no AWS IoT Greengrass serviço e implante-o no dispositivo principal do Greengrass. Para obter mais informações, consulte o comando publish Criar implantações e.

  • Se você desenvolve no mesmo dispositivo em que executa o software AWS IoT Greengrass Core, pode publicar o componente no AWS IoT Greengrass serviço para implantação ou criar uma implantação local para instalar e executar o componente. Para criar uma implantação local, use a CLI do Greengrass. Para obter mais informações, consulte Teste AWS IoT Greengrass componentes com implantações locais e Interface de linha de comando do Greengrass. Ao criar a implantação local, especifique greengrass-build/recipes como pasta de receitas e greengrass-build/artifacts como pasta de artefatos.

Resumo
$ gdk component build
Arguments (Argumentos)

Nenhum

Saída

O exemplo a seguir mostra a saída produzida quando você executa esse comando.

$ gdk component build [2021-11-29 13:18:49] INFO - Getting project configuration from gdk-config.json [2021-11-29 13:18:49] INFO - Found component recipe file 'recipe.yaml' in the project directory. [2021-11-29 13:18:49] INFO - Building the component 'com.example.PythonHelloWorld' with the given project configuration. [2021-11-29 13:18:49] INFO - Using 'zip' build system to build the component. [2021-11-29 13:18:49] 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'. [2021-11-29 13:18:49] INFO - Zipping source code files of the component. [2021-11-29 13:18:49] INFO - Copying over the build artifacts to the greengrass component artifacts build folder. [2021-11-29 13:18:49] INFO - Updating artifact URIs in the recipe. [2021-11-29 13:18:49] INFO - Creating component recipe in 'C:\Users\MyUser\Documents\greengrass-components\python\HelloWorld\greengrass-build\recipes'.

publish

Publique esse componente no AWS IoT Greengrass serviço. Esse comando carrega artefatos de construção em um bucket do S3, atualiza o URI do artefato na receita e cria uma nova versão do componente a partir da receita. A CLI do GDK usa o bucket AWS e a região do S3 que você especifica no arquivo de configuração da CLI do GDK,. gdk-config.json Você deve executar esse comando na mesma pasta em que o gdk-config.json arquivo existe.

Se você usar o GDK CLI v1.1.0 ou posterior, poderá especificar --bucket o argumento para especificar o bucket do S3 em que o GDK CLI carrega os artefatos do componente. Se você não especificar esse argumento, a CLI do GDK será carregada no bucket do S3 cujo nome bucket-region-accountId é, onde bucket e region são os valores que você especifica e accountId gdk-config.json é seu ID. Conta da AWS A CLI do GDK cria o bucket se ele não existir.

Se você usa o GDK CLI v1.2.0 ou posterior, você pode substituir o Região da AWS especificado no arquivo de configuração do GDK CLI usando o parâmetro. --region Você também pode especificar opções adicionais usando o --options parâmetro. Para obter uma lista das opções disponíveis, consulteArquivo de configuração CLI do Greengrass Development Kit.

Quando você executa esse comando, a CLI do GDK publica o componente com a versão especificada na receita. Se você especificarNEXT_PATCH, a CLI do GDK usará a próxima versão do patch que ainda não existe. As versões semânticas usam um major. menor. sistema de numeração de patches. Para obter mais informações, consulte a especificação da versão semântica.

nota

Se você usa o GDK CLI v1.1.0 ou posterior, ao executar esse comando, o GDK CLI verifica se o componente foi criado. Se o componente não for criado, a CLI do GDK cria o componente antes de publicá-lo.

Resumo
$ gdk component publish [--bucket] [--region] [--options]
Arguments (Argumentos)
  • -b, --bucket — (Opcional) Especifique o nome do bucket do S3 em que a CLI do GDK publica artefatos do componente.

    Se você não especificar esse argumento, a CLI do GDK será carregada no bucket do S3 cujo nome bucket-region-accountId é, onde bucket e region são os valores que você especifica e accountId gdk-config.json é seu ID. Conta da AWS A CLI do GDK cria o bucket se ele não existir.

    A CLI do GDK cria o bucket se ele não existir.

    Esse recurso está disponível para o GDK CLI v1.1.0 e versões posteriores.

  • -r, --region — (Opcional) Especifique o nome do Região da AWS para quando o componente for criado. Esse argumento substitui o nome da região na configuração da CLI do GDK.

    Esse recurso está disponível para o GDK CLI v1.2.0 e versões posteriores.

  • -o, --options (Opcional) Especifique uma lista de opções para publicar um componente. O argumento deve ser uma string JSON válida ou um caminho de arquivo para um arquivo JSON contendo as opções de publicação. Esse argumento substitui as opções na configuração da CLI do GDK.

    Esse recurso está disponível para o GDK CLI v1.2.0 e versões posteriores.

Saída

O exemplo a seguir mostra a saída produzida quando você executa esse comando.

$ gdk component publish [2021-11-29 13:45:29] INFO - Getting project configuration from gdk-config.json [2021-11-29 13:45:29] INFO - Found component recipe file 'recipe.yaml' in the project directory. [2021-11-29 13:45:29] INFO - Found credentials in shared credentials file: ~/.aws/credentials [2021-11-29 13:45:30] INFO - Publishing the component 'com.example.PythonHelloWorld' with the given project configuration. [2021-11-29 13:45:30] INFO - No private version of the component 'com.example.PythonHelloWorld' exist in the account. Using '1.0.0' as the next version to create. [2021-11-29 13:45:30] INFO - Uploading the component built artifacts to s3 bucket. [2021-11-29 13:45:30] INFO - Uploading component artifacts to S3 bucket: {bucket}. 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. [2021-11-29 13:45:30] INFO - Not creating an artifacts bucket as it already exists. [2021-11-29 13:45:30] INFO - Updating the component recipe com.example.PythonHelloWorld-1.0.0. [2021-11-29 13:45:30] INFO - Creating a new greengrass component com.example.PythonHelloWorld-1.0.0 [2021-11-29 13:45:30] INFO - Created private version '1.0.0' of the component in the account.'com.example.PythonHelloWorld'.

list

Recupere a lista de modelos de componentes e componentes da comunidade disponíveis.

A CLI do GDK recupera componentes da comunidade do Catálogo de Software do Greengrass e modelos de componentes do repositório de Modelos de AWS IoT Greengrass Componentes em. GitHub

Você pode passar a saída desse comando para o comando init para inicializar repositórios de componentes a partir de modelos e componentes da comunidade.

Resumo
$ gdk component list [--template] [--repository]
Arguments (Argumentos)
  • -t, --template — (Opcional) Especifique esse argumento para listar os modelos de componentes disponíveis. Esse comando gera o nome e o idioma de cada modelo no formatoname-language. Por exemplo, emHelloWorld-python, o nome do modelo é HelloWorld e o idioma épython.

  • -r, --repository — (Opcional) Especifique esse argumento para listar os repositórios de componentes da comunidade disponíveis.

Saída

O exemplo a seguir mostra a saída produzida quando você executa esse comando.

$ gdk component list --template [2021-11-29 12:29:04] INFO - Listing all the available component templates from Greengrass Software Catalog. [2021-11-29 12:29:04] INFO - Found '2' component templates to display. 1. HelloWorld-python 2. HelloWorld-java