Executando uma transformação na linha de comando com o Amazon Q Developer - Amazon Q Developer

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

Executando uma transformação na linha de comando com o Amazon Q Developer

Conclua essas etapas para transformar seu código na linha de comando com a ferramenta de linha de comando Amazon Q Developer.

Pré-requisitos

Antes de iniciar uma transformação na linha de comando, os seguintes pré-requisitos devem ser atendidos:

  • Se você estiver atualizando sua versão do código Java, seu projeto atende aos pré-requisitos para atualizar versões Java com o Amazon Q.

  • Se você estiver convertendo SQL incorporado em um aplicativo Java, seu aplicativo atende aos pré-requisitos para converter SQL incorporado com o Amazon Q.

  • Você tem o Python instalado em seu ambiente de linha de comando. É assim que você instalará a ferramenta de linha de comando. A versão mínima suportada do Python é 3.12.

  • Você está executando a transformação no macOS ou no Linux.

  • O tamanho do seu aplicativo é de 2 GB ou menos.

  • Se você tem dependências específicas que deseja que o Amazon Q atualize, você configurou um arquivo de atualização de dependências.

Etapa 1: escolha o método de autenticação e adicione permissões

Você pode autenticar o IAM Identity Center para executar transformações na linha de comando. Certifique-se de ter as permissões adequadas.

nota

As chaves gerenciadas pelo cliente não são suportadas para transformações realizadas na linha de comando.

Adicionar permissões

A identidade do IAM associada à assinatura do Amazon Q Developer que você está usando para autenticar deve ter permissões para realizar transformações na linha de comando. Antes de continuar, certifique-se de que sua identidade do IAM tenha as permissões definidas emPermitir que os usuários executem transformações na linha de comando.

Autentique-se com o IAM Identity Center por meio de uma assinatura do Amazon Q Developer

Para se autenticar com o IAM Identity Center, você deve estar inscrito no Amazon Q Developer Pro como usuário da força de trabalho pelo administrador e fornecer a URL inicial para se autenticar por meio de sua assinatura. Você ou seu administrador podem encontrar a URL inicial no console do Amazon Q Developer. Para obter mais informações, consulte, Encontrando o URL inicial para uso com o Amazon Q Developer.

Para adicionar as permissões necessárias, consulteAdicionar permissões.

Você fornece o URL inicial emEtapa 4: configurar e autenticar.

Etapa 2: instalar a ferramenta

  1. Baixe a ferramenta de linha de comando Amazon Q para transformações e descompacte-a.

    Para baixar uma versão anterior da ferramenta de linha de comando, consulteHistórico de versões.

  2. 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
  3. Para ativar o ambiente virtual, execute:

    source qct-cli/bin/activate
  4. Para instalar a ferramenta na sua linha de comando, execute o comando a seguir com o caminho para onde você descompactou a ferramenta, com base na arquitetura da sua máquina:

    Linux_aarch64
    pip install <path/to/unzipped-tool>/Linux_aarch64/amzn_qct_cli-1.2.0-py3-none-any.whl
    Linux_x86_64
    pip install <path/to/unzipped-tool>/Linux_x86_64/amzn_qct_cli-1.2.0-py3-none-any.whl
    nota

    Se você estiver usando uma versão mais antiga da ferramenta de linha de comando para transformações, 1.2.0 substitua pela versão que você baixou.

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

    which qct

Etapa 3: criar um arquivo de atualização de dependência (opcional)

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ê pode especificar dependências de terceiros e primárias que, de outra forma, o Amazon Q talvez não soubesse atualizar.

As dependências primárias referem-se à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 Criando código em seu ambiente local. Dependências de terceiros estão 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, Java 8 a 17). Você pode iniciar uma transformação separada (17 a 17 ou 21 a 21) após a atualização inicial do JDK para atualizar dependências de terceiros.

