1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

API Gateway + Lambdaを設定して、ブラウザから関数を呼び出せるようにする。

Posted at

目的

AWS外のサービスからURL形式でLambdaを呼び出せるようにAPI Gatewayの発行とLambdaの統合をしました。

前提

AWSアカウントを有しており、コンソール上で操作ができること。

やったこと

①適当なLambdaの作成
②API Gatewayの発行とLambda統合

①適当なLambdaの作成

AWSコンソール > Lambda にて関数の作成を押下します。
image.png

今回はNode.jsで適当なLambdaを作るだけなので「一から作成」とNode.jsのバージョンを選択します。
image.png

関数の作成を押下します。

関数が作成され、コードソース画面に遷移するので「Test」ボタンを押下し、適当なお名前を付けたテストイベントを作成します。

image.png

image.png

改めて「Test」したときにレスポンスが以下であればOKです。

{
  "statusCode": 200,
  "body": "\"Hello from Lambda!\""
}

②API Gatewayの発行とLambda統合

①で作ったLambdaはいったん寝かせておいて、API Gatewayを仕込みます。
AWSコンソール > API Gateway よりAPIの作成を行います。
APIタイプはHTTPを選択しました。「構築」ボタンを押下します。
image.png

さっき作ったLambdaを選択します。
API名はよしなに付けます。
image.png

「次へ」を押して設定できるルートとステージは特に何もしていません。
そのまま作成完了しました。
image.png

作成後の画面で表示される「URLを呼び出す」のリンクは罠です。そのまま飛んでもLambdaは呼び出されません。
image.png

押下すると新しいブラウザのタブが開いて以下表示されます。悲しみ。

{"message":"Not Found"}

API Gateway のルートを開いて、URLの後ろにパスを付け足して再検索してみましょう。
今回の例であれば
https:// hogehuga.execute-api.ap-northeast-1.amazonaws.com/testfunc
になります。
image.png

うまくいけば②で作ったLambdaが覚醒して画面上に以下表示されます。うれしみ。

"Hello from Lambda!"

終わり

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?