

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

# Executar uma transformação na linha de comandos com o Amazon Q Developer
<a name="run-CLI-transformations"></a>

Conclua estas etapas para transformar seu código na linha de comandos com a ferramenta de linha de comandos do Amazon Q Developer.

## Pré-requisitos
<a name="CLI-transformation-prerequisites"></a>

Antes de iniciar uma transformação na linha de comando, os seguintes pré-requisitos devem ser atendidos:
+ Se você está atualizando sua versão do código Java, seu projeto atende aos [pré-requisitos para atualizar versões Java com o Amazon Q](code-transformation.md#java-upgrade-prerequisites).
+ Se você está convertendo SQL incorporado em uma aplicação Java, sua aplicação atende aos [pré-requisitos para converter SQL incorporado com o Amazon Q](transform-sql.md#sql-transform-prereqs).
+ Você tem o Python instalado no ambiente de linha de comando. É assim que você instalará a ferramenta de linha de comando. A versão mínima compatível do Python é 3.12.
+ Você está executando a transformação no Linux ou no macOS. 
+ O tamanho da sua aplicação é de 2 GB ou menos. 
+ Se tem dependências específicas que deseja que o Amazon Q atualize, você configurou um [arquivo de atualização de dependências](#step-3-dependency-upgrade-file).

## Etapa 1: selecionar o método de autenticação e adicionar permissões
<a name="step-1-permissions-auth"></a>

Você pode autenticar o Centro de Identidade do IAM para executar transformações na linha de comando. Verifique se você tem as permissões necessárias.

**nota**  
As chaves gerenciadas pelo cliente não são compatíveis com transformações realizadas na linha de comando.

### Adicionar permissões
<a name="transform-CLI-add-permissions"></a>

A identidade do IAM associada à assinatura do Amazon Q Developer que você está usando para se autenticar deve ter permissões para executar transformações na linha de comando. Antes de continuar, verifique se a sua identidade do IAM tem as permissões definidas em [Permitir que os usuários executem transformações na linha de comandos](id-based-policy-examples-users.md#id-based-policy-examples-allow-cli-transformations).

### Autenticar-se com o Centro de Identidade do IAM por meio de uma assinatura do Amazon Q Developer
<a name="auth-IdC"></a>

Para se autenticar com o Centro de Identidade do IAM, você precisa ter uma [assinatura do Amazon Q Developer Pro como usuário da força de trabalho](subscribe-users.md) pelo administrador e fornecer o URL inicial para autenticação por meio de sua assinatura. Você ou seu administrador podem encontrar o URL inicial no console do Amazon Q Developer. Para obter mais informações, consulte, [Encontrar o URL inicial para uso com o Amazon Q Developer](manage-account-details.md).

Para adicionar as permissões necessárias, consulte [Adicionar permissões](#transform-CLI-add-permissions).

Você fornece o URL inicial em [Etapa 4: configurar e autenticar-se](#step-4-configure-auth).

## Etapa 2: instalar a ferramenta
<a name="step-2-install"></a>



1. [Baixe a ferramenta de linha de comandos do Amazon Q para transformações](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.2.2.zip) e descompacte-a.

   Para baixar uma versão anterior da ferramenta de linha de comando, consulte [Histórico de versões](transform-CLI-versions.md).

1. Recomendamos que você configure um ambiente virtual em Python para instalar a ferramenta. Para criar um ambiente virtual, abra uma janela de terminal no diretório em que você deseja instalar a ferramenta e execute:

   ```
   python -m venv qct-cli 
   ```

1. Para ativar o ambiente virtual, execute: 

   ```
   source qct-cli/bin/activate 
   ```

1. Para instalar a ferramenta na linha de comando, execute o seguinte comando com o caminho para onde você descompactou a ferramenta, com base na arquitetura da sua máquina:

------
#### [ Linux\$1aarch64 ]

   ```
   pip install <path/to/unzipped-tool>/Linux_aarch64/amzn_qct_cli-1.2.2-py3-none-any.whl
   ```

------
#### [ Linux\$1x86\$164 ]

   ```
   pip install <path/to/unzipped-tool>/Linux_x86_64/amzn_qct_cli-1.2.2-py3-none-any.whl
   ```

------
**nota**  
Se estiver usando uma versão mais antiga da ferramenta de linha de comandos para transformações, substitua `1.2.2` pela [versão](transform-CLI-versions.md) que você baixou.

1. Para verificar se a ferramenta foi instalada, execute:

   ```
   which qct
   ```

## Etapa 3: criar um arquivo de atualização de dependência (opcional)
<a name="step-3-dependency-upgrade-file"></a>

Você pode fornecer ao Amazon Q um *arquivo de atualização de dependência*, um arquivo YAML que lista as dependências do seu projeto e as versões para as quais atualizar durante uma transformação. Ao fornecer um arquivo de atualização de dependências, você poderá especificar dependências de terceiros e primárias que o Amazon Q talvez não saiba que precisam ser atualizadas.

As dependências primárias se referem às bibliotecas, plug-ins e estruturas que sua organização mantém e estão disponíveis somente localmente ou na rede privada da sua organização. O Amazon Q é capaz de acessar suas dependências primárias ao realizar compilações em seu ambiente local. Para obter mais informações, consulte [Compilar código no ambiente local](transform-CLI.md#local-builds). Dependências de terceiros são dependências disponíveis publicamente ou de código aberto que não são exclusivas da sua organização.

Você pode especificar dependências primárias que deseja atualizar em um arquivo YAML, e o Amazon Q as atualiza durante a atualização do JDK (por exemplo, do Java 8 para o 17). É possível iniciar uma transformação separada (do 17 para o 17 ou do 21 para 21) após a atualização inicial do JDK para atualizar dependências de terceiros.

Após o Amazon Q realizar uma atualização mínima do JDK, você poderá iniciar uma transformação separada para atualizar todas as dependências de terceiros. Como alternativa, é possível especificar dependências de terceiros e suas versões em um arquivo YAML para atualizar somente essas dependências durante a transformação de atualização da biblioteca.

O Amazon Q solicitará que você forneça um arquivo de atualização de dependência durante a transformação. Se você quiser fornecer um, primeiro verifique se configurou o arquivo corretamente. Os seguintes campos são necessários no arquivo YAML:
+ name: o nome do arquivo de atualização de dependência.
+ description (opcional): uma descrição do arquivo de atualização da dependência e para qual transformação.
+ dependencyManagement: contém a lista de dependências e plug-ins a serem atualizados.
+ dependencies: contém o nome e a versão das bibliotecas a serem atualizadas.
+ plugins: contém os nomes e as versões dos plug-ins a serem atualizados.
+ identifier: o nome da biblioteca, plug-in ou outra dependência.
+ targetVersion: a versão da dependência para a qual atualizar.
+ versionProperty (opcional): a versão da dependência que você está definindo, conforme definida com a tag `properties` no arquivo `pom.xml` da sua aplicação.
+ originType: se a dependência é primária ou de terceiros, especificada por FIRST\$1PARTY ou THIRD\$1PARTY.

Veja a seguir um exemplo de um arquivo YAML de atualização de dependência e a configuração necessária para análise do Amazon Q:

```
name: dependency-upgrade
  
description: "Custom dependency version management for Java migration from JDK 8/11/17 to JDK 17/21"
  
  
dependencyManagement:
  
  dependencies:
  
    - identifier: "com.example:library1"
  
      targetVersion: "2.1.0"
  
      versionProperty: "library1.version"  # Optional
  
      originType: "FIRST_PARTY"   
  
    - identifier: "com.example:library2"
  
      targetVersion: "3.0.0"
  
      originType: "THIRD_PARTY"
  
  plugins:
  
    - identifier: "com.example.plugin"
  
      targetVersion: "1.2.0"
  
      versionProperty: "plugin.version"  # Optional
            
      originType: "THIRD_PARTY"
```

## Etapa 4: configurar e autenticar-se
<a name="step-4-configure-auth"></a>

Antes de começar uma transformação, você deve se autenticar no Centro de Identidade do IAM e fornecer detalhes de configuração para a transformação. 

1. Para iniciar o processo de configuração da transformação, execute o seguinte comando:

   ```
   qct configure
   ```

1. Será necessário inserir um caminho do JDK para cada versão Java compatível. Você só precisará especificar o caminho para o JDK da versão de origem da sua aplicação Java, não da versão de destino.

1. Em seguida, para se autenticar no Centro de Identidade do IAM, você precisará inserir o URL inicial do seu perfil de assinatura do Amazon Q Developer Pro.

   Em seguida, insira o Região da AWS local em que você se inscreveu no seguinte formato:`us-east-1`. Para obter uma lista de regiões compatíveis, consulte [Regiões aceitas](regions.md). Para obter uma lista de códigos de região, consulte [Regional endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) no *Guia Referência geral da AWS *. 

1. Suas preferências de configuração são salvas em um arquivo configuration.ini. 

## Etapa 5: executar uma transformação
<a name="step-5-run-transformation"></a>

Selecione o tipo de transformação que você está executando para ver a configuração e os comandos necessários. 

**nota**  
Não desligue nem feche sua máquina local durante a transformação do código porque a compilação do lado do cliente requer uma conexão de rede estável.

------
#### [ Java upgrade ]

**Modificar o plano de transformação**

Durante as atualizações da versão Java, o Amazon Q gera um plano de transformação que você pode revisar antes do início da transformação. Você tem a opção de solicitar as seguintes alterações no plano:
+ Quais bibliotecas o Amazon Q atualiza, com base na lista incluída no plano
  + Exemplos de prompts:
    + Atualize somente <dependency1>, <dependency2> e <dependency5>
    + Não atualize <dependency1> ou <dependency2>
+ A versão de destino para a qual atualizar uma biblioteca
  + Exemplos de prompts:
    + Atualize <dependency> para esta versão <version>
+ Quais etapas o Amazon Q deve executar
  + Exemplos de prompts:
    + Conclua somente as etapas 1 a 7
    + Não execute as etapas 5 a 9
+ Adicionar dependências adicionais para atualizar (somente uma opção ao atualizar para uma versão mais recente do JDK)
  + Exemplos de prompts:
    + Também atualize <dependency1> para <version2>

**Atualizar código Java**

1. Execute o comando a seguir para iniciar uma transformação para uma atualização do Java. Substitua `<path-to-folder>` pelo caminho para a pasta com o código que você está transformando e `<your-target-java-version>` por `JAVA_17` ou `JAVA_21`.

   ```
   qct transform --source_folder <path-to-folder>
       --target_version <your-target-java-version>
   ```

   Opções de comando adicionais: 
   + Se você estiver especificando dependências para atualizar, adicione a opção `--dependency_upgrade_file` com o caminho para o arquivo de atualização de dependência.
   + Se você não quiser revisar ou atualizar o plano de transformação, adicione o sinalizador `--no-interactive` ao comando. O Amazon Q não solicitará feedback sobre o plano e você não terá a oportunidade de solicitar alterações.

1. Sua versão do Maven é verificada antes do início da transformação. Se você tiver pelo menos a versão mínima compatível, a seguinte saída será exibida: 

   ```
   Running command: mvn --version at: path/to/current/directory 
   Your Maven version is supported for transformations.
   ```

   Se você não tiver uma versão compatível do Maven, você deverá atualizá-lo para continuar. Para obter mais informações, consulte o [Pré-requisitos](#CLI-transformation-prerequisites). 

1. Se o sinalizador `--no-interactive` não tiver sido adicionado, o Amazon Q solicitará que você dê feedback sobre o plano de transformação. Você pode explicar as alterações que deseja fazer em inglês natural, e o Amazon Q atualizará o plano se ele for compatível com as alterações solicitadas. 

1. O Amazon Q inicia a transformação. Ele exibirá atualizações de status durante toda a transformação. Após a conclusão, o Amazon Q fornecerá o caminho para onde os resultados da transformação, os logs e os arquivos de configuração serão enviados. 

   Seu código atualizado será confirmado para a nova ramificação criada pelo Amazon Q. O Amazon Q confirmará o código em uma ou várias confirmações, dependendo da seleção que você fez ao executar `qct configure`. 

1. Se estiver executando outra transformação após atualizar sua versão Java, inicie a segunda transformação na mesma ramificação em que você confirmou as alterações da primeira transformação. 

------
#### [ SQL conversion ]

Antes de começar, leia [Converter SQL incorporado em aplicações Java com o Amazon Q Developer](transform-sql.md) para entender os pré-requisitos para esse tipo de transformação. 

1. Para converter SQL incorporado, é necessário primeiro criar um arquivo YAML que contenha o caminho para o arquivo de metadados do esquema do [AWS DMS Schema Conversion](https://docs.aws.amazon.com/dms/latest/sbs/schema-conversion-oracle-postgresql.html).

   O formato necessário do arquivo é o seguinte: 

   ```
   schema_conv_metadata_path: <path-to-metadata-zip-file>
   ```

1. Execute o comando a seguir para iniciar uma transformação para uma conversão SQL. Substitua `<path-to-folder>` pelo caminho para a pasta com o código que você está transformando e `<path-to-sql-config-file>` pelo caminho para o arquivo YAML que criou na etapa 1.

   ```
   qct transform --source_folder <path-to-folder>
       --sql_conversion_config_file <path-to-sql-config-file>
   ```

1. Se o Amazon Q encontrar vários esquemas em seu arquivo de metadados do esquema, ele interromperá a transformação e fornecerá uma lista dos esquemas detectados. Selecione qual esquema usar para a conversão de SQL e, em seguida, adicione um novo campo `schema: <schema-name>` ao arquivo YAML. 

1. O Amazon Q inicia a transformação. Ele exibirá atualizações de status durante toda a transformação. Após a conclusão, o Amazon Q fornecerá o caminho para onde os resultados da transformação, os logs e os arquivos de configuração serão enviados. 

   Seu código atualizado será confirmado para a nova ramificação criada pelo Amazon Q.

------

## Pausar ou cancelar uma transformação
<a name="pause-cancel-CLI-transformations"></a>

Você pode optar por pausar ou cancelar seu trabalho de transformação atual. É possível pausar um trabalho de transformação por até 12 horas antes de poder retomá-lo.

**Como pausar ou cancelar um trabalho de transformação de código**

1. No terminal da CLI, pressione **Ctrl\$1C** no teclado.

1. Selecione se você deseja pausar ou cancelar sua transformação.
   + Insira `1` se quiser pausar o trabalho de transformação de código. Você pode retomar o trabalho em até 12 horas para continuar a transformação de código usando o seguinte comando QCT: ``qct transform --source_folder=≤/Path/Given/Originally/To/QCT>``.
   + Insira `2` se quiser cancelar o trabalho de transformação de código.