LambdaのサーバーレスAPIまとめです。至高のCI/CDパイプラインを実現する5つの約束やったことまずアプリケーションを作成するときに悩むのが、ボイラープレートコード(フレームワーク等で必要になる典型的なコード)の扱い。Gatewayの接続部分や、エントリーポイントのHandlerクラスはなるべく書きたくないところ。Frameworkのテンプレートから雛形は自動生成可能です(プラットフォームによってはない)。使えるテンプレートは3つありますね。KotlinでJS使うテンプレートなんてあるのか...aws-kotlin-jvm-mavenaws-kotlin-jvm-gradleaws-kotlin-nodejs-gradleそれでは雛形をコマンドラインから作成。serverlessでserverlessコマンドは入れておきましょう。今回は"aws-kotlin-jvm-maven"を使います。matsuya-finder5秒くらいでテンプレートは作成されます。指定した--path以下は以下のようなディレクトリ構成になっています。Gatewayにレスポンスを返す時のデータの格納クラス。アプリケーションのエントリーポイント。ビジネスロジックはここにInjectする。アプリケーションのレスポンス。classになっている。Frameworkに管理されたアプリケーションのデプロイ定義。裏ではCloudFormationを使っている。あとは業務ロジックのコードを好きに書きます!最終的なコードは以下の図のような構成になりました。最終形また、serverless.ymlは以下の構成になっています。発行すればデプロイ完了です。権限のあるプロファイルを使おうIAMロールをつけたのになぜかUnauthorizedとなってしまうことありますが、だいたいはIAMロールをつけたユーザーでCLIを叩いてないことが原因です。Proxy"になるこのタイプはリクエストのコンテントタイプを細かく指定しづらいです。Proxyタイプ用のレスポンス定義です!これ以外のタイプは別途レスポンスのクラスを用意しましょう。serverless.ymlでintegration:lambdaを指定するか、Handlerクラス内でパースのどちらかで解決しなければなりません。}}Kotlinも結構簡単にサーバーレスなAPIを作れるんですね。Eventsにも対応できるのでできる幅も広そう。Androidユーザーはフロントエンドと同じ言語を使えるからいいですね。iOSユーザーのためにSwiftでもできるのかな?以上。今年の年末エントリーです。月別アーカイブはてなブログをはじめよう!accelerkさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。