本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
从 KPL 0.x 迁移到 KPL 1.x
本主题提供将使用器从 KPL 0.x 迁移到 KPL 1.x 的 step-by-step说明。 KPL1.x 引入了对 Amazon SDK for Java 2.x 的支持,同时保持了与先前版本的接口兼容性。您无需更新核心数据处理逻辑即可迁移到 KPL 1.x。
-
请确保您具备以下先决条件:
-
Java 开发套件 (JDK) 8 或更高版本
-
Amazon 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
替换为最新KPL版本。implementation 'software.amazon.kinesis:amazon-kinesis-producer:1.x.x'
您可以在 Maven 中央存储库中
查看最新版本的。KPL -
更新以下各项的导入语句 KPL
KPL1.x 使用 Amazon SDK for Java 2.x 并使用以开头的更新后的软件包名称
software.amazon.kinesis
,而前一个版本中的软件包名称KPL以开头。com.amazonaws.services.kinesis
将的导入替换为
com.amazonaws.services.kinesis
software.amazon.kinesis
。下表列出了必须替换的导入内容。进口替换品 进行如下替换: 借助: import com.amazonaws.services.kinesis.producer.
import software.amazon.kinesis.produc
import com.amazonaws.services.kinesis.p BinaryToHexConverter;
导入软件.amazon.kinesis.producer。 BinaryToHexConverter;
import com.amazonaws.services.kinesis.p CertificateExtractor;
导入软件.amazon.kinesis.producer。 CertificateExtractor;
导入 com.amazonaws.services.kinesis.producer.daemon
导入软件.amazon.kinesis.producer.daemon;
import com.amazonaws.services.kinesis.p DaemonException;
导入软件.amazon.kinesis.producer。 DaemonException;
import com.amazonaws.services.kinesis.p FileAgeManager;
导入软件.amazon.kinesis.producer。 FileAgeManager;
import com.amazonaws.services.kinesis.p FutureTimedOutException;
导入软件.amazon.kinesis.producer。 FutureTimedOutException;
import com.amazonaws.services.kinesis.p GlueSchemaRegistrySerializerInstance;
导入软件.amazon.kinesis.producer。 GlueSchemaRegistrySerializerInstance;
import com.amazonaws.services.kinesis.p HashedFileCopier;
导入软件.amazon.kinesis.producer。 HashedFileCopier;
import com.amazonaws.services.kinesis.p IKinesisProducer;
导入软件.amazon.kinesis.producer。 IKinesisProducer;
import com.amazonaws.services.kinesis.p IrrecoverableError;
导入软件.amazon.kinesis.producer。 IrrecoverableError;
import com.amazonaws.services.kinesis.p KinesisProducer;
导入软件.amazon.kinesis.producer。 KinesisProducer;
import com.amazonaws.services.kinesis.p KinesisProducerConfiguration;
导入软件.amazon.kinesis.producer。 KinesisProducerConfiguration;
import com.amazonaws.services.kinesis.p LogInputStreamReader;
导入软件.amazon.kinesis.producer。 LogInputStreamReader;
import com.amazonaws.services.kinesis.producer.
导入软件.amazon.kinesis.producer.metric;
import com.amazonaws.services.kinesis.p ProcessFailureBehavior;
导入软件.amazon.kinesis.producer。 ProcessFailureBehavior;
import com.amazonaws.services.kinesis.p UnexpectedMessageException;
导入软件.amazon.kinesis.producer。 UnexpectedMessageException;
import com.amazonaws.services.kinesis.p UserRecord;
导入软件.amazon.kinesis.producer。 UserRecord;
import com.amazonaws.services.kinesis.p UserRecordFailedException;
导入软件.amazon.kinesis.producer。 UserRecordFailedException;
import com.amazonaws.services.kinesis.p UserRecordResult;
导入软件.amazon.kinesis.producer。 UserRecordResult;
导入 com.amazonaws.services.kinesis.producer.protobuf.m
导入软件.amazon.kinesis.producer.protobuf.messages
import com.amazonaws.services.kinesis.producer.protobuf
导入软件.amazon.kinesis.producer.protobuf.config
-
更新 Amazon 凭证提供程序类的导入语句
迁移到 KPL 1.x 时,必须将KPL应用程序代码中基于 1.x 的导入包和类更新为基于 Amazon SDK for Java 2.x 的相应包和类。 Amazon SDK for Java KPL应用程序中常见的导入是凭证提供程序类。有关凭证提供程序变更的完整列表,请参阅 Amazon SDK for Java 2.x 迁移指南文档中的凭证提供程序更改。以下是您可能需要在KPL应用程序中进行的常见导入更改。
在 KPL 0.x 版本中导入
import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;
在 KPL 1.x 中导入
import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider;
如果您导入任何其他基于 Amazon SDK for Java 1.x 的凭证提供程序,则必须将其更新为 Amazon SDK for Java 2.x 的等效凭证提供程序。如果您没有从 Amazon SDK for Java 1.x 中导入任何类/包,则可以忽略此步骤。
-
更新配置中的凭证提供程序KPL配置
KPL1.x 中的凭据提供程序配置需要 Amazon SDK for Java 2.x 凭据提供程序。如果您
KinesisProducerConfiguration
通过覆盖默认凭证提供程序来传递中 Amazon SDK for Java 1.x 的凭证提供程序,则必须使用 Amazon SDK for Java 2.x 凭据提供程序对其进行更新。有关凭证提供程序变更的完整列表,请参阅 Amazon SDK for Java 2.x 迁移指南文档中的凭证提供程序更改。如果您没有覆盖KPL配置中的默认凭据提供程序,则可以忽略此步骤。例如,如果您要使用以下代码覆盖的KPL默认凭证提供程序:
KinesisProducerConfiguration config = new KinesisProducerConfiguration(); // SDK v1 default credentials provider config.setCredentialsProvider(new DefaultAWSCredentialsProviderChain());
要使用 Amazon SDK for Java 2.x 凭据提供程序,必须使用以下代码对其进行更新:
KinesisProducerConfiguration config = new KinesisProducerConfiguration(); // New SDK v2 default credentials provider config.setCredentialsProvider(DefaultCredentialsProvider.create());