Mentioned in days
In 2020-06-21 Sun
Read full day →
今日の庭いじり
2019-11-21頃に「June29 Web Servicesをつくりたい〜」と言っていて、最近になって機運が高まったのでちょっとやってみることにした。ソフトウェアエンジニアの日曜大工。庭いじりは楽しい。
今回はRuby on Jetsというフレームワークを使っていくことにした。ほとんど触ったことがないので手探りで。成果物は下記のリポジトリに置いた。
リポジトリ名はapi.june29.jpとしたものの、まだドメインの設定をしていないからアクセスできないのよ〜。
手元で jets server して「動いた〜」となったのでデプロイしてみようと試したところ、ぼくにはよく理解できないエラーが発生してしまってデプロイ失敗。
- Unable to build Deployment Package without the required pre-compiled gems - Jets - Jets Community
- byebug 11.1.3 can't compile with lambda gems·Issue #474·tongueroo/jets
どうやらLambda Gemsという仕組みが背景にあって、今回ぼくが使おうとしているGemfile.lockだとそのサポートから外れるバージョンのGemを使ってしまっているっぽいな、と認識するに至った。下記コミットでbyebugとpumaのバージョンを固定してみたら、デプロイも成功するようになった。
(しかしpumaのこのバージョンってCVE-2020-11076 / CVE-2020-11077のやつじゃん… どうしよ)
というわけで、AWS Lambdaで動くJune29 Web Servicesの最初のAPIが動き始めた。/nikki/:date にアクセスすると、Scrapboxのその日の日記のページにリダイレクトしてくれる。
- https://wms5t1qylb.execute-api.us-east-1.amazonaws.com/dev/nikki/2020-06-20 は、きのうの日記へ
- https://wms5t1qylb.execute-api.us-east-1.amazonaws.com/dev/nikki/2020-01-01 は、今年の元日の日記へ
- https://wms5t1qylb.execute-api.us-east-1.amazonaws.com/dev/nikki/2019-11-22 は、去年の結婚記念日の日記へ
これにドメインを当てて api.june29.jp/nikki/2020-06-21 のようにアクセスできるようにしたい、ぞ。