

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

# Interface de linha de comando do kit de desenvolvimento do AWS IoT Greengrass
<a name="greengrass-development-kit-cli"></a>

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.](develop-greengrass-components.md) É 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](greengrass-software-catalog.md). 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](component-recipe-reference.md) 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.](https://github.com/aws-greengrass/aws-greengrass-gdk-cli)

## Pré-requisitos
<a name="gdk-cli-prerequisites"></a>

Para instalar e usar a CLI do kit de desenvolvimento do Greengrass, você precisa do seguinte:
+ Um Conta da AWS. Se você não tiver uma, consulte [Configurar um Conta da AWS](setting-up.md#set-up-aws-account).
+ 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](https://www.python.org/downloads/) 3.6 ou posterior, instalado no computador de desenvolvimento.

  Para a CLI do GDK versão 1.0.0, o [Python](https://www.python.org/downloads/) 3.8 ou posterior, instalado no computador de desenvolvimento.
+ O [Git](https://git-scm.com/) instalado no seu computador de desenvolvimento.
+ <a name="development-component-aws-cli-prerequisite"></a>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](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) e [Configuração da AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) 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](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html).
+ 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 name="gdk-cli-changelog"></a>

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](https://github.com/aws-greengrass/aws-greengrass-gdk-cli/releases) no GitHub.


|  **Versão**  |  **Alterações**  | 
| --- | --- | 
| 1.6.2 |  **Correções de bugs e melhorias**<br />   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**<br />   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**<br />   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.   <br />**Correções de bugs e melhorias**<br />   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**<br /> 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**<br />   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.   <br />**Correções de bugs e melhorias**<br />   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**<br />   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.   <br />**Correções de bugs e melhorias**<br />   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**<br />   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**<br />   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**<br />   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**<br />   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**<br />   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**<br />   Adiciona suporte ao [sistema de compilação](gdk-cli-configuration-file.md#gdk-cli-configuration-file-build-system) Gradle.   Adiciona suporte para o [sistema de compilação](gdk-cli-configuration-file.md#gdk-cli-configuration-file-build-system) Maven em dispositivos Windows.   Adiciona o argumento `--bucket` ao comando de [publicação do componente](greengrass-development-kit-cli-component.md#greengrass-development-kit-cli-component-publish). 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](greengrass-development-kit-cli-component.md#greengrass-development-kit-cli-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.   <br />**Correções de bugs e melhorias**<br />   Atualiza o comando de [publicação do componente](greengrass-development-kit-cli-component.md#greengrass-development-kit-cli-component-publish) para verificar se o componente foi criado antes de publicá-lo. Se o componente não foi criado, esse comando agora [cria o componente](greengrass-development-kit-cli-component.md#greengrass-development-kit-cli-component-build) 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. | 