Interface de linha de comando do kit de desenvolvimento do AWS IoT Greengrass - AWS IoT Greengrass

Interface de linha de comando do kit de desenvolvimento do AWS IoT Greengrass

A interface de linha de comando do kit de desenvolvimento do AWS IoT Greengrass (CLI do GDK) fornece recursos que ajudam você a desenvolver componentes personalizados do Greengrass. É possível usar a CLI do GDK para criar, construir e publicar componentes personalizados. Ao criar um repositório de componentes com a CLI do GDK, você pode começar a partir de um modelo ou de um componente da comunidade do Catálogo de Software do Greengrass. Em seguida, você pode escolher um sistema de compilação que empacote arquivos em ZIP, use um script de compilação do Maven ou do Gradle ou execute um comando de compilação personalizado. Depois de criar um componente, você pode usar a CLI do GDK para publicá-lo no serviço do AWS IoT Greengrass. Assim, você pode usar o console ou a API do AWS IoT Greengrass para implantar o componente em seus dispositivos principais do Greengrass.

Ao desenvolver componentes do Greengrass sem a CLI do GDK, você deve atualizar os URIs da versão e do artefato no arquivo de fórmula do componente sempre que criar uma nova versão dele. Quando você usa a CLI do GDK, ela pode atualizar automaticamente os URIs de versão e artefato sempre que você publica uma nova versão do componente.

A CLI do GDK é de código aberto e está disponível no GitHub. Você pode personalizar e estender a CLI do GDK para atender às suas necessidades de desenvolvimento de componentes. Convidamos você a criar questões e pull requests no repositório do GitHub. Você pode encontrar a fonte da CLI do GDK no seguinte link: https://github.com/aws-greengrass/aws-greengrass-gdk-cli.

Pré-requisitos

Para instalar e usar a CLI do kit de desenvolvimento do Greengrass, você precisa do seguinte:

  • Uma Conta da AWS. Se você não tiver uma, consulte Configurar uma Conta da AWS.

  • Um computador de desenvolvimento semelhante ao Windows, macOS ou Unix com conexão à Internet.

  • Para a CLI do GDK versão 1.1.0 ou posterior, o Python 3.6 ou posterior, instalado no computador de desenvolvimento.

    Para a CLI do GDK versão 1.0.0, o Python 3.8 ou posterior, instalado no computador de desenvolvimento.

  • O Git instalado no seu computador de desenvolvimento.

  • A AWS Command Line Interface(AWS CLI) instalada e configurada com credenciais no computador de desenvolvimento. Para mais informações, consulte Instalar, atualizar e desinstalar a AWS CLI e Configuração da AWS CLI no Guia do usuário da AWS Command Line Interface.

    nota

    Se você usa um Raspberry Pi ou outro dispositivo ARM de 32 bits, instale a AWS CLI V1. AWS CLI A V2 não está disponível para dispositivos ARM de 32 bits. Para obter mais informações, consulte Instalar, atualizar e desinstalar a AWS CLI versão 1.

  • Para usar a CLI do GDK para publicar componentes no serviço do AWS IoT Greengrass, você precisa das seguintes permissões:

    • s3:CreateBucket

    • s3:GetBucketLocation

    • s3:PutObject

    • greengrass:CreateComponentVersion

    • greengrass:ListComponentVersions

  • Para usar a CLI do GDK para criar um componente cujos artefatos existem em um bucket do S3 e não no sistema de arquivos local, você precisa das seguintes permissões:

    • s3:ListBucket

    Este atributo está disponível para a CLI do GDK v1.1.0 e posteriores.

Changelog

A tabela a seguir descreve as alterações em cada versão da CLI do GDK. Para mais informações, consulte a Página de lançamentos da CLI do GDK no GitHub.

Version (Versão)

Alterações

1.6.2

Correções de bugs e melhorias
  • Corrige um problema em que o gradlew.bat do Windows não funciona devido ao caminho relativo.

  • Pequenas melhorias no registro em log, nos testes e no empacotamento.

1.6.1

Correções de bugs e melhorias
  • Adiciona uma correção de segurança para análise de argumentos da CLI.

  • Permite que o GDK obtenha o nome de versão mais recente do Estrutura de testes do Greengrass (GTF) como a versão padrão do GTF.

  • Permite que o GDK recomende aos clientes que usam uma versão mais antiga do GTF e atualize-os para a versão mais recente.

1.6.0

Novos atributos
  • Adiciona uma verificação de validação da fórmula em relação ao esquema da fórmula do Greengrass durante os comandos component build e component publish. Essa atualização ajuda os desenvolvedores a identificar problemas acionáveis nas fórmulas de componentes no início do processo de criação deles.

  • Adiciona um conjunto de testes de confiança ao modelo que pode ser baixado pelo comando test-e2e init. Esse conjunto de testes de confiança inclui oito testes genéricos que podem ser usados e ampliados para atender às necessidades básicas de testes de componentes.

