---
# System prepended metadata

title: data.jsonの自動化について

---

# data.jsonの自動化について

## 現在の状況

### インフラ

**現在のインフラの状況等について自分が把握していないので、色々と書いていただけると幸いです。**

|ステータス|項目|詳細|
|:-:|:-:|:-:|
|本番|ホスト|さくらのクラウド|
|本番|スペック|2 Core/1GB memory|
|本番|台数|1|
||||
|開発|ホスト|さくらのクラウド|
|開発|スペック|2 Core/1GB memory|
|開発|台数|1（本番と同一サーバ）|

インフラ構成は北海道を参考に設定。
https://tech.moyashidaisuke.com/entry/stopcovid19-infrastructure
- cronで10分に1回`git pull`して自動更新（本番、開発）。
- ウェブアクセラレータ（CDN）は未使用。

#### ドメイン

|環境|ドメイン|サブドメイン|管理|
|:-:|:-:|:-:|:-:|
|本番|stopcovid19.jp|saitama|code for japan|
|開発|e-toda.jp|dev-stopcovid19|code for toda|

### 運用

* T.Shimizさんが手動で更新している。
    * 「陽性患者数」「陽性患者の属性」はオープンデータ
        * https://opendata.pref.saitama.lg.jp/data/dataset/covid19-jokyo
    * 「検査陽性者の状況」は県ホームページから取得している
        * https://www.pref.saitama.lg.jp/a0701/covid19/jokyo.html

## TOBE（あるべき姿）

まず必要となるJSONデータが何なのかなどが知りたい。

### 案１

さくらのクラウドのインスタンス上で動いているのであれば `cron` でクローラーを定期的に回す？

### 案2

北海道のを参考にする場合は別サーバーあるいはajaxで取得できるような構成にする？
https://tech.moyashidaisuke.com/entry/stopcovid19-auto-update
その場合はスクレイピング or Opendataから情報取得(Lambda+ClowdWathcEventとか?) → csv to json → axiosで取得?

04/03追記(tomopict)
上記で必要そうな作業の羅列
- アプリケーション側
    - @nuxtjs/axiosのインストール
    - pages.vueでのmethodの定義
    - store利用するならばstoreのactionsへmethodを移動
    - エラーハンドリングの検討
    - generateした場合の動作テスト
- data.jsonを移動
    - さくらのサーバー内？
    - CORS対策

### 案3
長野県のを参考に
案2とアプローチ的には同じかな？
https://qiita.com/hisayan/items/3dc0dc3fa875d15dd680

### 案4

「陽性患者数」と「陽性患者の属性」はオープンデータがあるので、そのデータを非同期で `GET` したい。 -> これってできるのかしら？
-> 非同期の定義とはなんでしょう？いつどのタイミングでの発生になるでしょうか？

## 懸念事項

1. Opendataの値が、Webサイトに乗っている合計値と違うことがあった -> Opendataにも載っている値の、和が正解
2. Opendataの更新がWebサイトの更新から半日経つことがあった -> もしかして手動更新かけてる・・？