从 KPL 0.x 迁移到 KPL 1.x - Amazon Kinesis Data Streams
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

从 KPL 0.x 迁移到 KPL 1.x

本主题提供了将您的消费者从 KPL 0.x 迁移到 KPL 1.x 的 step-by-step说明。KPL 1.x 引入了对 适用于 Java 的 Amazon SDK 2.x 的支持,同时保持了与先前版本的接口兼容性。您无需更新核心数据处理逻辑即可迁移到 KPL 1.x。

  1. 请确保您具备以下先决条件:

    • Java 开发套件 (JDK) 8 或更高版本

    • 适用于 Java 的 Amazon SDK 2.x

    • 用于依赖管理的 Maven 或 Gradle

  2. 添加依赖关系

    如果你使用的是 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。

  3. 更新 KPL 的导入语句

    KPL 1.x 使用 适用于 Java 的 Amazon SDK 2.x 并使用以开头的更新后的软件包名称software.amazon.kinesis,而之前的 KPL 中的软件包名称以开头。com.amazonaws.services.kinesis

    将的导入替换为com.amazonaws.services.kinesissoftware.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 IKinesis制片人;

    导入软件.amazon.kinesis.producer。 IKinesis制片人;

    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

  4. 更新 Amazon 凭证提供程序类的导入语句

    迁移到 KPL 1.x 时,您必须将 KPL 应用程序代码中基于 适用于 Java 的 Amazon SDK 1.x 的导入包和类更新为基于 2.x 的相应包和类。 适用于 Java 的 Amazon SDK KPL 应用程序中常见的导入是凭证提供程序类。有关凭证提供程序变更的完整列表,请参阅 适用于 Java 的 Amazon SDK 2.x 迁移指南文档中的凭证提供程序更改。以下是您可能需要在 KPL 应用程序中进行的常见导入更改。

    在 KPL 0.x 中导入

    import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;

    在 KPL 1.x 中导入

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

    如果您导入任何其他基于 适用于 Java 的 Amazon SDK 1.x 的凭证提供程序,则必须将其更新为 适用于 Java 的 Amazon SDK 2.x 的等效凭证提供程序。如果您没有从 适用于 Java 的 Amazon SDK 1.x 中导入任何类/包,则可以忽略此步骤。

  5. 更新 KPL 配置中的凭证提供程序配置

    KPL 1.x 中的凭证提供程序配置需要 适用于 Java 的 Amazon SDK 2.x 凭证提供程序。如果您KinesisProducerConfiguration通过覆盖默认凭证提供程序来传递中 适用于 Java 的 Amazon SDK 1.x 的凭证提供程序,则必须使用 适用于 Java 的 Amazon SDK 2.x 凭据提供程序对其进行更新。有关凭证提供程序变更的完整列表,请参阅 适用于 Java 的 Amazon SDK 2.x 迁移指南文档中的凭证提供程序更改。如果您没有覆盖 KPL 配置中的默认凭据提供程序,则可以忽略此步骤。

    例如,如果您要使用以下代码覆盖 KPL 的默认凭证提供程序:

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

    要使用 适用于 Java 的 Amazon SDK 2.x 凭据提供程序,必须使用以下代码对其进行更新:

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