1. 程式人生 > >Questions fréquentes (FAQ) sur Amazon Kinesis Data Streams

Questions fréquentes (FAQ) sur Amazon Kinesis Data Streams

Q : Qu'est-ce qu'une application Amazon Kinesis ?

Une application Amazon Kinesis est un consommateur de données qui lit et traite des données provenant d'un flux de données Amazon Kinesis. Vous pouvez développer vos applications via l'analyse de données Amazon Kinesis, l'API Amazon Kinesis ou la

bibliothèque client Amazon Kinesis (KCL).

Q : Qu'est-ce que la bibliothèque client Amazon Kinesis (KCL) ?

La bibliothèque client Amazon Kinesis (KCL) pour Java | Python | Ruby | Node.js | .NET est une bibliothèque pré-intégrée qui vous permet de créer facilement des applications Amazon Kinesis pour la lecture et le traitement des données d'un flux de données Amazon Kinesis.

La bibliothèque KCL gère des problèmes complexes, tels que l'adaptation à des flux de données aux volumes fluctuants, l'équilibrage de la charge pour les données diffusées en streaming, la coordination des services distribués et le traitement des données avec tolérance aux pannes. Elle vous permet ainsi de vous concentrer sur la logique métier lors de la création des applications. KCL 2.x prend en charge les API HTTP/1 GetRecords et HTTP/2 SubscribeToShard avec la distribution améliorée pour récupérer des données dans un flux. KCL 1.x ne prend pas en charge l'API SubscribeToShard ou la distribution améliorée.

Q : Comment puis-je procéder à une mise à niveau de KCL 1.x vers 2.x pour utiliser SubscribeToShard et une distribution améliorée ?

Visitez la documentation utilisateur Kinesis Data Streams pour en savoir plus sur la mise à niveau de KCL 1.x vers KCL 2.x.

Q : Qu'est-de que l'API SubscribeToShard ?

L'API SubscribeToShard est une API de diffusion haute performance pour pousser les données hors des partitions vers les consommateurs sur une connexion persistante sans cycle de requête de la part du client. L'API SubscribeToShard utilise le protocole HTTP/2 pour offrir des données aux consommateurs enregistrés lorsque les nouvelles données consommateurs lorsque des nouvelles données arrivent sur la partition, en général en 70 ms, ce qui augmente le débit d ~65% plus vite que l'API GetRecords API. Les consommateurs apprécieront la livraison rapide même si plusieurs consommateurs enregistrés lisent la même partition.

Q : Puis-je utiliser la distribution améliorée SubscribeToShard sans utiliser la distribution améliorée ?

Non, SubscribeToShard exige l'utilisation de la distribution améliorée, ce qui signifie que vous devez également inscrire votre consommateurs aux services Kinesis Data Streams avant que vous puissiez utiliser SubscribeToShard.

Q : Combien de temps dure la connexion permanente SubscribeToShard ?

La connexion persistante peut durer jusqu'à 5 minutes.

Q : La bibliothèque Kinesis Client Library (KCL) prend en charge le support SubscribeToShard ?

Oui, la version 2.x de KCL utilise SubscribeToShard et la distribution améliorée pour extraire les données haute performance depuis un flux de données Kinesis.

Q : Y-a-t-il des frais associés à l'utilisation de SubscribeToShard ?

Non, aucun frais supplémentaire n'est associé à SubscribeToShard, mais vous devez utiliser SubscribeToShard avec la distribution améliorée, qui lui, ne génère pas de frais horaire supplémentaire pour chaque combinaison de consommateur et par Go des données délivrés par la distribution améliorée.

Q : Dois-je utiliser la distribution améliorée si je veux utiliser SubscribeToShard ?

Oui, pour utiliser SubscribeToShard, vous devez inscrire vos consommateurs, et leur enregistrement active la distribution améliorée. Par défaut, votre consommateur utilisera la distribution améliorée automatiquement une fois les données récupérées via SubscribeToShard.

Q : Qu'est-ce que la bibliothèque Connector Amazon Kinesis ?

