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

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

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

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

前提条件

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

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

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

注記

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

アクセス許可を追加する

認証に使用する AWS CLI プロファイルまたは 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. コマンドラインにツールをインストールするには、以下を実行します。

    pip install amzn_qct_cli-1.0.0-py3-none-any.whl
    注記

    変換に古いバージョンのコマンドラインツールを使用している場合は、 をダウンロードしたバージョン1.0.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: を設定して認証する

変換を開始する前に、 に対して認証 AWS CLI を行い、変換の設定の詳細を指定する必要があります。

  1. IAM で認証していて、 をまだ設定していない場合は AWS CLI、次のコマンドを実行して認証の詳細を指定します。

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

    qct configure
  3. まず、Maven のバージョンが検証されます。少なくともサポートされている最小バージョンがある場合は、次の出力が表示されます。

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

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

  4. その後、サポートされている各 Java バージョンの JDK パスを入力するように求められます。必要なのは、アップグレードする Java バージョンの JDK へのパスを指定するだけです。

  5. 次に、認証方法を選択するように求められます。

    1. AWS CLI プロファイルに保存されている IAM 認証情報で認証するには、「」と入力します1。特定のプロファイル名を指定するか、Enter キーを押してデフォルトのプロファイルを使用できます。

      変換にタグを追加する場合は、タグが保存されている CSV ファイルを指定できます。CSV には 2 つの列が必要です。ヘッダーのタイトルはキーで、タグのキーと値のペアが一覧表示されます。これらのタグを変換に追加するには、タグが保存されている CSV ファイルへのパスを入力します。

    2. Amazon Q Developer サブスクリプションを通じて IAM Identity Center で認証するには、 と入力し2、サブスクリプションプロファイルの開始 URL を入力します。

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

  6. コードJavaのバージョンをアップグレードする場合は、1 つのコミットまたは複数のコミットで Amazon Q からコード提案を受け取るオプションがあります。Amazon Q は、デフォルトでアップグレードされたコードを複数のコミットに分割します。すべてのコード変更を 1 つのコミットに表示する場合は、プロンプトが表示されたら 1 つのコミットの文字「O」を入力します。

    Amazon Q がコード変更を分割する方法の詳細については、「」を参照してください変換の概要を確認し、変更を受け入れる

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

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

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

  4. 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 が作成した新しいブランチにコミットされます。