Correções de bugs e melhorias
  • Atualiza a versão padrão da estrutura de testes do Greengrass (GTF) usada pelo comando test-e2e para a versão 1.2.0.

1.5.0

Correções de bugs e melhorias

Atualiza os padrões reconhecidos pela opção de construção excludes quando build_system estiver zip. Essa versão agora reconhece padrões globais que correspondem aos nomes de caminho com base nos caracteres curinga. Isso permite a especificação personalizada de quais diretórios podem ser excluídos.

1.4.0
Novos atributos
  • Adiciona um novo comando config que inicia um prompt interativo para modificar campos em um arquivo de configuração existente do GDK.

  • Modifica os comandos gdk component build e gdk component publish para verificar se o tamanho da fórmula está dentro dos requisitos do Greengrass (<=16000 bytes) antes de continuar.

Correções de bugs e melhorias
  • Adiciona registro em log adicional na saída do comando gdk component build quando um erro de sintaxe da fórmula está impedindo a conclusão da compilação para fins de reconhecimento.

  • Renomeia otf-options e otf-version para gtf-options e gtf-version respectivamente, devido à renomeação do Open Test Framework para estrutura de teste do Greengrass.

1.3.0
Novos atributos
  • Adiciona um novo comando test-e2e para oferecer suporte ao teste de ponta a ponta de componentes usando o Open Test Framework.

  • Adiciona uma nova opção de configuração, zip_name, para oferecer suporte a nomes de arquivos zip configuráveis com o sistema de compilação zip.

  • Torna opcional a propriedade region no arquivo de configuração do GDK.

Correções de bugs e melhorias
  • Corrige um problema em que um novo diretório é criado mesmo quando o modelo ou repositório especificado não existe ao inicializar um projeto do GDK com o argumento --name.

1.2.3
Correções de bugs e melhorias
  • Correção de problemas em que a criação do bucket falha devido ao tratamento incorreto de erros.

  • Corrige um problema em que as estruturas de lista na fórmula do componente são removidas.

1.2.2
Correções de bugs e melhorias
  • As chaves da fórmula não diferenciam mais maiúsculas de minúsculas.

  • Adiciona uma verificação para determinar se um bucket existe em uma Região da AWS e está acessível pelo usuário antes de criar um novo bucket. Exige que o usuário tenha a permissão GetBucketLocation.

  • Corrige um problema com a palavra-chave excludes no arquivo de configuração da CLI do GDK.

1.2.1
Correções de bugs e melhorias
  • Aceita a Região da AWS Canadá (Central) (ca-central-1) na entrada de configuração da região no arquivo gdk-config.json.

  • Corrige problemas com o argumento da CLI do GDK --region para o comando publish.

1.2.0
Novos atributos
  • Adiciona a entrada options à configuração build no arquivo de configuração da CLI do GDK. É compatível com excludes em options para excluir determinados arquivos do artefato zip ao usar o sistema de compilação zip.

  • Adiciona o sistema de compilação gradlew para usar o Gradle Wrapper para criar componentes.

  • Adiciona suporte para arquivos de compilação Kotlin DSL para a opção de compilação gradle.

  • Adiciona uma entrada options à configuração publish no arquivo de configuração da CLI do GDK. É compatível com o file_upload_args em options para fornecer argumentos adicionais ao fazer o upload de arquivos para o Amazon S3.

Correções de bugs e melhorias
  • Corrige um problema em que as compilações do Gradle não eram limpas antes de executar um comando de compilação.

  • Corrige um problema em que a compilação não saía quando o comando de compilação falhava.

  • Melhora o formato de saída do comando gdk component list.

1.1.0

Novos atributos
  • Adiciona suporte ao sistema de compilação Gradle.

  • Adiciona suporte para o sistema de compilação Maven em dispositivos Windows.

  • Adiciona o argumento --bucket ao comando de publicação do componente. Você pode usar esse argumento para especificar o bucket exato em que a CLI do GDK carrega artefatos do componente.

  • Adiciona o argumento --name ao comando component init. Use essa opção para especificar a pasta em que a CLI do GDK inicializa o componente.

  • Adiciona suporte para artefatos de componentes que existem em um bucket do S3, mas não na pasta local de criação de componentes. Você pode usar esse atributo para reduzir os custos de largura de banda para artefatos de componentes grandes, como modelos de machine learning.

Correções de bugs e melhorias
  • Atualiza o comando de publicação do componente para verificar se o componente foi criado antes de publicá-lo. Se o componente não foi criado, esse comando agora cria o componente para você.

  • Corrige um problema em que o sistema de compilação zip falha na compilação em dispositivos Windows quando o nome do arquivo ZIP contém letras maiúsculas.

  • Melhora o formato da mensagem de log e altera o nível de log padrão para INFO em dispositivos que executam versões do Python anteriores à 3.8.

  • Altera o requisito mínimo da versão do Python para o Python 3.6.

1.0.0

Versão inicial.