

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

# KPL 0.x から KPL 1.x に移行する
<a name="kpl-migration-1x"></a>

このトピックでは、コンシューマーを KPL 0.x から KPL 1.x に移行する方法について、段階的に説明します。KPL 1.x では、以前のバージョンとのインターフェイス互換性を維持しながら、 AWS SDK for Java 2.x のサポートが導入されています。KPL 1.x へ移行する際、データ処理の中核となるロジックを更新する必要はありません。

1. **次の前提条件を満たしていることを確認する**
   + Java Development Kit (JDK) 8 以降
   + AWS SDK for Java 2.x
   + 依存関係管理用の Maven または Gradle

1. **依存関係を追加する**

   Maven を使用している場合は、以下の依存関係を pom.xml ファイルに追加します。必ず groupId を `com.amazonaws` から `software.amazon.kinesis` に更新し、バージョンを `1.x.x` から最新の KPL バージョンに更新してください。

   ```
   <dependency>
       <groupId>software.amazon.kinesis</groupId>
       <artifactId>amazon-kinesis-producer</artifactId>
       <version>1.x.x</version> <!-- Use the latest version -->
   </dependency>
   ```

   Gradle を使用している場合は、以下を `build.gradle` ファイルに追加します。必ず `1.x.x` を最新の KPCL バージョンに置き換えてください。

   ```
   implementation 'software.amazon.kinesis:amazon-kinesis-producer:1.x.x'
   ```

   最新の KPL バージョンは、[Maven Central Repository](https://central.sonatype.com/search?q=amazon-kinesis-producer) で確認できます。

1. **KPL の import ステートメントを更新する**

   KPL 1.x は AWS SDK for Java 2.x を使用し、 で始まる更新されたパッケージ名を使用します。これは`software.amazon.kinesis`、 で始まる以前の KPL のパッケージ名とは異なります`com.amazonaws.services.kinesis`。

   `com.amazonaws.services.kinesis` の import ステートメントを `software.amazon.kinesis` に置き換えます。次の表に、置き換える必要がある import ステートメントを示します。  
**Import の置き換え**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/streams/latest/dev/kpl-migration-1x.html)

1. ** AWS 認証情報プロバイダークラスのインポートステートメントを更新する**

   KPL 1.x に移行するときは、 AWS SDK for Java 1.x に基づく KPL アプリケーションコードのインポートのパッケージとクラスを、 AWS SDK for Java 2.x に基づく対応するパッケージとクラスに更新する必要があります。KPL アプリケーションでよく使用される import ステートメントは、認証情報プロバイダークラスにあります。[認証情報プロバイダーの変更の完全なリストについては、2.x 移行ガイドのドキュメントの](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/migration-client-credentials.html)「認証情報プロバイダーの変更」を参照してください。 AWS SDK for Java 以下は、KPL アプリケーションで一般的に必要となる import ステートメントの変更例です。

   **KPL 0.x の import ステートメント**

   ```
   import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;
   ```

   **KPL 1.x の import ステートメント**

   ```
   import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider;
   ```

    AWS SDK for Java 1.x に基づいて他の認証情報プロバイダーをインポートする場合は、それらを AWS SDK for Java 2.x に相当するものに更新する必要があります。 AWS SDK for Java 1.x からクラス/パッケージをインポートしなかった場合は、このステップを無視できます。

1. **KPL 設定内の認証情報プロバイダー設定を更新する**

   KPL 1.x の認証情報プロバイダー設定には、 AWS SDK for Java 2.x の認証情報プロバイダーが必要です。デフォルトの認証情報プロバイダーを上書き`KinesisProducerConfiguration`して の AWS SDK for Java 1.x の認証情報プロバイダーを渡す場合は、 AWS SDK for Java 2.x 認証情報プロバイダーで更新する必要があります。[認証情報プロバイダーの変更の一覧については、2.x 移行ガイドのドキュメントの](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/migration-client-credentials.html)「認証情報プロバイダーの変更」を参照してください。 AWS SDK for Java KPL 設定でデフォルトの認証情報プロバイダーを上書きしていない場合は、この手順は無視できます。

   たとえば、KPL のデフォルト認証情報プロバイダーを次のコードで上書きしている場合です。

   ```
   KinesisProducerConfiguration config = new KinesisProducerConfiguration();
   // SDK v1 default credentials provider
   config.setCredentialsProvider(new DefaultAWSCredentialsProviderChain());
   ```

    AWS SDK for Java 2.x の認証情報プロバイダーを使用するためには、これらを次のコードに更新する必要があります。

   ```
   KinesisProducerConfiguration config = new KinesisProducerConfiguration();
   // New SDK v2 default credentials provider
   config.setCredentialsProvider(DefaultCredentialsProvider.create());
   ```