「浜松市オープンデータカタログ」で公開されているCSVデータを
「浜松市新型コロナウイルス感染症対策サイト」で利用しているdata.jsonへ変換するプロジェクトです。
(* Amazon API Gatewayから呼び出される AWS Lambda にデプロイして実行される事を想定した実装となっています。)
COVID-19サイトデータ名称 | COVID-19サイトデータID | 浜松市APIID |
---|---|---|
検査陽性者の状況 | main_summary | 221309_hamamatsu_covid19_patients & 221309_hamamatsu_covid19_patients_summary |
陽性患者の属性 | patients | 221309_hamamatsu_covid19_patients |
陽性患者数 | patients_summary | 221309_hamamatsu_covid19_patients |
検査実施人数 | inspection_persons | 221309_hamamatsu_covid19_test_people |
新型コロナウイルス感染症に関する相談件数 | contacts | 221309_hamamatsu_covid19_call_center |
(* [検査陽性者の状況] は、死亡者のカウントのために、2つのCSVを参照しています。)
浜松市APIID | 浜松市オープンデータカタログページ |
---|---|
221309_hamamatsu_covid19_patients | コロナ 陽性患者の属性 |
221309_hamamatsu_covid19_patients_summary | コロナ 陽性患者数 |
221309_hamamatsu_covid19_test_people | コロナ PCR検査実施状況 |
221309_hamamatsu_covid19_call_center | コロナ 相談件数 |
key | value |
---|---|
type | GraphType-key:API-IDの配列 |
example
?type=main_summary:221309_hamamatsu_covid19_patients,main_summary:221309_hamamatsu_covid19_patients_summary,patients:221309_hamamatsu_covid19_patients,patients_summary:221309_hamamatsu_covid19_patients,inspection_persons:221309_hamamatsu_covid19_test_people,contacts:221309_hamamatsu_covid19_call_center
commands
$ pwd
{workspaceRoot}/src/app
$ GOOS=linux GOARCH=amd64 go build -o ../../bin/main main.go
$ (cd ../../bin && zip -r ../lambda-package.zip *)
$ aws lambda update-function-code --function-name ${LAMBDA_FUNCTION_NAME} --zip-file fileb://../../lambda-package.zip
commands
$ pwd
{workspaceRoot}
$ aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin ${AWS_ACCOUNT_ID}.dkr.ecr.ap-northeast-1.amazonaws.com
$ docker build -f Dockerfile.release -t csv2json-release .
$ docker tag csv2json-release:latest ${AWS_ACCOUNT_ID}.dkr.ecr.ap-northeast-1.amazonaws.com/csv2json:latest
$ docker push ${AWS_ACCOUNT_ID}.dkr.ecr.ap-northeast-1.amazonaws.com/csv2json:latest
$ aws lambda update-function-code --function-name ${LAMBDA_FUNCTION_NAME} --image-uri ${AWS_ACCOUNT_ID}.dkr.ecr.ap-northeast-1.amazonaws.com/csv2json:latest
commands
$ pwd
{workspaceRoot}
# build image & run container
$ docker build -f Dockerfile.debug -t csv2json-debug .
$ docker run --rm -p 9000:8080 csv2json-debug:latest /main
# request for test
$ curl -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations" -d '{}' -o ret.json
# request for test (with query parameters)
$ curl -XPOST \
"http://localhost:9000/2015-03-31/functions/function/invocations" \
-d '{ "queryStringParameters" : { "type" : "main_summary:5ab47071-3651-457c-ae2b-bfb8fdbe1af1" } }' \
| jq -r .body
commands
$ pwd
{workspaceRoot}/src/app
$ go test