このプロジェクトについて

本プロジェクトは、連続的かつタイムリーな環境データの収集が必要なシーン向けに、GitHub Actionsに基づいた自動クローリングおよびアーカイブ方案を提供します。READMEによると、そのアプローチはHeQinWill/CNEMCを参考にしつつ、スケジューリング方式と安定性を強化しています。現在は主にCNEMCのリアルタイム環境モニタリングデータの更新をサポートしており、計画中の機能には10分間隔のHimawari衛星短波放射(SWR)データが含まれています。 プロジェクトは取得結果を日付ごとにCSVとしてアーカイブし、ユーザーはraw.githubusercontentリンクを通じて時間ごとのデータを迅速にロードしたり、GitHub Contents APIを通じて特定日のファイルリストを取得したりできます。核心的な目的の一つは、GitHub Actionsネイティブのcronで発生しうる実行遅延やトリガー漏れの問題を回避することであり、そのため外部からの定期トリガーを推奨しています。具体的には、クラウド関数が定期的にGitHub公式のWorkflow Dispatchインターフェースを呼び出し、指定したworkflowをリモートでトリガーする仕組みです。 設定に関しては、プロジェクトリポジトリのActions secretに、名称「GTOKEN」、値に個人アクセストークンを設定する必要があります。Personal Access Tokenはclassicタイプである必要があり、repoおよびworkflow権限にチェックを入れる必要があります。workflow権限が不足している場合、API経由でworkflow_dispatchをトリガーすることができません。クラウド関数プラットフォームについては、READMEにてテンセントクラウド関数(SCF)での動作確認済みであると述べており、理論上、HTTPリクエストと定期トリガーをサポートするあらゆるプラットフォームで同様の方案をデプロイ可能です。デプロイ時は、repo_owner、repo_name、workflow_nameなどの重要パラメータを文字列定数として直接記述するかハードコードすることを推奨しており、これによりevent/context経由のパラメータ伝達によるパラメータ紛失、環境変数の解析失敗、または例外の発生を回避します。サンプルコードではrequestsを使用してGitHub APIにPOSTリクエストを送信し、ペイロードにref=mainを指定し、成功時のステータスコードとして204を返します。