Depois que 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, você pode especificar dependências de terceiros e suas versões em um arquivo YAML para atualizar essas dependências somente durante a transformação do upgrade 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 você configurou o arquivo corretamente. Os campos a seguir são obrigatórios no arquivo YAML:

  • name - O nome do arquivo de atualização da dependência.

  • descrição (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.

  • dependências - contém o nome e a versão das bibliotecas a serem atualizadas.

  • plug-ins - Contém os nomes e as versões dos plug-ins a serem atualizados.

  • identificador - O nome da biblioteca, plug-in ou outra dependência.

  • targetVersion - A versão da dependência para a qual fazer o upgrade.

  • versionProperty (opcional) - A versão da dependência que você está definindo, conforme definida com a properties tag no arquivo do seu aplicativo. pom.xml

  • OriginType - Se a dependência é própria ou de terceiros, especificada por FIRST_PARTY ou THIRD_PARTY.

Veja a seguir um exemplo de um arquivo YAML de upgrade 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

Antes de começar uma transformação, você deve se autenticar com o IAM Identity Center e fornecer detalhes de configuração para sua transformação.

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

    qct configure
  2. Você será solicitado a inserir um caminho do JDK para cada versão compatível do Java. Você só precisa especificar o caminho para o JDK da versão de origem do seu aplicativo Java, não da versão de destino.

  3. Em seguida, para se autenticar com o IAM Identity Center, você será solicitado a inserir a 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 do compatíveis. Para obter uma lista de códigos de região, consulte Endpoints regionais no Referência geral da AWS guia.

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

Etapa 5: executar uma transformação

Escolha 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

Modificando 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, a partir da lista incluída no plano

    • Exemplos de solicitações:

      • Apenas <dependency1><dependency2>atualize, e <dependency5>

      • Não atualize <dependency1>ou <dependency2>

  • A versão de destino para a qual atualizar uma biblioteca

    • Exemplos de solicitações:

      • <dependency>Em vez disso, atualize para esta versão <version>

  • Quais etapas o Amazon Q deve executar

    • Exemplos de solicitações:

      • Conclua somente as etapas 1 a 7

      • Não execute as etapas 5-9

  • Adicione dependências adicionais para atualizar (somente uma opção ao atualizar para uma versão mais recente do JDK)

    • Exemplos de solicitações:

      • Também atualize <dependency1>para <version2>

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

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

    Opções adicionais de comando:

    • Se você estiver especificando dependências para atualização, adicione a --dependency_upgrade_file opção com o caminho para seu arquivo de atualização de dependências.

    • Se você não quiser revisar ou atualizar o plano de transformação, adicione o --no-interactive sinalizador ao seu comando. O Amazon Q não pedirá feedback sobre o plano e você não terá a oportunidade de solicitar alterações.

  2. 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, verá o seguinte resultado:

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

    Se você não tem uma versão compatível do Maven, você deve atualizá-la para continuar. Para obter mais informações, consulte o Pré-requisitos.

  3. Se você não adicionou a --no-interactive bandeira, o Amazon Q solicitará que você forneça feedback sobre o plano de transformação. Você pode explicar as alterações que deseja fazer no idioma natural inglês, e a Amazon Q atualizará o plano se ele puder suportar as alterações solicitadas.

  4. O Amazon Q inicia a transformação. Ele produzirá atualizações de status durante toda a transformação. Quando concluído, o Amazon Q fornece o caminho pelo qual os resultados da transformação, os registros e os arquivos de configuração são enviados.

    Seu código atualizado será enviado para a nova agência criada pela Amazon Q. O Amazon Q confirmará o código em uma ou várias confirmações, dependendo da seleção que você fez durante a execução. qct configure

  5. Se você estiver executando outra transformação após atualizar sua versão do 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, certifique-se de ler Conversão de SQL incorporado em aplicativos Java com o Amazon Q Developer para entender os pré-requisitos para esse tipo de transformação.

  1. Para converter SQL incorporado, primeiro você deve criar um arquivo YAML que contenha o caminho para o arquivo de metadados do esquema a partir da sua AWS DMS conversão de esquema.

    A seguir está o formato exigido do arquivo:

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

    qct transform --source_folder <path-to-folder> --sql_conversion_config_file <path-to-sql-config-file>
  3. 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. Escolha qual esquema usar para a conversão de SQL e, em seguida, adicione um novo campo schema: <schema-name> ao arquivo YAML.

  4. O Amazon Q inicia a transformação. Ele produzirá atualizações de status durante toda a transformação. Quando concluído, o Amazon Q fornece o caminho pelo qual os resultados da transformação, os registros e os arquivos de configuração são enviados.

    Seu código atualizado será enviado para a nova agência criada pela Amazon Q.

Pausar ou cancelar uma transformação

Você pode optar por pausar ou cancelar seu trabalho de transformação atual. Você pode pausar um trabalho de transformação por até 12 horas antes de poder continuar novamente.

Para pausar ou cancelar um trabalho de transformação de código
  1. No terminal CLI, pressione Ctrl+C no teclado.

  2. 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 12 horas para continuar a transformação do 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 do código.