La bibliothèque Connector Amazon Kinesis est une bibliothèque pré-intégrée qui vous permet d'intégrer facilement Amazon Kinesis Data Streams à d'autres services AWS et à des outils tiers. La bibliothèque client Amazon Kinesis (KCL) pour Java | Python | Ruby | Node.js | .NET est requise pour utiliser la bibliothèque Amazon Kinesis Connector. La version actuelle de cette bibliothèque fournit des connecteurs pour Amazon DynamoDB, Amazon Redshift, Amazon S3 et Elasticsearch. La bibliothèque inclut également des exemples de connecteurs de chaque type, ainsi que des fichiers de construction Apache Ant pour l'exécution des exemples.

Q : Qu'est-ce qu'Amazon Kinesis Storm Spout ?

Amazon Kinesis Storm Spout est une bibliothèque pré-intégrée qui vous permet d'intégrer facilement Amazon Kinesis Data Streams à Apache Storm. Dans sa version actuelle, la bibliothèque Amazon Kinesis Storm Spout récupère des données de flux de données Amazon Kinesis et les émet en tant que tuples. Vous pouvez l'ajouter à votre topologie Storm afin d'exploiter Amazon Kinesis Data Streams en tant que service de collecte, de stockage et de consultation à la fois scalable et fiable.

Q : Dans quels langages de programmation la bibliothèque client Amazon Kinesis (KCL), la bibliothèque Connector Amazon Kinesis et Amazon Kinesis Storm Spout sont-ils disponibles ?

La bibliothèque client Amazon Kinesis (KCL) est actuellement disponible pour Java, Python, Ruby, Node.js et.NET. La bibliothèque Connector Amazon Kinesis et Bibliothèque Connector Amazon Kinesis sont actuellement disponibles en Java. Nous espérons ajouter prochainement d'autres langages de programmation.

Q : Est-il obligatoire d'utiliser la bibliothèque client Amazon Kinesis (KCL) pour mon application Amazon Kinesis ?

Non, vous pouvez également utiliser l'API Amazon Kinesis pour développer votre application Amazon Kinesis. Cependant, nous vous conseillons d'utiliser la bibliothèque client Amazon Kinesis (KCL) pour Java | Python | Ruby | Node.js | .NET si votre application s'y prête. En effet, elle prend en charge les tâches les plus fastidieuses liées au traitement de flux distribués, ce qui vous permet de développer vos applications de manière plus productive.

Q : Comment la bibliothèque client Amazon Kinesis (KCL) interagit-elle avec les applications Amazon Kinesis ?

La bibliothèque client Amazon Kinesis (KCL) pour Java | Python | Ruby | Node.js | .NET joue le rôle d'intermédiaire entre Amazon Kinesis Data Streams et votre application Amazon Kinesis. La bibliothèque KCL utilise l'interface IRecordProcessor pour communiquer avec votre application. Votre application implémente cette interface, puis la bibliothèque KCL lance des appels sur le code de votre application via les méthodes de l'interface.

Q : Que sont les programmes d'exécution et les processeurs d'enregistrements générés par la bibliothèque client Amazon Kinesis (KCL) ?

Une application Amazon Kinesis peut compter plusieurs instances d'application ; un programme d'exécution est une unité de traitement qui est reliée à chacune de ces instances d'application. Un processeur d'enregistrements est une unité qui traite les données en provenance d'une partition d'un flux de données Amazon Kinesis. Un programme d'exécution peut être relié à un ou plusieurs processeurs d'enregistrements. Un processeur d'enregistrements est relié à une partition et traite les enregistrements qui en proviennent.

Au démarrage, l'application appelle la bibliothèque client Amazon Kinesis (KCL) pour Java | Python | Ruby | Node.js | .NET afin d'instancier un programme d'exécution. Cet appel fournit à la bibliothèque KCL les informations de configuration de l'application, notamment le nom du flux de données et les informations d'identification AWS. Il transmet également la référence d'une implémentation d'IRecordProcessorFactory. La bibliothèque KCL utilise ensuite cette implémentation pour créer de nouveaux processeurs d'enregistrements, si cela s'avère nécessaire pour traiter les données du flux. KCL communique avec ces processeurs d'enregistrements via l'interface IRecordProcessor.

