Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Migrar de KPL 0.x a KPL 1.x
En este tema se entregan instrucciones paso a paso para migrar a su consumidor de KCL 0.x a KCL 1.x. KPL 1.x presenta la compatibilidad con AWS SDK para Java 2.x y, al mismo tiempo, mantiene la compatibilidad de la interfaz con las versiones anteriores. No es necesario actualizar su lógica principal de procesamiento de datos para migrar a KPL 1.x.
-
Asegúrese de que tenga los siguientes requisitos previos:
-
Java Development Kit (JDK) 8 o posterior,
-
AWS SDK para Java 2.x,
-
Maven o Gradle para la administración de dependencias.
-
-
Agregar dependencias
Si está utilizando Maven, agregue la siguiente dependencia a su archivo pom.xml. Asegúrese de actualizar groupId de
com.amazonawsasoftware.amazon.kinesisy la versión1.x.xa la versión más reciente de KPL.<dependency> <groupId>software.amazon.kinesis</groupId> <artifactId>amazon-kinesis-producer</artifactId> <version>1.x.x</version> <!-- Use the latest version --> </dependency>Si está utilizando Gradle, agregue lo siguiente a su archivo
build.gradle. Asegúrese de reemplazar1.x.xpor la versión más reciente de KPL.implementation 'software.amazon.kinesis:amazon-kinesis-producer:1.x.x'Puede buscar la versión más reciente del KPL en el Repositorio central de Maven
. -
Actualizar las declaraciones de importación de KPL
KPL 1.x utiliza AWS SDK para Java 2.x y un nombre de paquete actualizado que comienza por
software.amazon.kinesis, en comparación con el nombre de paquete del KPL anterior que comenzaba porcom.amazonaws.services.kinesis.Sustituya la importación de
com.amazonaws.services.kinesisconsoftware.amazon.kinesis. En la siguiente tabla se muestran las importaciones que se deben reemplazar.Importar reemplazos Reemplace: Por: importar com.amazonaws.services.kinesis.producer.Attempt;
importar software.amazon.kinesis.producer.Attempt;
importar com.amazonaws.services.kinesis.producer.BinaryToHexConverter;
importar software.amazon.kinesis.producer.BinaryToHexConverter;
importar 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;
importar com.amazonaws.services.kinesis.producer.DaemonException;
importar software.amazon.kinesis.producer.DaemonException;
importar com.amazonaws.services.kinesis.producer.FileAgeManager;
importar software.amazon.kinesis.producer.FileAgeManager;
importar com.amazonaws.services.kinesis.producer.FutureTimedOutException;
importar software.amazon.kinesis.producer.FutureTimedOutException;
importar com.amazonaws.services.kinesis.producer.GlueSchemaRegistrySerializerInstance;
importar software.amazon.kinesis.producer.GlueSchemaRegistrySerializerInstance;
importar com.amazonaws.services.kinesis.producer.HashedFileCopier;
importar software.amazon.kinesis.producer.HashedFileCopier;
importar com.amazonaws.services.kinesis.producer.IKinesisProducer;
importar software.amazon.kinesis.producer.IKinesisProducer;
importar com.amazonaws.services.kinesis.producer.IrrecoverableError;
importar software.amazon.kinesis.producer.IrrecoverableError;
importar com.amazonaws.services.kinesis.producer.KinesisProducer;
importar software.amazon.kinesis.producer.KinesisProducer;
importar com.amazonaws.services.kinesis.producer.KinesisProducerConfiguration;
importar software.amazon.kinesis.producer.KinesisProducerConfiguration;
importar 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;
importar com.amazonaws.services.kinesis.producer.ProcessFailureBehavior;
importar software.amazon.kinesis.producer.ProcessFailureBehavior;
importar com.amazonaws.services.kinesis.producer.UnexpectedMessageException;
importar software.amazon.kinesis.producer.UnexpectedMessageException;
importar com.amazonaws.services.kinesis.producer.UserRecord;
importar software.amazon.kinesis.producer.UserRecord;
importar com.amazonaws.services.kinesis.producer.UserRecordFailedException;
importar software.amazon.kinesis.producer.UserRecordFailedException;
importar 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;
-
Actualice las instrucciones para las clases de proveedores de credenciales de AWS
Al migrar a KPL 1.x, debe actualizar los paquetes y las clases que importe en el código de la aplicación KPL que estén basados en AWS SDK para Java 1.x por los correspondientes según AWS SDK para Java 2.x. Las importaciones habituales en la aplicación KPL son las clases de proveedores de credenciales. Consulte Cambios en el proveedor de credenciales en la documentación de la guía de migración de AWS SDK para Java 2.x para ver la lista completa de cambios en el proveedor de credenciales. Este es el cambio de importación habitual que necesitará para realizar en sus aplicaciones de KPL.
Importar en KPL 0.x
import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;Importar en KPL 1.x
import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider;Si importa otros proveedores de credenciales basados en AWS SDK para Java 1.x, debe actualizarlos a los equivalentes de AWS SDK para Java 2.x. Si no ha importado ninguna clase o paquete de AWS SDK para Java 1.x, puede ignorar este paso.
-
Actualice la configuración del proveedor de credenciales en la configuración de KPL
La configuración del proveedor de credenciales en KPL 1.x requiere los proveedores de credenciales AWS SDK para Java 2.x. Si va a pasar los proveedores de credenciales de AWS SDK para Java 1.x a
KinesisProducerConfigurationsustituyendo el proveedor de credenciales predeterminado, debe actualizarlo con los proveedores de credenciales de AWS SDK para Java 2.x. Consulte Cambios en el proveedor de credenciales en la documentación de la guía de migración de AWS SDK para Java 2.x para ver la lista completa de cambios en el proveedor de credenciales. Si no anuló el proveedor de credenciales predeterminado en la configuración de KPL, puede omitir este paso.Por ejemplo, si va a anular el proveedor de credenciales predeterminado para KPL con el siguiente código:
KinesisProducerConfiguration config = new KinesisProducerConfiguration(); // SDK v1 default credentials provider config.setCredentialsProvider(new DefaultAWSCredentialsProviderChain());Debe actualizarlos con el siguiente código para usar el proveedor de credenciales AWS SDK para Java 2.x:
KinesisProducerConfiguration config = new KinesisProducerConfiguration(); // New SDK v2 default credentials provider config.setCredentialsProvider(DefaultCredentialsProvider.create());