Sobre el proyecto
Este proyecto está orientado a escenarios que requieren la recolección continua y oportuna de datos ambientales, proporcionando un esquema de rastreo y archivo automático basado en GitHub Actions. El README indica que su enfoque hace referencia a HeQinWill/CNEMC, mejorando el método de programación y la estabilidad. Actualmente, soporta principalmente la actualización de datos de monitoreo ambiental en tiempo real de CNEMC, y las funciones planificadas incluyen datos de radiación de onda corta (SWR) del satélite Himawari con intervalos de 10 minutos.
El proyecto archiva los resultados del rastreo en formato CSV organizados por fecha. Los usuarios pueden cargar rápidamente los datos horarios a través de enlaces de raw.githubusercontent o obtener la lista de archivos de un día específico mediante la API de GitHub Contents. Uno de los objetivos principales es evitar los problemas de retraso o fallos de activación que pueden ocurrir con el cron nativo de GitHub Actions; por lo tanto, se recomienda el uso de un activador externo: una Cloud Function que llame periódicamente a la interfaz oficial de Workflow Dispatch de GitHub para activar remotamente el workflow especificado.
En cuanto a la configuración, es necesario establecer un Actions secret en el repositorio del proyecto: nombre GTOKEN y valor como un token de acceso personal. El Personal Access Token debe ser de tipo classic y tener seleccionados los permisos de repo y workflow; si falta el permiso de workflow, no será posible activar workflow_dispatch a través de la API. Respecto a la plataforma de funciones en la nube, el README indica que se ha verificado la disponibilidad de Tencent Cloud Function SCF, aunque teóricamente cualquier plataforma que soporte solicitudes HTTP y activación programada puede desplegar una solución similar. Al desplegar, se sugiere escribir los parámetros clave como repo_owner, repo_name y workflow_name directamente como constantes de cadena o hardcoded, para evitar la pérdida de parámetros, fallos en la resolución de variables de entorno o excepciones causadas por la transferencia de parámetros a través de event/context. El código de ejemplo utiliza requests para enviar una solicitud POST a la API de GitHub, con un payload de ref=main y un código de estado de éxito 204.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.