Q : Comment la bibliothèque client Amazon Kinesis (KCL) garde-t-elle une trace des enregistrements de données traités par une application Amazon Kinesis ?

La bibliothèque client Amazon Kinesis (KCL) pour Java | Python | Ruby | Node.js | .NET crée automatiquement une table Amazon DynamoDB pour chaque application Amazon Kinesis afin d'enregistrer et de conserver des informations d'état, telles que les événements de repartitionnement et les points de contrôle des numéros de séquence. La table DynamoDB porte le même nom que l'application ; vous devez donc vous assurer que le nom de votre application ne générera pas de conflit avec une table DynamoDB existante enregistrée sous le même compte et dans la même région.

Tous les programmes d'exécution associés à un même nom d'application sont considérés comme rattachés au même flux de données Amazon Kinesis. Si vous exécutez une autre instance du même code d'application, mais sous un autre nom d'application, la bibliothèque KCL traite cette seconde instance comme une application totalement distincte, associée elle aussi au même flux de données Amazon Kinesis.

Les coûts liés à la table Amazon DynamoDB sont facturés sur votre compte, en sus des frais Amazon Kinesis Data Streams.

Pour en savoir plus sur le suivi de l'état des applications par la bibliothèque KCL, référez-vous à la section Tracking Amazon Kinesis Application State.

Q : Comment puis-je augmenter automatiquement la capacité de traitement de mon application Amazon Kinesis à l'aide de la bibliothèque client Amazon Kinesis (KCL) ?

Vous pouvez créer plusieurs instances de votre application Amazon Kinesis et les exécuter sur un ensemble d'instances Amazon EC2 faisant partie d'un groupe Auto Scaling. Lorsque les besoins en traitement augmentent, une instance Amazon EC2 exécutant votre instance d'application est créée automatiquement. La bibliothèque client Amazon Kinesis (KCL) pour Java | Python | Ruby | Node.js | .NET génère un programme d'exécution pour cette nouvelle instance et transfère automatiquement les processeurs d'enregistrements des instances existantes saturées vers cette nouvelle instance.

Q : Pourquoi l'appel GetRecords renvoie-t-il un résultat vide alors que mon flux de données Amazon Kinesis contient des données ?

Il est possible qu'il n'y ait pas d'enregistrement à l'emplacement spécifié par l'itérateur de partition actuel. Cela peut notamment se produire si vous utilisez le type d'itérateur de partition TRIM_HORIZON. Un flux de données Amazon Kinesis représente un flux continu de données. Si vous appelez l'opération GetRecords en boucle, les enregistrements sont renvoyés lorsque l'itérateur atteint l'emplacement où ils sont stockés.

Q : Que signifie la valeur ApproximateArrivalTimestamp renvoyée dans l'opération GetRecords ?

Chaque enregistrement contient une valeur appelée ApproximateArrivalTimestamp. Elle est créée lorsque Amazon Kinesis reçoit et stocke avec succès l'enregistrement. L'horodatage est défini à la milliseconde et il n'existe aucune garantie concernant sa précision. Par exemple, il est possible que les enregistrements contenus dans une partition ou dans un flux de données ne fonctionnent pas.

Q : Que se passe-t-il si les limites de capacité d'un flux de données Amazon Kinesis sont dépassées alors qu'une application Amazon Kinesis est en train de lire des données à partir du flux ?

Les limites de capacité d'un flux de données Amazon Kinesis sont définies par nombre de partitions au sein du flux de données. Il est possible que ces limites soient dépassées en termes de débit de données ou de nombre d'appels de lecture de données. Tant que les limites de capacité sont atteintes, les appels de lecture de données sont rejetés et l'exception ProvisionedThroughputExceeded exception. Si cette situation est liée à une hausse temporaire des lectures de données du flux, vous pouvez essayer de relancer les appels au niveau de l'application Amazon Kinesis jusqu'à ce que les requêtes soient exécutées. Si cette situation est liée à une hausse durable des lectures de données du flux, nous vous conseillons d'augmenter le nombre de partitions afin de disposer d'une capacité suffisante pour exécuter les appels de lecture de données de façon constante. Dans les deux cas, vous pouvez vous référer aux métriques Amazon CloudWatch pour obtenir des informations sur les variations du débit de données en sortie et sur la survenue d'exceptions ProvisionedThroughputExceeded.

