Gérer Openflow Connector for Kinesis

Note

Ce connecteur est soumis aux conditions d’utilisation de Snowflake Connector.

Ce chapitre décrit comment gérer le connecteur Openflow Connector for Kinesis, y compris comment gérer et réinitialiser l’état du connecteur.

Gérer l’état du connecteur

Le Openflow Connector for Kinesis utilise DynamoDB pour stocker l’état de l’application consommateur.

Tables DynamoDB créées par le connecteur

Pour chaque nom d’application Kinesis configuré dans le connecteur, le KCL crée trois tables DynamoDB :

<Kinesis Application Name>

Stocke le numéro de séquence pointé pour chaque fragment dans le flux. Cela permet de savoir quels enregistrements ont été traités.

<Kinesis Application Name>-CoordinatorState

Utilisé pour la coordination entre les employés lorsque plusieurs processeurs partagent le même nom d’application.

<Kinesis Application Name>-WorkerMetricStats

Utilisé pour les employés afin de rapporter les métriques, qui sont utilisées pendant l’affectation du travail.

Dans ces noms de table, <Kinesis Application Name> est la valeur fournie lors de la configuration du connecteur.

Si plusieurs processeurs utilisent le même nom d’application, ils agissent de la même manière, pour consommer les données du flux et partager ces tables. Si les processeurs ont des noms d’application différents, chacun crée son propre ensemble de tables pour suivre indépendamment les enregistrements consommés.

Pour plus d’informations sur les tables DynamoDB, voir la AWS documentation de la bibliothèque client Kinesis.

Réinitialiser l’état du connecteur

Si l’état du connecteur dans DynamoDB est corrompu ou incohérent, vous devrez peut-être le réinitialiser. Il existe deux façons de réinitialiser l’état du connecteur.

Réinitialiser en modifiant le nom de l’application

La façon la plus simple de réinitialiser l’état du connecteur est de modifier le paramètre du nom de l’application Kinesis :

  1. Arrêtez le connecteur.

  2. Accédez au contexte des paramètres du connecteur.

  3. Modifiez la valeur du paramètre Kinesis Application Name à une nouvelle valeur.

  4. Importez le connecteur

Le connecteur crée de nouvelles tables DynamoDB avec le nouveau nom d’application et commence à consommer des enregistrements à partir de la position spécifiée par le paramètre Position initiale du flux Kinesis.

Note

Si votre politique IAM restreint l’accès DynamoDB à des noms de tables spécifiques, vous devez mettre à jour la politique pour permettre l’accès aux nouveaux noms de tables. Pour plus d’informations sur la configuration des autorisations IAM, voir Configurer Openflow Connector for Kinesis pour le format de données JSON.

Réinitialiser en supprimant les tables DynamoDB

Vous pouvez également supprimer les tables DynamoDB existantes pour réinitialiser l’état :

  1. Arrêtez le connecteur.

  2. Dans la console AWS ou en utilisant la CLI AWS, supprimez les trois tables DynamoDB associées au nom de l’application :

    • <Kinesis Application Name>

    • <Kinesis Application Name>-CoordinatorState

    • <Kinesis Application Name>-WorkerMetricStats

  3. Importez le connecteur

Le connecteur recrée les tables et commence à consommer des enregistrements à partir de la position spécifiée par le paramètre de position initiale du flux Kinesis.

Avertissement

La réinitialisation de l’état du connecteur entraîne le retraitement des enregistrements par le connecteur à partir de la position spécifiée par la position initiale du flux. En fonction du paramètre de position initiale du flux Kinesis, il peut en résulter l’ingestion de données en double dans Snowflake ou l’échec de l’ingestion de données.