Experiment record
気象履歴の収集:数式エラーと直接API方式への再設計
数式ベースの時間別気象収集で観察された停止と、プライバシーを保った直接API方式への再設計の記録。
結論
履歴保存を目的とする収集経路として、数式ベースの方式は十分に堅牢ではありませんでした。取得数式がエラーになると、新しい時間別レコードの追加が止まりました。そこで、直接APIを呼び出し、時刻キーで追記し、限定的に欠損補完する方式へ再設計しました。ただし、この記録だけでは長期信頼性はまだ実証されていません。
範囲とプライバシー境界
元のワークフローは、家庭内エネルギーデータに用いる非公開スプレッドシートです。地点、スプレッドシート識別子、認証情報、実測・取得値、ソースコードは公開しません。そのため、この記録には公開可能な生データはありません。
確認できた観察
- 気象データの入口に使っていたスプレッドシート数式が取得エラーを返しました。
- 履歴は値として保存されており、取得エラーが起きても既存行は保持されました。
- 数式経路が失敗している間、新たに期待される時間別レコードは追加されませんでした。
- その後、スプレッドシート数式に依存せず、気象APIを直接取得する方式へ再設計しました。
- 再設計の仕様では、日時をレコードキーとし、未登録時刻だけを追記し、直近の欠損を限定的に補完します。
未検証の事項
- 再試行回数、バックオフ、状態保持の正確な実装は、利用可能な画面から独立に確認できませんでした。
- 直接API方式が将来の提供者障害からどの程度回復できるか、長期稼働は未実証です。
- この一事例から、特定サービス全体の可用性や信頼性を推測しません。
再利用できる設計原則
- 表示用数式は、履歴取り込みの唯一の経路にしない。
- 承認済みの定期実行クライアントで構造化データを直接取得する。
- 一意な日時を重複排除キーにする。
- 既存の履歴を保持し、欠けたレコードだけを追記する。
- 失敗時は過去値を上書きせず、エラーを記録して次回以降に再試行する。
- 直近の限定した時間帯を再確認して、一時的な欠損を補完する。
再現条件
元の環境は非公開のため、公開再現は提供しません。将来の公開検証では、誰でも参照可能なAPI、機微でない地点または合成データ、正確な要求条件、スケジューラ設定、生レスポンス、完全な解析コードを提示する必要があります。
関連成果物
構造化記録は experiments/OPENMETEO-MSM-001/ にあります。CSVはスキーマのみ、Pythonファイルは意図的に処理を行わないプレースホルダーです。