API GatewayをGolangで作成する方法について調べてみた
AWSのLambdaは現時点ではGolangは公式にサポートされていないです。
ということで、サーバレスなAPIをGolangで作成する方法について調べてみました。
いくつかの方法がありましたが、結果的には以下の記事にある方法が、自分には一番分かりやすかったです。
https://developer.capitalone.com/blog-post/building-a-serverless-rest-api-in-go/
やり方としては
となります。
ほぼこの記事の方法で出来たのですが、いくつか引っかかったところがあったのでメモっておきます。
- Lambdaについてはサンプルソースが以下のgithubで公開されているので、それを使う。
- project.jsonのrole、profileは適切なものを設定する。
- デプロイコマンドは以下のようにprofile、regionを指定する。
- $ apex deploy --profile default --region ap-northeast-1
- デプロイ時に「Error: function apis: NoCredentialProviders: no valid providers in chain. Deprecated.」というエラーが出た。
- デプロイ前に以下のコマンドを実行する。
- $ export AWS_SDK_LOAD_CONFIG=1
- 参考サイトはこちら。https://qiita.com/shirakia/items/bcd54a1f82ceb69a645a