Migrar da KPL 0.x para a KPL 1.x - Amazon Kinesis Data Streams

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Migrar da KPL 0.x para a KPL 1.x

Este tópico fornece step-by-step instruções para migrar seu consumidor do KPL 0.x para o KPL 1.x. O KPL 1.x introduz suporte para o AWS SDK for Java 2.x, mantendo a compatibilidade da interface com as versões anteriores. Não é necessário atualizar sua lógica de processamento dos dados principais para migrar para a KPL 1.x.

  1. É necessário atender aos seguintes pré-requisitos:

    • Java Development Kit (JDK) 8 ou posterior

    • AWS SDK for Java 2. x

    • Maven ou Gradle para gerenciamento de dependências

  2. Adicionar dependências

    Se estiver usando Maven, adicione a dependência a seguir ao arquivo pom.xml. Atualize groupid de com.amazonaws para software.amazon.kinesis e a versão 1.x.x para a versão mais recente da KPL.

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

    Se você estiver usando Gradle, adicione o seguinte ao seu arquivo build.gradle. Substitua 1.x.x pela versão mais recente da KPL.

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

    A versão mais recente da KPL pode ser obtida no Repositório central do Maven.

  3. Atualizar as instruções de importação para a KPL

    O KPL 1.x usa o AWS SDK for Java 2.x e usa um nome de pacote atualizado que começa comsoftware.amazon.kinesis, em comparação com o nome do pacote no KPL anterior que começa com. com.amazonaws.services.kinesis

    Substitua a importação de com.amazonaws.services.kinesis por software.amazon.kinesis. A tabela a seguir relaciona as importações que precisam ser substituídas.

    Substituições de importações
    Substitua: Por:

    importar com.amazonaws.services.kinesis.producer.Attempt;

    importar software.amazon.kinesis.producer.Attempt;

    importe com.amazonaws.services.kinesis.producer. BinaryToHexConverter;

    importar software.amazon.kinesis.producer. BinaryToHexConverter;

    importe com.amazonaws.services.kinesis.producer. CertificateExtractor;

    importar software.amazon.kinesis.producer. CertificateExtractor;

    importar com.amazonaws.services.kinesis.producer.Daemon;

    importar software.amazon.kinesis.producer.Daemon;

    importe com.amazonaws.services.kinesis.producer. DaemonException;

    importar software.amazon.kinesis.producer. DaemonException;

    importe com.amazonaws.services.kinesis.producer. FileAgeManager;

    importar software.amazon.kinesis.producer. FileAgeManager;

    importe com.amazonaws.services.kinesis.producer. FutureTimedOutException;

    importar software.amazon.kinesis.producer. FutureTimedOutException;

    importe com.amazonaws.services.kinesis.producer. GlueSchemaRegistrySerializerInstance;

    importar software.amazon.kinesis.producer. GlueSchemaRegistrySerializerInstance;

    importe com.amazonaws.services.kinesis.producer. HashedFileCopier;

    importar software.amazon.kinesis.producer. HashedFileCopier;

    importe com.amazonaws.services.kinesis.producer. IKinesisProdutor;

    importar software.amazon.kinesis.producer. IKinesisProdutor;

    importe com.amazonaws.services.kinesis.producer. IrrecoverableError;

    importar software.amazon.kinesis.producer. IrrecoverableError;

    importe com.amazonaws.services.kinesis.producer. KinesisProducer;

    importar software.amazon.kinesis.producer. KinesisProducer;

    importe com.amazonaws.services.kinesis.producer. KinesisProducerConfiguration;

    importar software.amazon.kinesis.producer. KinesisProducerConfiguration;

    importe com.amazonaws.services.kinesis.producer. LogInputStreamReader;

    importar software.amazon.kinesis.producer. LogInputStreamReader;

    importar com.amazonaws.services.kinesis.producer.Metric;

    importar software.amazon.kinesis.producer.Metric;

    importe com.amazonaws.services.kinesis.producer. ProcessFailureBehavior;

    importar software.amazon.kinesis.producer. ProcessFailureBehavior;

    importe com.amazonaws.services.kinesis.producer. UnexpectedMessageException;

    importar software.amazon.kinesis.producer. UnexpectedMessageException;

    importe com.amazonaws.services.kinesis.producer. UserRecord;

    importar software.amazon.kinesis.producer. UserRecord;

    importe com.amazonaws.services.kinesis.producer. UserRecordFailedException;

    importar software.amazon.kinesis.producer. UserRecordFailedException;

    importe com.amazonaws.services.kinesis.producer. UserRecordResult;

    importar software.amazon.kinesis.producer. UserRecordResult;

    importar com.amazonaws.services.kinesis.producer.protobuf.Messages;

    importar software.amazon.kinesis.producer.protobuf.Messages;

    importar com.amazonaws.services.kinesis.producer.protobuf.Config;

    importar software.amazon.kinesis.producer.protobuf.Config;

  4. Atualizar declarações de importação para classes de provedores AWS de credenciais

    Ao migrar para o KPL 1.x, você deve atualizar pacotes e classes em suas importações no código do aplicativo KPL que são baseados no AWS SDK for Java 1.x para os correspondentes com base no 2.x. AWS SDK for Java As importações comuns na aplicação KPL são classes de provedores de credenciais. Consulte Alterações no provedor de credenciais na documentação do guia de migração AWS SDK for Java 2.x para ver a lista completa de alterações no provedor de credenciais. Aqui está a alteração comum de importação que talvez você precise fazer em suas aplicações KPL.

    Importação na KPL 0.x

    import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;

    Importação na KPL 1.x

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

    Se você importar outros provedores de credenciais com base no AWS SDK for Java 1.x, deverá atualizá-los para os equivalentes ao AWS SDK for Java 2.x. Se você não importou nada classes/packages do AWS SDK for Java 1.x, pode ignorar essa etapa.

  5. Atualize a configuração do provedor de credenciais na configuração da KPL

    A configuração do provedor de credenciais na KPL 1.x requer os provedores de credenciais do AWS SDK for Java 2.x. Se você estiver passando provedores de credenciais para o AWS SDK for Java 1.x no KinesisProducerConfiguration substituindo o provedor de credenciais padrão, você deverá atualizá-lo com os AWS SDK for Java provedores de credenciais 2.x. Consulte Alterações no provedor de credenciais na documentação do guia de migração AWS SDK for Java 2.x para ver a lista completa de alterações no provedor de credenciais. Se não substituiu o provedor de credenciais padrão na configuração da KPL, você pode ignorar essa etapa.

    Por exemplo, se você estiver substituindo o provedor de credenciais padrão da KPL com o seguinte código:

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

    É necessário atualizá-lo com o código a seguir para usar o provedor de credenciais do AWS SDK for Java 2.x:

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