Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2020.09-JAWS UG SONIC(コロナ対策サイト+にゃーにゃーマップvol.3)

w2or3w
September 12, 2020
160

2020.09-JAWS UG SONIC(コロナ対策サイト+にゃーにゃーマップvol.3)

w2or3w

September 12, 2020
Tweet

Transcript

  1. #jawsug #jawssonic2020
    #jawsug_hamamatsu
    2020.09.12 JAWS UG SONIC

    View Slide

  2. JAWS-UG 浜松支部
    #jawsug #jawssonic2020
    #jawsug_hamamatsu
    2020.09.12 JAWS UG SONIC

    View Slide

  3. JAWS-UG 浜松支部
    ・1人目
    w2or3w (Tsukasa)
    サーバーレスでオープンデータ活用
    ・2人目
    saito5656 (Saito)
    AWSでIoTを楽しんでる話
    #jawsug #jawssonic2020
    #jawsug_hamamatsu
    2020.09.12 JAWS UG SONIC

    View Slide

  4. サーバーレスでオープンデータ活用
       新型コロナ情報を対策サイトで活用!
       認証店舗一覧情報をマップサイトで活用! 
    @w2or3w
    2020.09.12 JAWS UG SONIC
    #jawsug #jawssonic2020
    #jawsug_hamamatsu

    View Slide

  5. ナカムラ ツカサ
    2(ツー) or(~か) 3(サン) 37才
    リーマンアプリケーションエンジニア
    最近サーバーレスアプリ制作にお熱です!
    好き : 川や雪山で遊ぶこと
    JAWS-UG歴 : 約1年
    @w2or3w
    自己紹介

    View Slide

  6. JAWS-UG 浜松支部
    ・2011年発足
    ・毎月開催しててエライ支部(2019年~現在)
    ・じつは 鮫アイコンを拡張した初めての支部
    ・さいきん
     NHKに取り上げられた
     日本歴代最高気温(タイ)
    41.1℃をマーク
    #jawsug #jawssonic2020
    #jawsug_hamamatsu

    View Slide

  7. JAWS-UG 浜松支部
    アツいぞ




    AWS公式さん
    ありがとう!

    View Slide

  8. JAWS-UG 浜松支部
    アツいぞ




    AWS公式さん
    ありがとう!

    View Slide

  9. JAWS-UG 浜松支部
    写真には載ってるけど
    記事には登場しない。
    うらやましい > <!
    ので、
    今からここで
    アピります ^ ^!
    AWS公式さん
    ありがとう!

    View Slide

  10. サーバーレスでオープンデータ活用
     > 新型コロナ情報を対策サイトで活用!
       認証店舗一覧情報をマップサイトで活用! 
    @w2or3w
    #jawsug #jawssonic2020
    #jawsug_hamamatsu
    2020.09.12 JAWS UG SONIC

    View Slide

  11. 新型コロナ情報を対策サイトで活用!
    Code for Japanが制作
    Nuxt.jsの静的Webサイト
    GitHubでコード管理
    オープンソース
    モダンな技術・環境
    エンジニアホイホイ
    各地でフォークされる

    View Slide

  12. 新型コロナ情報を対策サイトで活用!
    Code 4 Hamamatsu 爆誕
    常連
    連携
    日・月・火・水
    (4日)

    View Slide

  13. 新型コロナ情報を対策サイトで活用!
    なかよしなのじゃ!
    わんゎ・・ぺい!
    いえーい!

    View Slide

  14. 新型コロナ情報を対策サイトで活用!
    浜松市版では
    5種類の情報を可視化
    ・検査陽性者の状況
    ・陽性患者の属性
    ・陽性患者数
    ・検査実施人数
    ・相談件数

    View Slide

  15. 新型コロナ情報を対策サイトで活用!
    data.json {
    patients_summary{...}, patients{...},
    patients_summary{...}, inspection_persons{...},
    contacts{...}
    }

    View Slide

  16. 新型コロナ情報を対策サイトで活用!
    浜松市 :
    3種類のCSVを作成・公開
    ・検査陽性患者の属性
    ・検査実施人数
    ・相談件数
    3種類のCSVを
    5種類のデータを含むJSONに
    変換する仕掛け(API)

    View Slide

  17. 新型コロナ情報を対策サイトで活用!
    定期的(1回/日)

    ポーリングする
    CSVを取得して
    JSONにして返す
    JSONに変更があったら
    Pushしてデプロイ
    にっこり
    GitHub Actions API Gateway Lambda(Python) ふじのくにオープンデータカタログ
    新型コロナ浜松市情報
    最新データデプロイの自動化✨

    View Slide

  18. 新型コロナ情報を対策サイトで活用!
    ここでやっても
    いいんだけど、、。
    GitHub Actions API Gateway Lambda(Python) ふじのくにオープンデータカタログ
    ・・・
    新型コロナ浜松市情報

    View Slide

  19. 新型コロナ情報を対策サイトで活用!
    API化しておくと
    他の用途でも使えて便利
    ニコニコ
    GitHub Actions API Gateway Lambda(Python) ふじのくにオープンデータカタログ
    新型コロナ浜松市情報

    View Slide

  20. 新型コロナ情報を対策サイトで活用!
    個人的な工作
    監視・蓄積・通知する仕掛け
    ニコニコ
    GitHub Actions API Gateway Lambda(Python) ふじのくにオープンデータカタログ
    新型コロナ浜松市情報

    View Slide

  21. 新型コロナ情報を対策サイトで活用!
    GitHub Actions API Gateway Lambda(Python) ふじのくにオープンデータカタログ
    新型コロナ浜松市情報

    View Slide

  22. 新型コロナ情報を対策サイトで活用!
    GitHub Actions API Gateway Lambda(Python) ふじのくにオープンデータカタログ
    新型コロナ浜松市情報

    View Slide

  23. サーバーレスでオープンデータ活用
       新型コロナ情報を対策サイトで活用!
     > 認証店舗一覧情報をマップサイトで活用! 
    @w2or3w
    #jawsug #jawssonic2020
    #jawsug_hamamatsu
    2020.09.12 JAWS UG SONIC

    View Slide

  24. 認証店舗一覧情報をマップサイトで活用!
    『はままつ安全・安心な飲食店認証制度』
    感染症予防対策に係る基準を設け、
    申請してクリアした店舗を公表
    オープンデータでも公開
     → 活用しよう!
       にゃーにゃーマップで! ← (?)

    View Slide

  25. 認証店舗一覧情報をマップサイトで活用!
    『にゃーにゃーマップ』
    マップベースのWebアプリケーション
    ・コロナ時代を意識した何かアプリ作りたかった
     (対策サイトと同じNuxt.jsで!)
    ・複数立ち上がったテイクアウトサイトを
     より利用しやすい形でまとめたかった
    で、5月くらいに作ってた。
    Stay Near, Enjoy Near
    HPや各種SNS ->
    電話や経路検索 ->
    ※登録店舗は
     浜松周辺のみ

    View Slide

  26. 認証店舗一覧情報をマップサイトで活用!
    DynamoDBストリームで
    Lambdaをトリガーして、
    Elasticsearch Serviceと
    データを同期。
    店舗情報のマスターは
    DynamoDBで管理。
    検索したい場所の緯度経度を渡して
    Elasticsearchから距離の近い順に店舗情報を取得。
    API Gateway Lambda(Python) Elasticsearch Service
    DynamoDB
    店舗情報項目
    ・店の名前
    ・緯度・経度 (lat, lon)
    ・住所・電話番号
    ・HPや各種SNS情報
    --- 緯度経度(lat,lon) ------------------------------------->
    <-----------------------------周辺の店舗情報(近い順) ---

    View Slide

  27. 認証店舗一覧情報をマップサイトで活用!
    API Gateway Lambda(Python) Elasticsearch Service
    DynamoDB
    EventBridge
    (CloudWatch Events)
    認証店舗には★がつくようにしてみた。
    認証情報取得の 自動化 と 通知 も✨
    店舗情報項目
    ・店の名前
    ・緯度・経度 (lat, lon)
    ・住所・電話番号
    ・HPや各種SNS情報
    ・スター
    認証店舗情報

    View Slide

  28. 認証店舗一覧情報をマップサイトで活用!
    (余談)
    緯度経度で検索する手段選定の話
    API Gateway Lambda(Python) Elasticsearch Service
    DynamoDB
    <- 検索するところ
    やりかた、
    しらん。
    --- 緯度経度(lat,lon) ------------------------------------->
    <-----------------------------周辺の店舗情報(近い順) ---

    View Slide

  29. 認証店舗一覧情報をマップサイトで活用!
    (JAWS-UG浜松 7月の勉強会スライド再利用
    )
    候補
    消去法
    サクッ!

    View Slide

  30. 認証店舗一覧情報をマップサイトで活用!
    固定費かからない・ある程度無料で使える・
    必要に応じてスケールする
    いいやり方あったら教えてください...!
    (JAWS-UG浜松 7月の勉強会スライド再利用
    )



    View Slide

  31. Enjoy OPENDATA with SERVERLESS
    Thank You !!
    @w2or3w
    #jawsug #jawssonic2020
    #jawsug_hamamatsu
    2020.09.12 JAWS UG SONIC

    View Slide