相關推薦

Questions fréquentes (FAQ) sur Amazon Kinesis Data Streams

Q : Qu'est-ce qu'une application Amazon Kinesis ? Une application Amazon Kinesis est un consommateur de données qui lit et traite des do

Questions fréquentes (FAQ) sur Amazon SageMaker

Q : Quels algorithmes le service Amazon SageMaker utilise-t-il pour générer des modèles ? Amazon SageMaker comprend des algorithme

Questions fréquentes (FAQ) sur Amazon GuardDuty

Q : Dois-je activer les événements AWS CloudTrail, les journaux de flux VPC et les journaux DNS pour qu'Amazon GuardDuty fonctionne ?

Questions fréquentes (FAQ) sur Amazon Transcribe

Q : Les entrées vocales traitées par Amazon Transcribe sont-elles stockées ? Et comment sont-elles utilisées par AWS ? Amazon Tran

Amazon Kinesis Data Streams Resources

This is a pre-built library that helps you easily integrate Amazon Kinesis Data Streams with other AWS services and third-party tools. Amazon Ki

Amazon Kinesis Data Streams getting started

Reducing the time to get actionable insights from data is important to all businesses and customers who employ batch data analytics tools are exp

Amazon Kinesis Data Streams FAQs

Q: What is an Amazon Kinesis Application? An Amazon Kinesis Application is a data consumer that reads and processes data from an Amazon

Building a Data Processing Pipeline with Amazon Kinesis Data Streams and Kubeless

If you’re already running Kubernetes, FaaS (Functions as a Service) platforms on Kubernetes can help you leverage your existing investment in EC2

Amazon Kinesis Data Streams News

Two years ago we introduced Amazon Kinesis, which we now call Amazon Kinesis Streams, to allow customers to build applications that collect,

Amazon Kinesis Data Streams Pricing

Let’s assume that our data producers put 100 records per second in aggregate, and each record is 35KB. In this case, the total data input rate is

Amazon Kinesis Data Streams:AWS

Amazon Kinesis Data Streams (KDS) は、大規模にスケーラブルで持続的なリアルタイムのデータストリーミングサービスです。KDS はウエブサイトクリックストリームやデータべースイベントストリームや金融取引、ソーシャルメディアフィード、ITロゴ、ロケーション追跡イベ

Questions fréquentes (FAQ) sur AWS Single Sign-On

Qu'est-ce qu'AWS Single Sign-On (AWS SSO) ? AWS SSO est un service AWS qui vous permet d'utiliser les informations d'identification exis

Questions fréquentes (FAQ) sur AWS IoT Core

Q : Qu'est-ce que la passerelle pour les appareils ? La passerelle pour les appareils représente la pierre angulaire de la communica

Questions fréquentes (FAQ) sur le bouton AWS IoT

Q : Le bouton AWS IoT fonctionnera-t-il n'importe où ? Le bouton fonctionnera dans tous les endroits où un réseau Wi-Fi 2,4 GHz es

Questions fréquentes (FAQ) sur AWS IoT Device Management

Q : Comment IoT Device Management contribue-t-il aux mises à jour des appareils ? IoT Device Management permet aux clients de transf

Questions fréquentes (FAQ) sur AWS IoT 1-Click

Quelles sont les fonctions proposées par AWS IoT 1-Click ? AWS IoT 1-Click permet d'effectuer les actions suivantes :

Вопросы и ответы по Amazon Kinesis Data Streams

Вопрос: Что такое приложение Amazon Kinesis? Приложение Amazon Kinesis – это потребитель данных, который считывает и обрабатывает данные

Цены на Amazon Kinesis Data Streams

Предположим, что всего от источников данных поступает 100 записей в секунду, каждая запись размером 35 КБ. В этом случае общая скорость передачи в

Questions fréquentes (FAQ) sur AWS Artifact 

Si vous êtes administrateur d'un compte AWS, vous aurez automatiquement l'autorisation de télécharger, d'accepter et de résilier des accords pour