Création et gestion de flux dans QLDB - Base de données Amazon Quantum Ledger (AmazonQLDB)

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.

Création et gestion de flux dans QLDB

Important

Avis de fin de support : les clients existants pourront utiliser Amazon QLDB jusqu'à la fin du support le 31 juillet 2025. Pour plus de détails, consultez Migrer un Amazon QLDB Ledger vers Amazon Aurora SQL Postgre.

Amazon QLDB fournit des API opérations permettant de créer et de gérer un flux de données de journal depuis votre registre vers Amazon Kinesis Data Streams. Le QLDB flux capture chaque révision de document validée dans votre journal et l'envoie vers un flux de données Kinesis.

Vous pouvez utiliser le AWS Management Console AWS SDK, un ou le AWS Command Line Interface (AWS CLI) pour créer un flux de journal. En outre, vous pouvez également utiliser un AWS CloudFormationmodèle pour créer des flux. Pour plus d'informations, consultez la ressource AWS: : QLDB : :Stream dans le guide de l'AWS CloudFormation utilisateur.

Paramètres du flux

Pour créer un flux de QLDB journal, vous devez fournir les paramètres de configuration suivants :

Nom du registre

Le QLDB registre dont vous souhaitez diffuser les données du journal vers Kinesis Data Streams.

Nom du flux

Le nom que vous souhaitez attribuer au flux de QLDB journal. Les noms définis par l'utilisateur peuvent aider à identifier et à indiquer le but d'un flux.

Votre nom de flux doit être unique parmi les autres flux actifs pour un registre donné. Les noms de flux sont soumis aux mêmes contraintes de dénomination que les noms de registre, tels que définis dansQuotas et limites sur Amazon QLDB.

Outre le nom du flux, QLDB attribue un ID de flux à chaque QLDB flux que vous créez. L'ID de flux est unique parmi tous les flux pour un registre donné, quel que soit leur statut.

Date et heure de début

Date et heure à partir desquelles commencer à diffuser les données du journal. Cette valeur peut être n'importe quelle date et heure dans le passé, mais pas dans le futur.

Date et heure de fin

(Facultatif) Date et heure qui indiquent la fin du flux.

Si vous créez un flux indéfini sans heure de fin, vous devez l'annuler manuellement pour terminer le flux. Vous pouvez également annuler un flux actif et limité qui n'a pas encore atteint la date et l'heure de fin spécifiées.

Flux de données Kinesis de destination

La ressource cible Kinesis Data Streams dans laquelle votre flux écrit les enregistrements de données. Pour savoir comment créer un flux de données Kinesis, consultez la section Création et mise à jour de flux de données dans le manuel Amazon Kinesis Data Streams Developer Guide.

Important
  • Les flux entre régions et entre comptes ne sont pas pris en charge. Le flux de données Kinesis spécifié doit se trouver dans le même Région AWS compte que votre registre.

  • L'agrégation d'enregistrements dans Kinesis Data Streams est activée par défaut. Cette option permet de QLDB publier plusieurs enregistrements de données dans un seul enregistrement Kinesis Data Streams, augmentant ainsi le nombre d'enregistrements envoyés API par appel.

    L'agrégation d'enregistrements a des implications importantes pour le traitement des enregistrements et nécessite une désagrégation chez votre consommateur de flux. Pour en savoir plus, consultez les concepts KPL clés et la désagrégation des consommateurs dans le manuel Amazon Kinesis Data Streams Developer Guide.

IAMrôle

IAMRôle qui permet d'QLDBattribuer des autorisations d'écriture à votre flux de données Kinesis. Vous pouvez utiliser la QLDB console pour créer automatiquement ce rôle, ou vous pouvez le créer manuellement dansIAM. Pour savoir comment le créer manuellement, voirAutorisations de diffusion.

Pour transmettre un rôle QLDB lorsque vous demandez un flux de journal, vous devez être autorisé à effectuer l'iam:PassRoleaction sur la ressource du IAM rôle.

Stream ARN

Chaque flux de QLDB journal est une sous-ressource d'un registre et est identifié de manière unique par un Amazon Resource Name ()ARN. Voici un exemple ARN de QLDB flux dont l'ID de flux est IiPT4brpZCqCq3f4MTHbYy pour un registre nomméexampleLedger.

