Chapter12 俳句アプリを動かす

今回は、サーバーレスクラウドを用いて、俳句アプリを実行してみる。

デプロイ

まずは、bashoutterディレクトリにて、デプロイの手順を行う。

無事デプロイが完了すれば、APIのページに行き、BashoutterApiが存在することを確認。

そして、そのAPI名をクリックすると、このような詳細を見ることができた。

続いては、BashoutterバケットをS3ページから見てみる。すると、bashoutter-…というバケットができていることがわかった。

次に、そのバケット名にアクセスし、中身を見てみる。すると、index.htmlファイルと、三つのディレクトリがあることが確認できる。

APIリクエス

確認が終わったので、次はAPIリクエストの送信を行う。まずは、出力された文字列を何処かに記録しておく。本記事では、

  • BashoutterApiEndpoint=※1
  • BucketUrl=※2

として扱う。

まずは、exportでENDPOINT_URLという変数を作成しておき、その値に※1の内容を格納し、GETコマンドでENDPOINT_URL/haikuで、俳句の一覧を取得する。この状態で行うと、何も俳句が投稿されていないので、もちろん配列は空で帰ってくる。

次に、俳句を投稿してみる。POSTコマンドで、指定したurlに投稿を行う。例えば、このような俳句を投稿してみる。すると、このように表示された。

これで、俳句の投稿は成功したため、再び俳句の一覧を取得してみた。すると、以下のように表示された。これで、無事投稿されたことが確認できた。

続いては、投稿した俳句にいいねを付けてみる。haiku/の次にitem_idを入れればアクセスできる。そして、PATCHコマンドでいいねを付けてみた。

実際に付けられたことを確認するため、再度俳句一覧を取得。likesの値が0.0→1.0に変化したことが確認できた。

次に、投稿した俳句を削除してみる、DELETEコマンドで/haiku/item_idのアイテムを削除することができる。そして、俳句一覧を取得し、削除されたことを確認した。

最後に、大量にAPIリクエストを送るシミュレーションを行ってみる。client.pyファイルをENDPOINT_URLで300回実行してみると…数秒立ったあとに、成功した。これで、大量のAPIリクエストに対応できることを確認できた。最後に、clear_databaseで、データベースを空にし、無駄なデータベースを削除しておく。

Bashoutter GUI

次はGUIを用いてみる。まずは、デプロイ時に出力された※2のURLにブラウザでアクセスしてみる。すると、このような俳句ページが表示された。

そして、API Endpoint URLに※1の値を入れてみる。その次に、REFRESHを押して見る。すると、APIリクエストを用いて俳句を投稿した状態ならば、以下のように一つ俳句が投稿されているページが表示された。

次は、ここから新しい俳句を投稿してみる。このように、俳句とユーザーネームを入力し、POSTで投稿してみた。

すると、この状態だと何も表示されていない状態なのだが、再びREFRESHを押すと投稿された俳句が表示される。

これで、やることは終わったため、スタックを終了する。

こうして、AWSで俳句アプリを動かした。