初Amplifyデプロイした話@eulede (kuroyanagi)JAWS-UG浜松 AWS勉強会 2021#11 (2021/11/26)
View Slide
Kuroyanagi Hitoshi@euledgehttps://github.com/euledge黒 柳 仁自己紹介
袋井市のオープンデータ活用事例Alexaスキル「ゴミ出しふくろい」を掲載していただきました。浜松市のコロナ対策サイトお手伝いをさせていただきました。
そろそろオープンデータ使った第2弾作りたいなぁ
写真 : 読売新聞オンライン (yomiuri.co.jp) 総裁選4氏、演説で強調したキーワードを可視化 -産経ニュース (sankei.com)なんか最近よくみるあれ
http://www.city.fukuroi.shizuoka.dbsr.jp/index.php/自分の街にもこんなのあった
なんか紐づけできてそう
今回の構成
PythonでスクレイピングしてDynamoDBに格納
DynamoDBテーブル定義• Meeting(会議)• Speaker (発言者)• Comment (発言内容 単語のみ)Meeting Comment Speaker1..n n..1
発言のクレンジング• 議長の発言は議事進行のためのものだから議事内容には触れない• 記号は不要• 普通名詞と一般名詞のみ(人名など固有名詞は不要)• 頻出しがちな単語を辞書にして削除(Stopword)
一般的なストップワードに加えて作成されたワードクラウド見ながら追加していくあそこあたりあちらあっちあとあなあなたあれいくついついまいやいろいろうちおおまかおまえおれがいかくかたちかやのからがらきたくせこここっちことごとこちらごっちゃこれこれらごろさまざまさらいさんしかた上中下字年月日時分秒週火水木金土国都道府県市区町村市議会議会議長議案午前午後令和休憩本会議再開委員会委員長委員本日明日昨日承認異議号本文質疑年度昨年度来年度事務局採決質問答弁なし本件条例受理今後現在今一般審議概要只今先日開催会議物今迄今日皆定例会余額ただいま先ほどとも
• PythonでGraphQL叩く• 表示しているAPI-KeyEndpointは Amplify mock
https://councilcloud.euledge.com/デモ
今回の制作ではまったところ• Vue3+Viteでやろうと思ったらAmplifyのライブラリでコンパイルエラーVue3でもViteでなければできるかも• カスタムドメインで公開しようと思ったらなかなか反映されないドメインレジストラの設定がRoute53のDNS使ってなかった。• うまくいかない場合はamplify init を何度もやり直す得た知見• 分からない時は JAWS-UG浜松 slackに投げてみる 🙏🙏🙏🙏• 検索すると結構な確率で知人に出会うお名前.comで取得した独自ドメインのサブドメインをAmplify Consoleで割り当てる – QiitaAppSyncをフロントエンドとバックエンドで利用する - Qiita• NuxtでコンポネントのページをリロードするとエラーSPAちゃんと理解してなかった。AmplifyConsoleの謎設定「書き換えて、リダイレクト」で解決
今回使用した技術スタックPythonフロントエンドhttps://github.com/euledge/council-cloud• スクレイピング BeautifulSoup4https://www.crummy.com/software/BeautifulSoup/• 日本語形態素解析器 SudachiPyhttps://github.com/WorksApplications/SudachiPy• GraphQLクライアント gqlhttps://github.com/graphql-python/gql• Vue.js + Nuxt + Vuetify• VueWordCloudhttps://github.com/SeregPie/VueWordCloud成果物
今回参考にした記事• Amplifyで構築したAppSyncへPythonで接続する | DevelopersIO (classmethod.jp)• AppSyncをフロントエンドとバックエンドで利用する – Qiita• AWS Amplify & Nuxt 使って爆速でWebアプリ作る - Qiita• お名前.comで取得した独自ドメインのサブドメインをAmplify Consoleで割り当てる – Qiita• Amplify Console でデプロイした SPA が403エラーになった原因と対策 - サーバーワークスエンジニアブログ (serverworks.co.jp)