Amazon Q Developer を使用してコマンドラインで変換を実行する - Amazon Q Developer

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Q Developer を使用してコマンドラインで変換を実行する

Amazon Q Developer コマンドラインツールを使用してコマンドライン上のコードを変換するには、以下の手順を実行します。

前提条件

コマンドラインで変換を開始する前に、次の前提条件を満たす必要があります。

ステップ 1: 認証方法を選択し、アクセス許可を追加する

IAM Identity Center を認証して、コマンドラインで変換を実行できます。適切なアクセス許可があることを確認します。

注記

カスタマーマネージドキーは、コマンドラインで実行される変換ではサポートされていません。

アクセス許可を追加する

認証に使用する Amazon Q Developer サブスクリプションに関連付けられている IAM ID には、コマンドラインで変換を実行するアクセス許可が必要です。続行する前に、IAM ID に で定義されているアクセス許可があることを確認してくださいユーザーにコマンドラインで変換の実行を許可する

Amazon Q Developer サブスクリプションを使用して IAM Identity Center で認証する

IAM Identity Center で認証するには、管理者がワークフォースユーザーとして Amazon Q Developer Pro にサブスクライブし、サブスクリプションを通じて認証するための開始 URL を指定する必要があります。ユーザーまたは管理者は、Amazon Q Developer コンソールで開始 URL を見つけることができます。詳細については、Amazon Q Developer で使用する開始 URL の検索 を参照してください。

必要なアクセス許可を追加するには、「」を参照してくださいアクセス許可を追加する

で開始 URL を指定しますステップ 4: を設定して認証する

ステップ 2: ツールをインストールする

  1. 変換用の Amazon Q コマンドラインツールをダウンロードして解凍します。

    コマンドラインツールの以前のバージョンをダウンロードするには、「」を参照してくださいバージョン履歴

  2. ツールをインストールするには、Python で仮想環境を設定することをお勧めします。仮想環境を作成するには、ツールをインストールして実行するディレクトリでターミナルウィンドウを開きます。

    python -m venv qct-cli
  3. 仮想環境をアクティブ化するには、以下を実行します。

    source qct-cli/bin/activate
  4. コマンドラインにツールをインストールするには、マシンアーキテクチャに基づいて、ツールを解凍した場所へのパスを指定して次のコマンドを実行します。

    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
    注記

    変換に古いバージョンのコマンドラインツールを使用している場合は、 をダウンロードしたバージョン1.2.0に置き換えます。

  5. ツールがインストールされていることを確認するには、以下を実行します。

    which qct

ステップ 3: 依存関係のアップグレードファイルを作成する (オプション)

依存関係のアップグレードファイル、プロジェクトの依存関係を一覧表示する YAML ファイル、および変換中にアップグレードするバージョンを Amazon Q に提供できます。依存関係のアップグレードファイルを提供することで、Amazon Q がアップグレードについて認識していないサードパーティーとサードパーティーの依存関係を指定できます。

ファーストパーティの依存関係とは、組織が維持し、ローカルまたは組織のプライベートネットワークでのみ利用できるライブラリ、プラグイン、フレームワークを指します。Amazon Q は、ローカル環境でビルドを実行するときに、ファーストパーティの依存関係にアクセスできます。詳細については、「ローカル環境でのコードの構築」を参照してください。サードパーティーの依存関係は、公開されているか、組織に固有ではないオープンソースの依存関係です。

YAML ファイルでアップグレードするファーストパーティの依存関係を指定できます。Amazon Q は JDK アップグレード中にそれらをアップグレードします (Java 8 から 17 など)。最初の JDK アップグレード後に別の変換 (17 から 17 または 21 から 21) を開始して、サードパーティーの依存関係をアップグレードできます。

Amazon Q が最小限の JDK アップグレードを実行したら、別の変換を開始して、すべてのサードパーティーの依存関係をアップグレードできます。または、YAML ファイルでサードパーティーの依存関係とそのバージョンを指定して、ライブラリのアップグレード変換中にのみそれらの依存関係をアップグレードすることもできます。

Amazon Q では、変換中に依存関係のアップグレードファイルを指定するように求められます。指定する場合は、まず ファイルが正しく設定されていることを確認してください。YAML ファイルには次のフィールドが必要です。

  • name - 依存関係のアップグレードファイルの名前。

  • description (オプション) - 依存関係のアップグレードファイルと変換の説明。

  • dependencyManagement - アップグレードする依存関係とプラグインのリストが含まれます。

  • dependencies - アップグレードするライブラリの名前とバージョンが含まれます。

  • plugins - アップグレードするプラグインの名前とバージョンが含まれます。

  • identifier - ライブラリ、プラグイン、またはその他の依存関係の名前。

  • targetVersion - アップグレード先の依存関係のバージョン。

  • versionProperty (オプション) - アプリケーションの pom.xml ファイルの properties タグで設定されている、定義する依存関係のバージョン。

  • originType - FIRST_PARTY または Third_PARTY のいずれかで指定された、依存関係がファーストパーティかサードパーティーか。

以下は、依存関係のアップグレード YAML ファイルの例と、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"

ステップ 4: を設定して認証する

