À propos du projet
Ce projet s'adresse aux scénarios nécessitant une collecte continue et rapide de données environnementales, proposant une solution d'extraction et d'archivage automatique basée sur GitHub Actions. Le README indique que l'approche s'inspire de HeQinWill/CNEMC, avec des améliorations apportées au mode d'ordonnancement et à la stabilité. Actuellement, le projet supporte principalement la mise à jour des données de surveillance environnementale en temps réel de CNEMC, et prévoit l'intégration des données de rayonnement à ondes courtes (SWR) du satellite Himawari avec un intervalle de 10 minutes.
Le projet archive les résultats de l'extraction en fichiers CSV par date. Les utilisateurs peuvent charger rapidement les données horaires via des liens raw.githubusercontent ou obtenir la liste des fichiers d'un jour spécifique via l'API GitHub Contents. L'un des objectifs principaux est d'éviter les problèmes de retard ou d'omission de déclenchement pouvant survenir avec le cron natif de GitHub Actions ; par conséquent, l'utilisation d'un déclencheur externe est recommandée : une fonction cloud appelle périodiquement l'interface Workflow Dispatch officielle de GitHub pour déclencher à distance le workflow spécifié.
Concernant la configuration, un secret Actions nommé GTOKEN doit être configuré dans le dépôt, dont la valeur est un jeton d'accès personnel (Personal Access Token). Ce jeton doit être de type "classic" avec les permissions "repo" et "workflow" cochées ; sans la permission "workflow", le déclenchement de workflow_dispatch via l'API sera impossible. Pour la plateforme de fonctions cloud, le README indique que Tencent Cloud Function SCF a été vérifié, bien que théoriquement toute plateforme supportant les requêtes HTTP et le déclenchement périodique puisse déployer une solution similaire. Lors du déploiement, il est conseillé d'écrire les paramètres clés tels que repo_owner, repo_name et workflow_name comme des constantes de chaîne de caractères ou de les coder en dur, afin d'éviter la perte de paramètres, les échecs d'analyse des variables d'environnement ou les anomalies liés au passage de paramètres via event/context. Le code d'exemple utilise la bibliothèque requests pour envoyer une requête POST à l'API GitHub, avec un payload ref=main et un code de statut de succès 204.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.