翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
KPL 0.x から KPL 1.x に移行する
このトピックでは、コンシューマーを KPL 0.x から KPL 1.x に移行する方法について、段階的に説明します。KPL 1.x では、以前のバージョンとのインターフェイス互換性を維持しながら、 AWS SDK for Java 2.x のサポートが導入されています。KPL 1.x へ移行する際、データ処理の中核となるロジックを更新する必要はありません。
-
次の前提条件を満たしていることを確認する
-
Java Development Kit (JDK) 8 以降
-
AWS SDK for Java 2.x
-
依存関係管理用の Maven または Gradle
-
-
依存関係を追加する
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
で確認できます。 -
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 の置き換え 置き換え前: 次と置き換えます。 import com.amazonaws.services.kinesis.producer.Attempt;
import software.amazon.kinesis.producer.Attempt;
import com.amazonaws.services.kinesis.producer.BinaryToHexConverter;
import software.amazon.kinesis.producer.BinaryToHexConverter;
import com.amazonaws.services.kinesis.producer.CertificateExtractor;
import software.amazon.kinesis.producer.CertificateExtractor;
import com.amazonaws.services.kinesis.producer.Daemon;
import software.amazon.kinesis.producer.Daemon;
import com.amazonaws.services.kinesis.producer.DaemonException;
import software.amazon.kinesis.producer.DaemonException;
import com.amazonaws.services.kinesis.producer.FileAgeManager;
import software.amazon.kinesis.producer.FileAgeManager;
import com.amazonaws.services.kinesis.producer.FutureTimedOutException;
import software.amazon.kinesis.producer.FutureTimedOutException;
import com.amazonaws.services.kinesis.producer.GlueSchemaRegistrySerializerInstance;
import software.amazon.kinesis.producer.GlueSchemaRegistrySerializerInstance;
import com.amazonaws.services.kinesis.producer.HashedFileCopier;
import software.amazon.kinesis.producer.HashedFileCopier;
import com.amazonaws.services.kinesis.producer.IKinesisProducer;
import software.amazon.kinesis.producer.IKinesisProducer;
import com.amazonaws.services.kinesis.producer.IrrecoverableError;
import software.amazon.kinesis.producer.IrrecoverableError;
import com.amazonaws.services.kinesis.producer.KinesisProducer;
import software.amazon.kinesis.producer.KinesisProducer;
import com.amazonaws.services.kinesis.producer.KinesisProducerConfiguration;
import software.amazon.kinesis.producer.KinesisProducerConfiguration;
import com.amazonaws.services.kinesis.producer.LogInputStreamReader;
import software.amazon.kinesis.producer.LogInputStreamReader;
import com.amazonaws.services.kinesis.producer.Metric;
import software.amazon.kinesis.producer.Metric;
import com.amazonaws.services.kinesis.producer.ProcessFailureBehavior;
import software.amazon.kinesis.producer.ProcessFailureBehavior;
import com.amazonaws.services.kinesis.producer.UnexpectedMessageException;
import software.amazon.kinesis.producer.UnexpectedMessageException;
import com.amazonaws.services.kinesis.producer.UserRecord;
import software.amazon.kinesis.producer.UserRecord;
import com.amazonaws.services.kinesis.producer.UserRecordFailedException;
import software.amazon.kinesis.producer.UserRecordFailedException;
import com.amazonaws.services.kinesis.producer.UserRecordResult;
import software.amazon.kinesis.producer.UserRecordResult;
import com.amazonaws.services.kinesis.producer.protobuf.Messages;
import software.amazon.kinesis.producer.protobuf.Messages;
import com.amazonaws.services.kinesis.producer.protobuf.Config;
import software.amazon.kinesis.producer.protobuf.Config;
-
AWS 認証情報プロバイダークラスのインポートステートメントを更新する
KPL 1.x に移行するときは、 AWS SDK for Java 1.x に基づく KPL アプリケーションコードのインポートのパッケージとクラスを、 AWS SDK for Java 2.x に基づく対応するパッケージとクラスに更新する必要があります。KPL アプリケーションでよく使用される import ステートメントは、認証情報プロバイダークラスにあります。認証情報プロバイダーの変更の完全なリストについては、2.x 移行ガイドのドキュメントの「認証情報プロバイダーの変更」を参照してください。 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 からクラス/パッケージをインポートしなかった場合は、このステップを無視できます。
-
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 移行ガイドのドキュメントの「認証情報プロバイダーの変更」を参照してください。 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());