サイトの説明はサイトに全て書いたのでそちらを参照してほしい。
Amazon Wishlist Calendar - ほしい物リストをカレンダーに
ということでサイトに書かない話をここに書く。
作った目的
ゲームから長らく離れてた中、昨年(2015)のスプラトゥーンからゲーム熱が再燃し始めた。
しばらくはゼノブレイドクロス、Fallout4、GTA5 などメジャーなタイトルを遊んでいたけど、2016年秋はPS4でいろいろ発売されるのでカレンダーにでも登録しておくかという気持ちになった。
で、どうせ Amazon で買うことだし、なんかしらの登録した情報がカレンダーと連携できればいいのにと考えていたのが発端。
あとはドミノ式に要件を固めていった。
- 予約まではしないソフトもあるのでほしい物リストと連携したい
- お金をかけずに運用したい
- カレンダーとの連携は iCal あたりで
- 発売をスルーした場合にも後で教えてもらえるように RSS フィードが欲しい
- どうせなら発売前も RSS フィード流れてほしい
- RSS フィードにアフィリエイトリンク貼ってアフィ長者目指そう
使用技術
iCal, RSS フィードは URL 見ると分かる通り AWS S3。
S3 のコンテンツは初回登録時と以降は毎日スケジューラで lambda の NodeJS スクリプトをコールして生成している。
そのため発売日の変更があれば翌日には更新される。FF15 の発売日は無事更新されていた。
ほしい物リスト自体は DynamoDB に保存する。
DynamoDB ってキーワード見かける度にスプラトゥーン思い出す。
コンテンツは小さいし、スクリプトの実行回数も小さい。
カレンダーや RSS リーダーが極端にアクセスしないかぎりは S3 の通信も小さいので大したコストにはならないはず。
lambda のデプロイは apex を使った。
初見だからか lambda の制約で起きる問題にぶつかることが多く、さくっとデプロイできる体制は大事。
みんなどうしてるんだろう。
gulp とかを組み合わせてビルド、デプロイするのかな。
面倒で1ファイルに書いてしまった。
最後に
アフィ長者になる夢は残念ながら崩れてしまった。
Amazon に問い合わせたところ、AmazonWishlistCalendar はアプリケーションなので、Amazonアソシエイト・プログラム参加要件 の6に該当するため、ダメだということ。
今どきブログのRSSにアフィがあることもあるしいけるでしょと思ってたけど甘かった。
これでペルソナ5を思う存分やることになるな / “「ファイナルファンタジーXV」発売日変更のお知らせ | SQUARE ENIX” https://t.co/IdjXxHGfoQ
— kheiakiyama (@kheiakiyama) August 15, 2016
ファイナルファンタジー XV 初回生産特典 武器「正宗/FINAL FANTASY XVオリジナルモデル」アイテムコード同梱
- 出版社/メーカー: スクウェア・エニックス
- 発売日: 2016/11/29
- メディア: Video Game
- この商品を含むブログ (1件) を見る
- 出版社/メーカー: アトラス
- 発売日: 2016/09/15
- メディア: Video Game
- この商品を含むブログを見る