arn:aws:qldb:us-east-1:123456789012:stream/exampleLedger/IiPT4brpZCqCq3f4MTHbYy

La section suivante décrit comment créer et annuler un QLDB flux à l'aide du AWS Management Console.

AWS Management Console

Procédez comme suit pour créer ou annuler un QLDB stream à l'aide de la QLDB console.

Pour créer un flux (console)
  1. Connectez-vous à la AWS Management Console QLDB console Amazon et ouvrez-la à l'adresse https://console.aws.amazon.com/qldb.

  2. Choisissez Streams (Flux) dans le panneau de navigation.

  3. Choisissez Créer un flux QLDB.

  4. Sur la page Créer un QLDB flux, entrez les paramètres suivants :

    • Nom du flux : nom que vous souhaitez attribuer au QLDB flux.

    • Ledger — Le registre dont vous souhaitez diffuser les données du journal.

    • Date et heure de début : horodatage inclus dans le temps universel coordonné (UTC) à partir duquel commencer à diffuser les données du journal. Cet horodatage correspond par défaut à la date et à l'heure actuelles. Cela ne peut pas être dans le futur et doit être antérieur à la date et à l'heure de fin.

    • Date et heure de fin — (Facultatif) L'horodatage exclusif (UTC) qui indique la fin du flux. Si vous laissez ce paramètre vide, le flux s'exécute indéfiniment jusqu'à ce que vous l'annuliez.

    • Flux de destination : ressource cible Kinesis Data Streams dans laquelle votre flux écrit les enregistrements de données. Utilisez le ARN format suivant.

      arn:aws:kinesis:aws-region:account-id:stream/kinesis-stream-name

      Voici un exemple.

      arn:aws:kinesis:us-east-1:123456789012:stream/stream-for-qldb

      Les flux entre régions et entre comptes ne sont pas pris en charge. Le flux de données Kinesis spécifié doit se trouver dans le même Région AWS compte que votre registre.

    • Activer l'agrégation des enregistrements dans Kinesis Data Streams : (Activé par défaut) QLDB Permet de publier plusieurs enregistrements de données dans un seul enregistrement Kinesis Data Streams, augmentant ainsi le nombre d'enregistrements envoyés par appel. API

    • Accès au service : IAM rôle qui accorde des autorisations QLDB d'écriture à votre flux de données Kinesis.

      Pour transmettre un rôle QLDB lorsque vous demandez un flux de journal, vous devez être autorisé à effectuer l'iam:PassRoleaction sur la ressource du IAM rôle.

      • Créer et utiliser un nouveau rôle de service : laissez la console créer un nouveau rôle pour vous avec les autorisations requises pour le flux de données Kinesis spécifié.

      • Utiliser un rôle de service existant : pour savoir comment créer manuellement ce rôle dansIAM, voirAutorisations de diffusion.

    • Balises — (Facultatif) Ajoutez des métadonnées au flux en attachant des balises sous forme de paires clé-valeur. Vous pouvez ajouter des tags à votre stream pour mieux les organiser et les identifier. Pour de plus amples informations, veuillez consulter Marquer les ressources Amazon QLDB.

      Choisissez Ajouter une balise, puis entrez les paires clé-valeur appropriées.

  5. Lorsque les paramètres sont tels que vous le souhaitez, choisissez Create QLDB stream.

    Si votre demande est soumise avec succès, la console revient à la page principale des flux et répertorie vos QLDB flux avec leur statut actuel.

  6. Une fois votre flux actif, utilisez Kinesis pour traiter les données de votre flux avec une application grand public.

    Ouvrez la console https://console.aws.amazon.com/kinesis/Kinesis Data Streams à l'adresse.

Pour plus d'informations sur le format des enregistrements de données de flux, consultezQLDBdiffuser des enregistrements dans Kinesis.

Pour savoir comment gérer les flux qui génèrent une erreur, consultezGestion des flux altérés.

Pour annuler un stream (console)

