Closed3

API Gateway + Lambda + DynamoDB の構成をローカル環境で構築する

N04hN04h

以下技術を使用して実現する

Serverless Framework

https://www.serverless.com/framework/docs

Docker

Dockerを使用して以下コンテナを立ち上げる

  • DynamoDB Local ... ローカル環境でDynamoDBを再現するために使用
  • DynamoDB Admin ... DynamoDBのCRUD操作をGUIで扱うために使用
N04hN04h

HTTPステータスやヘッダーを指定した内容ではなく、
Lambdaの実行結果がそのまま返されてる?なんでや

$ curl http://localhost:3000/v1/hogefuga
{"statusCode":200,"headers":{"Content-Type":"application/json; charset=utf-8","Content-Length":"129"},"body":"{\"success\":true,\"route\":\"GET /hogefuga\",\"headers\":{\"host\":\"localhost:3000\",\"user-agent\":\"curl/7.85.0\",\"accept\":\"*/*\"},\"query\":{}}"}
N04hN04h

https://www.serverless.com/framework/docs/providers/aws/events/apigateway#lambda-proxy-integration

integrationlambdaを指定すると Lambda Integration になってしまうみたい
指定しないことで Lambda Proxy Integration を使える

functions:
  create:
    handler: posts.create
    events:
      - http:
          method: get
          path: whatever
          integration: lambda

これでうごいた

exports.handler = async (event) => {
  return {
      statusCode: 200,
      body: JSON.stringify({ event: event })
  };
};
このスクラップは2023/01/22にクローズされました