Utilisation de l'adaptateur DynamoDB Streams Kinesis pour traiter des registres de flux - Amazon DynamoDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de l'adaptateur DynamoDB Streams Kinesis pour traiter des registres de flux

L'utilisation de l'adaptateur Amazon Kinesis est la méthode recommandée pour consommer des flux d'Amazon DynamoDB. L'API DynamoDB Streams est volontairement similaire à Kinesis Data Streams, un service dédié au traitement en temps réel de données de streaming à très grande échelle. Dans les deux services, les flux de données sont composés de partitions qui sont des conteneurs pour registres de flux. Les API des deux services contiennent les opérations ListStreams, DescribeStream, GetShards et GetShardIterator. (Si ces actions de DynamoDB Streams sont similaires à leurs homologues dans Kinesis Data Streams, elles ne sont pas identiques à 100 %.)

Vous pouvez écrire des applications pour Kinesis Data Streams à l'aide de la bibliothèque client Kinesis (KCL). La KCL simplifie le codage en fournissant des abstractions utiles par-dessus l'API Kinesis Data Streams de bas niveau. Pour plus d'informations sur la KCL, consultez Développement d'applications consommateur à l'aide de la bibliothèque client Kinesis dans le Guide du développeur Amazon Kinesis Data Streams.

En tant qu'utilisateur de DynamoDB Streams, vous pouvez utiliser les modèles de conception figurant dans la KCL pour traiter les partitions et les registres de flux de DynamoDB Streams. Pour ce faire, vous utilisez l'adaptateur Kinesis DynamoDB Streams. L'adaptateur Kinesis implémente l'interface Kinesis Data Streams afin que la KCL puisse être utilisée pour la consommation et le traitement des registres de DynamoDB Streams. Pour obtenir des instructions sur la configuration et l'installation de l'adaptateur DynamoDB Streams Kinesis, consultez le référentiel. GitHub

Le diagramme suivant illustre la manière dont ces bibliothèques interagissent entre elles.

Avec l'adaptateur Kinesis DynamoDB Streams en place, vous pouvez commencer à développer sur l'interface KCL, avec les appels d'API dirigés de manière transparente vers le point de terminaison DynamoDB Streams.

Lorsque votre application démarre, elle appelle la KCL pour instancier un employé. Vous devez fournir au travailleur les informations de configuration de l'application, telles que le descripteur de flux et les AWS informations d'identification, ainsi que le nom d'une classe de processeur d'enregistrements que vous fournissez. À mesure qu'il exécute le code dans le processeur de registres, l'employé effectue les tâches suivantes :

  • Se connecte au flux

  • Énumère les partitions dans le flux.

  • Coordonne les associations de partition avec les autres travaux (le cas échéant)

  • Instancie un processeur d'enregistrements pour chaque partition qu'il gère

  • Extrait des registres du flux.

  • Pousse les enregistrements sur le processeur d'enregistrements correspondant

  • Contrôle les enregistrements traités

  • Equilibre les associations partition-travail lorsque le nombre d'instances de travail change

  • Équilibre les associations partition-worker quand des partitions sont fractionnées.

Note

Pour une description des concepts de KCL évoqués ici, consultez Développement d'applications consommateur à l'aide de la bibliothèque client Kinesis dans le Guide du développeur Amazon Kinesis Data Streams.

Pour plus d'informations sur l'utilisation des flux avec, AWS Lambda voir Streams et déclencheurs DynamoDB AWS Lambda