Comment placer des enregistrements de données dans un flux de données Kinesis à l'aide du KPL ?
Date de la dernière mise à jour : 11/03/2021
Je souhaite écrire et placer des enregistrements de données dans un flux de données Kinesis à l'aide de la bibliothèque Amazon Kinesis Producer (KPL). Comment dois-je procéder ?
Brève description
Pour placer un enregistrement dans un flux de données Kinesis à l'aide du KPL, vous devez répondre aux exigences suivantes :
- Vous disposez d'une instance Linux Amazon Elastic Compute Cloud (Amazon EC2) en cours d'exécution.
- Attacher un rôle AWS Identity and Access Management (IAM) à votre instance.
- la stratégie KinesisFullAccess est attachée au rôle IAM de l'instance.
Résolution
Pour insérer des enregistrements dans un flux de données Kinesis à l'aide de la KPL :
1. Connectez-vous à votre instance Linux.
2. Installez la dernière version du package de développeur OpenJDK 8 :
sudo yum install java-1.8.0-openjdk-devel
3. Vérifiez que Java est installé :
java -version
Voici un exemple de sortie attendue :
java version "1.7.0_181"
OpenJDK Runtime Environment (amzn-2.6.14.8.80.amzn1-x86_64 u181-b00)
OpenJDK 64-Bit Server VM (build 24.181-b00, mixed mode)
4. Exécutez les commandes suivantes pour définir Java 1.8 comme fournisseur java et javac par défaut :
sudo /usr/sbin/alternatives --config java
sudo /usr/sbin/alternatives --config javac
5. Ajoutez un référentiel avec un package Apache Maven :
sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
6. Configurez le numéro de version pour les packages Maven :
sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo
7. Utilisez yum pour installer Maven :
sudo yum install -y apache-maven
8. Vérifiez que Maven est installé correctement :
mvn -version
Voici un exemple de sortie attendue :
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T07:58:13Z)
Maven home: /usr/share/apache-maven
Java version: 1.7.0_181, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.14.33-51.37.amzn1.x86_64", arch: "amd64", family: "unix"
9. Installez git, puis téléchargez la KPL depuis Amazon Web Services - Labs:
sudo yum install git
git clone https://github.com/awslabs/amazon-kinesis-producer
10. Ouvrez le répertoire amazon-kinesis-producer/java/amazon-kinesis-producer-sample/ puis listez les fichiers :
cd amazon-kinesis-producer/java/amazon-kinesis-producer-sample/
ls
default_config.properties pom.xml README.md src target
11. Exécutez une commande similaire à la suivante pour créer un flux de données Kinesis :
aws kinesis create-stream --stream-name kinesis-kpl-demo --shard-count 2
Pour plus d'informations sur le nombre de partitions nécessaires, consultez Redistribution, mise à l'échelle et traitement parallèle.
12. Exécutez Répertorier les flux pour vérifier que le flux a bien été créé :
aws kinesis list-streams
13. Ouvrez le fichier SampleProducer.java sur le référentiel GitHub Amazon Web Services - Labs, puis modifiez les champs suivants :
Pour public static final String STREAM_NAME_DEFAULT, saisissez le nom du flux de données Kinesis précédemment créé.
Pour public static final String REGION_DEFAULT, saisissez le nom de votre région.
Voici un exemple :
cd src/com/amazonaws/services/kinesis/producer/sample
vi SampleProducerConfig.java
public static final String STREAM_NAME_DEFAULT = "kinesis-kpl-demo";
public static final String REGION_DEFAULT = "us-east-1";
14. Exécutez la commande suivante dans le répertoire amazon-kinesis-producer-sample pour autoriser Maven à télécharger toutes les dépendances du répertoire :
mvn clean package
15. Exécutez la commande suivante dans le répertoire amazon-kinesis-producer-sample pour exécuter le producteur et envoyer des données dans le flux de données Kinesis :
mvn exec:java -Dexec.mainClass="com.amazonaws.services.kinesis.producer.sample.SampleProducer"
16. Consultez le graphique Données entrantes (nombre) sous l'onglet Surveillance de la console Kinesis pour vérifier le nombre d'enregistrements envoyés au flux.
Remarque : le nombre d'enregistrements peut être inférieur au nombre d'enregistrements envoyés au flux de données. Ce nombre d'enregistrements inférieur peut se produire car le KPL utilise l’aggrégation.
Informations connexes
Cet article vous a-t-il été utile ?
Besoin d'aide pour une question technique ou de facturation ?