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

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.

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 à l'employé des informations de configuration pour l'application, telles que le descripteur de flux et les informations d'identification AWS, ainsi que le nom d'une classe de processeur de registres 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 partitions avec les autres employés (le cas échéant).

  • Instancie un processeur de registres pour chaque partition qu'il gère.

  • Extrait des registres du flux.

  • Envoie (push) les registres au processeur de registres correspondant.

  • Contrôle les registres traités

  • Équilibre les associations partition-worker quand le nombre d'instances d'employé 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, consultez DynamoDB Streams et déclencheurs AWS Lambda.