変換を開始する前に、IAM Identity Center で認証し、変換の設定の詳細を指定する必要があります。

  1. 変換設定プロセスを開始するには、次のコマンドを実行します。

    qct configure
  2. サポートされている Java バージョンごとに JDK パスを入力するように求められます。Java アプリケーションのソースバージョンの JDK へのパスのみを指定する必要があり、ターゲットバージョンを指定する必要はありません。

  3. 次に、IAM Identity Center で認証するには、Amazon Q Developer Pro サブスクリプションプロファイルの開始 URL を入力するように求められます。

    次に、サブスクライブした AWS リージョン を の形式で入力しますus-east-1。サポートされているリージョンのリストについては「サポート対象のリージョン」を参照してください。リージョンコードのリストについては、 AWS 全般のリファレンス ガイド「リージョンエンドポイント」を参照してください。

  4. 設定設定は configuration.ini ファイルに保存されます。

ステップ 5: 変換を実行する

実行する変換のタイプを選択して、必要な設定とコマンドを確認します。

注記

クライアント側のビルドでは安定したネットワーク接続が必要であるため、コード変換中にローカルマシンをオフまたは閉じないでください。

Java upgrade

変換プランの変更

Java バージョンのアップグレード中、Amazon Q は変換プランを生成し、変換を開始する前に確認できます。プランには、次の変更をリクエストするオプションがあります。

  • プランに含まれるリストから Amazon Q がアップグレードするライブラリ

    • プロンプトの例:

      • <dependency1>、<dependency2>、<dependency5> のみをアップグレードする

      • <dependency1> または <dependency2> をアップグレードしない

  • ライブラリをアップグレードするターゲットバージョン

    • プロンプトの例:

      • <version> の代わりに <dependency> をこのバージョンにアップグレードする

  • Amazon Q が実行するステップ

    • プロンプトの例:

      • ステップ 1~7 のみを完了する

      • ステップ 5~9 を実行しない

  • アップグレードする依存関係を追加する (新しい JDK バージョンにアップグレードする場合は オプションのみ)

    • プロンプトの例:

      • また、<dependency1> を <version2> にアップグレードします。

Java コードのアップグレード
  1. 次のコマンドを実行して、Java アップグレードの変換を開始します。<path-to-folder> を変換するコードでフォルダへのパスに、 を JAVA_17または <your-target-java-version>に置き換えますJAVA_21

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

    追加のコマンドオプション:

    • アップグレードする依存関係を指定する場合は、依存関係のアップグレードファイルへのパスを指定して --dependency_upgrade_fileオプションを追加します。

    • 変換プランを確認または更新しない場合は、 コマンドに --no-interactiveフラグを追加します。Amazon Q はプランに関するフィードバックを求めず、変更をリクエストする機会もありません。

  2. Maven のバージョンは、変換を開始する前に検証されます。少なくともサポートされている最小バージョンがある場合は、次の出力が表示されます。

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

    サポートされているバージョンの Maven がない場合は、更新して続行する必要があります。詳細については、「前提条件」を参照してください。

  3. --no-interactive フラグを追加しなかった場合、Amazon Q は変換計画に関するフィードバックを提供するように求めます。変更内容を英語の自然言語で説明できます。Amazon Q は、リクエストした変更をサポートできる場合、プランを更新します。

  4. Amazon Q が変換を開始します。変換中にステータスの更新が出力されます。完了すると、Amazon Q は変換結果、ログ、および設定ファイルが出力されるパスを提供します。

    アップグレードされたコードは、Amazon Q が作成した新しいブランチにコミットされます。Amazon Q は、 の実行時に選択した内容に応じて、1 つ以上のコミットでコードをコミットしますqct configure

  5. Java バージョンのアップグレード後に別の変換を実行している場合は、最初の変換からの変更をコミットしたのと同じブランチで 2 番目の変換を開始します。

SQL conversion

開始する前に、このタイプの変換の前提条件を理解Amazon Q Developer を使用した Java アプリケーションの埋め込み SQL の変換したことを確認してください。

  1. 埋め込み SQL を変換するには、まず AWS DMS Schema Conversion からスキーマメタデータファイルへのパスを含む YAML ファイルを作成する必要があります。

    ファイルの必須形式は次のとおりです。

    schema_conv_metadata_path: <path-to-metadata-zip-file>
  2. 次のコマンドを実行して、SQL 変換の変換を開始します。を変換するコードでフォルダへのパス<path-to-folder>に、 をステップ 1 で作成した YAML ファイルへのパス<path-to-sql-config-file>に置き換えます。

    qct transform --source_folder <path-to-folder> --sql_conversion_config_file <path-to-sql-config-file>
  3. Amazon Q がスキーマメタデータファイルで複数のスキーマを検出した場合、変換を停止し、検出されたスキーマのリストを提供します。SQL 変換に使用するスキーマを選択し、schema: <schema-name>YAML ファイルに新しいフィールドを追加します。

  4. Amazon Q が変換を開始します。変換中にステータスの更新が出力されます。完了すると、Amazon Q は変換結果、ログ、および設定ファイルが出力されるパスを提供します。

    アップグレードされたコードは、Amazon Q が作成した新しいブランチにコミットされます。

変換を一時停止またはキャンセルする

現在の変換ジョブを一時停止またはキャンセルできます。変換ジョブは、再開する前に最大 12 時間一時停止できます。

コード変換ジョブを一時停止またはキャンセルするには
  1. CLI ターミナルで、キーボードの Ctrl+C を押します。

  2. 変換を一時停止するかキャンセルするかを選択します。

    • コード変換ジョブを消去1する場合は、 を入力します。12 時間以内にジョブを再開して、次の QCT コマンド を使用してコード変換を続行できます`qct transform --source_folder=≤/Path/Given/Originally/To/QCT>`

    • コード変換ジョブをキャンセル2する場合は、 を入力します。