从 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说明。 KPL1.x 引入了对 Amazon SDK for Java 2.x 的支持,同时保持了与先前版本的接口兼容性。您无需更新核心数据处理逻辑即可迁移到 KPL 1.x。

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

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

    • Amazon SDK for Java 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

    KPL1.x 使用 Amazon SDK for Java 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 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

  4. 更新 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 中导入任何类/包,则可以忽略此步骤。

  5. 更新配置中的凭证提供程序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());