AWSにサーバレスな(裏がLambdaで動いてるような)APIを立てる練習をしていた

完全にただのGitHubAPIへのアクセスプロキシみたいなものになってしまうのだが、まあちょっとしたサーバーを建てとくのも面倒だったりするので、AWSでやってみようということで手を動かしてみた。

やったこと

Lambda編

まずこれを参考にLambdaへGoのコードをデプロイしてみる。

AWS Lambda で Go が使えるようになったので試してみた | Developers.IO

あと公式ドキュメントも見たが、ほぼ同じだった。

Go の AWS Lambda 関数ハンドラー - AWS Lambda

特につまずいたところはなかったのだが、このあたりはもう少し簡単にコマンドラインベースで多分できるよなーと思ったので、後日調べようと思う。このあたりを後で読もうと思う。

ローカル環境でgoで書いた aws lambda用のコードを実行しちゃう

API GateWay編

この2つを参考に進めてみる。

2つ目のヤツのほうがわかりやすいし、APIキーの説明もあるしわかりやすいかも。

ハマりどころはとしては、APIキーでの認証を許可したあとうまくアクセスできないー、APIキーどこ!と思ったらデフォルトでは隠れてて、クリックしたら出てきたのでハイという感じだった。(キーとIDを間違えてヘッダーに設定していてはまり込んでいた)

あんまり真面目にここの公式ドキュメントを読み込んでいないので、これもそのうちコード値から定義できるのかなーとか思ってる。Swaggerの何かでできそうな雰囲気を感じたので、Swaggerで定義してAWSのラムダ関数を指定してあげる、とかで行けるのかなあとかぼんやり思ってる。

確認

Talend API Tester - Free Edition - Chrome ウェブストア で確認してみた。

使い方はこのへんとかが参考になりそう。 Talendで始めるREST APIテスト - Qiita

まとめ

今まであんまり真面目に触ったことがなかったけど、意外と使えそうな感じなので活用していきたいかも。小さいAPIみたいなのを立てたいときってまあまああるような気がしていて、これをうまいことを活用できるようになると趣味開発は特に捗りそうな気がします。

あとコードからデプロイする方法とかもそのうち学んでいきたいところ。。。