EchoをVercel(Zeit now)のServerless Function上で動かす

TL;DR

gist.github.com

Goやサーバレスアーキテクチャの初心者なので、もうちょっといいやり方ないかなーと持っています。

やりたいこと

Vercel(Zeit now)を使っていて、Serverless functionでGoが選択できたので利用してみたいと思ったので試してみた。

やったこと

ドキュメントにあるように プロジェクトルートに api ディレクトリを生成して date.go などつくる(このときhttp.HandleFuncのシグネチャである公開メソッドを用意すること)と /api/date というURLを提供できる( /api/ を指定したい場合は /api/index.go とする)。

が、今回はルーティングはEchoに任せたい(そもそもこれでいいのか?)と思ったので、 now.jsonroutes オプションを使い、 /api 配下に来たリクエストは /api/index.go で受け取って振り分けるようにした。

わかっていないこと

go.mod で module github.com/kimihito/hoge みたいな指定をすると、 now dev などで開発するとGitHubにアクセスしにいってしまう。 これがGo modのお作法なのか、 利用しているプラットフォームの動作なのかわかっていない(ょゎぃ)

参考にしたリンク

github.com

Pocketでお気に入りしたページをはてなブックマークに追加するWebアプリを書いた

TL;DR

はじめてGo言語(Echo)でコードを書いてみた。

github.com

やりたいこと

Pocket でお気に入りした記事をIFTTTのメール通知機能を使ってはてなブックマークに投稿していたが、メールでのブックマーク投稿機能の提供が終わってしまった。

bookmark.hatenastaff.com

なのでGo言語の勉強も兼ねて作ってみた。Go言語わからなすぎてだいぶハマってしまった… 😭

やってること

POSTが呼ばれたらパラメータにいるURLをはてなブックマークAPIを叩いて追加するだけ。

Pocketでお気に入りをしたらPOSTを呼ぶ部分は IFTTTの webhook serviceからやっている。

使ったもの

ハマったこと

参考にしたもの

特に hatena-go についてはめっちゃコード参考にしました。ありがとうございます。

github.com

nasust.hatenablog.com