Vous ne pouvez pas redémarrer un QLDB stream après l'avoir annulé. Pour reprendre la livraison de vos données vers Kinesis Data Streams, vous pouvez créer un QLDB nouveau flux.

  1. Ouvrez la QLDB console Amazon à l'adresse https://console.aws.amazon.com/qldb.

  2. Choisissez Streams (Flux) dans le panneau de navigation.

  3. Dans la liste des QLDB flux, sélectionnez le flux actif que vous souhaitez annuler.

  4. Choisissez Annuler le stream. Confirmez cela en entrant cancel stream dans le champ prévu à cet effet.

Pour plus d'informations sur l'utilisation du QLDB API with an AWS SDK ou du AWS CLI pour créer et gérer des flux de journaux, consultezDéveloppement avec des flux dans QLDB.

États du flux

Le statut d'un QLDB flux peut être l'un des suivants :

  • ACTIVE— Diffuse actuellement ou attend de diffuser des données (pour un flux indéfini sans heure de fin).

  • COMPLETED— A terminé avec succès la diffusion en continu de tous les blocs de journal dans la plage de temps spécifiée. Il s’agit d’un statut de terminal.

  • CANCELED— A été interrompue par une demande utilisateur avant l'heure de fin spécifiée et ne diffuse plus activement de données. Il s’agit d’un statut de terminal.

  • IMPAIRED— Impossible d'écrire des enregistrements dans Kinesis en raison d'une erreur nécessitant votre intervention. Il s'agit d'un état non terminal récupérable.

    Si vous corrigez l'erreur dans un délai d'une heure, le flux passe automatiquement à ACTIVE l'état. Si l'erreur n'est toujours pas résolue au bout d'une heure, le flux passe automatiquement à FAILED l'état.

  • FAILED— Impossible d'écrire des enregistrements dans Kinesis en raison d'une erreur et se trouve dans un état terminal irrécupérable.

Le schéma suivant illustre comment une ressource de QLDB flux peut passer d'un état à l'autre.

Diagramme d'état montrant comment une ressource de QLDB flux peut passer des états actif, annulé, terminé, altéré et défaillant.

Expiration des flux du terminal

Les ressources de streaming qui sont dans un état terminal (CANCELEDCOMPLETED, etFAILED) sont soumises à une période de conservation de 7 jours. Ils sont automatiquement supprimés définitivement après l'expiration de cette limite.

Après la suppression d'un flux de terminal, vous ne pouvez plus utiliser la QLDB console ou le QLDB API pour décrire ou répertorier la ressource du flux.

Gestion des flux altérés

Si votre stream rencontre une erreur, il passe d'abord à IMPAIRED l'état. QLDBcontinue de réessayer IMPAIRED des diffusions pendant une heure au maximum.

Si vous corrigez l'erreur dans un délai d'une heure, le flux passe automatiquement à ACTIVE l'état. Si l'erreur n'est toujours pas résolue au bout d'une heure, le flux passe automatiquement à FAILED l'état.

Un flux altéré ou défaillant peut avoir l'une des causes d'erreur suivantes :

  • KINESIS_STREAM_NOT_FOUND— La ressource Kinesis Data Streams de destination n'existe pas. Vérifiez que le flux de données Kinesis que vous avez fourni dans votre demande de QLDB flux est correct. Accédez ensuite à Kinesis et créez le flux de données que vous avez spécifié.

  • IAM_PERMISSION_REVOKED— QLDB ne dispose pas des autorisations suffisantes pour écrire des enregistrements de données dans le flux de données Kinesis que vous avez spécifié. Vérifiez que vous définissez une politique pour le flux de données Kinesis que vous avez spécifié qui accorde au QLDB service (qldb.amazonaws.com) des autorisations pour les actions suivantes :

    • kinesis:PutRecord

    • kinesis:PutRecords

    • kinesis:DescribeStream

    • kinesis:ListShards

Surveillance des flux altérés

Si un flux est perturbé, la QLDB console affiche une bannière contenant des informations détaillées sur le flux et l'erreur qu'il a rencontrée. Vous pouvez également utiliser cette DescribeJournalKinesisStream API opération pour obtenir le statut d'un flux et la cause de l'erreur sous-jacente.

En outre, vous pouvez utiliser Amazon CloudWatch pour créer une alarme qui surveille la IsImpaired métrique d'un flux. Pour plus d'informations sur la surveillance QLDB des métriques à l'aide de CloudWatch, consultezQLDBDimensions et statistiques d'Amazon.