Planifier les requêtes du kiosque de données
Découvrez comment planifier les requêtes de Data Kiosk.
Utilisez ce guide pour savoir comment passer automatiquement des appels réguliers à createQuery
tout en évitant les demandes de données redondantes.
Remarque
Un exemple de code complet pour ce mécanisme de planification est publié dans notre Dépôt d'échantillons sur GitHub.
Présentation de Data Kiosk
L'utilisation de Data Kiosk implique les étapes suivantes :
- Abonnez-vous à la notification : Inscrivez une file d'attente SQS au
DATA_KIOSK_QUERY_PROCESSING_FINISHED
notification, qui vous avertit lorsque le traitement des données est terminé. - Créez la requête : Soumettez une requête GraphQL à l'aide du
createQuery
opération. - Récupérez le document : Utiliser
dataDocumentId
ouerrorDocumentId
pour récupérer les détails du document à l'aide dugetDocument
opération. Ces attributs figurent dans la charge utile des notifications. Si vous recevezerrorDocumentId
, vous pouvez trouver la raison de l'échec dans le document. - Stockez les données : Récupérez et stockez le JSONL fichier provenant du
documentUrl
pour un traitement et un accès ultérieurs.
Remarque
Pour plus d'informations sur les flux de travail Data Kiosk, consultez :
Tutoriel : Création d'un mécanisme de planification pour Data Kiosk
Apprenez à effectuer des requêtes automatiques et régulières à Data Kiosk, tout en évitant les appels redondants.
Étape 1 Définissez les paramètres de planification
Déterminez la date de début et la fréquence à laquelle vous souhaitez effectuer des requêtes.
Remarque
Si la date de début de la requête est passée et que vous souhaitez que le planificateur la remplisse, créez des requêtes aussi souvent que possible jusqu'à ce que vous interrogiez le présent. Cela garantit que vos données restent à jour. Par exemple, si la date de début remonte à un mois et que vous souhaitez obtenir des informations pour chaque jour, ajustez la solution de sorte que le planificateur exécute rapidement des requêtes pour chaque jour du mois dernier jusqu'à ce qu'il atteigne le jour en cours.
Si vous n'avez pas besoin de remplissage, définissez la date de début sur une date actuelle ou future pour éviter que le planificateur ne crée des requêtes passées.
Les fréquences courantes sont quotidiennes, hebdomadaires ou mensuelles. Le choix du tarif dépend de la fréquence de mise à jour de vos données. Par exemple, si vos données sont mises à jour quotidiennement, une fréquence quotidienne est appropriée. N'interrogez pas trop souvent. Si un jeu de données est mis à jour quotidiennement, une requête horaire serait redondante.
Étape 2 Ajuster les paramètres de requête
Créez une fonction qui modifie les dates de début et de fin de la requête en fonction du taux souhaité afin que chaque requête récupère de nouvelles données. Par exemple, si le taux de planification est quotidien, la fonction doit ajuster les dates de début et de fin d'un jour pour chaque nouvelle requête.
Avertissement !
Les différents ensembles de données ont des noms de clé d'attribut différents et des périodes de rechargement des données différentes. Connaissez les clés attributaires des dates de début et de fin de chaque jeu de données. Lorsque vous mettez à jour ou modifiez les attributs de date de début et de fin, les noms des clés peuvent varier d'un jeu de données à l'autre.
Étape 3 Créez la requête
Pour soumettre automatiquement des requêtes, utilisez un planificateur d'événements tel que AWS EventBridge. Avec EventBridge, vous pouvez configurer des tâches récurrentes à l'aide d'expressions cron ou d'expressions de taux (par exemple, toutes les cinq minutes, toutes les heures, tous les jours). Configurez EventBridge pour ajuster automatiquement les dates des requêtes et passer les appels à createQuery
à des intervalles définis pour récupérer les données de manière continue et efficace.
Étape 4 Enregistrer les informations de planification
Stockez les informations de planification telles que les dates de début, les tarifs et les requêtes associées dans une base de données. Assurez-vous de pouvoir annuler ou supprimer des planifications selon vos besoins, et conservez des journaux des requêtes à des fins d'audit et de création de rapports.
Meilleures pratiques et considérations
Évitez les erreurs et gérez la redondance. Voici quelques éléments à prendre en compte :
-
Évitez la redondance : Vérifiez que les requêtes demandent des données uniques. Assurez-vous qu'il n'y a pas de chevauchement avec les horodatages des données précédemment stockées et ne créez pas plusieurs planifications pour la même requête. La création de la requête échoue si la requête précédente est toujours en cours d'exécution.
-
Erreurs de journalisation : Ne permettez pas qu'une requête échouée arrête l'ensemble du mécanisme de planification. Mettez en œuvre une journalisation complète pour capturer les erreurs lors de la soumission des requêtes et de la récupération des données. Traitez les documents d'erreur renvoyés par Data Kiosk et corrigez les erreurs qu'ils contiennent.
-
Réessayez : Si une requête est limitée par la limitation des requêtes simultanées, intégrez des mécanismes de nouvelle tentative qui utilisent un retard exponentiel.
-
Surveillez et alertez : Surveillez en temps réel et définissez des alertes d'erreur en cas d'échec des requêtes, de dépassement des limites de débit ou de délais de traitement prolongés. Identifiez et répondez rapidement aux problèmes.
Pour plus de détails sur les différentes erreurs et sur la manière de les corriger, reportez-vous à Gestion des erreurs de traitement.
Updated 23 days ago