API网关与Lambda服务

使用AWS CDK创建API Gateway(HTTP/REST)、Cognito和Lambda资源的项目,提供用户认证和API处理功能。

  • by atakedemo
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 atakedemo/lifelog-mcp-servers

使用说明

生活日志MCP服务器

AWS CDK来修改标记元素的显示属性API Gateway(HTTP)、API Gateway(REST)、Cognito、Lambda创建资源的项目。

构成

此项目包括:AWS包含资源:

  • Cognito用户池:用户身份验证
  • API网关(REST API): RESTful API 端点
  • API网关(HTTP API): HTTP API 端点
  • 中的拉姆达函数: API用于处理的无服务器函数

前提条件

  • Node.js 18.x以上
  • AWS CLI已配置
  • AWS CDK CLI已安装

安装,安装

  1. 安装相关性:
npm install
  1. CDK引导(仅第一次):
npx cdk bootstrap
  1. 部署堆栈:
npm run cdk:deploy

可用命令

  • npm run cdk:deploy -部署堆栈
  • npm run cdk:diff -确认部署前的更改
  • npm run cdk:synth - CloudFormation生成模板
  • npm run dev - Next.js启动开发服务器

体系结构

┌─────────────────┐    ┌─────────────────┐
│   REST API      │    │   HTTP API      │
│   (API Gateway) │    │   (API Gateway) │
└─────────┬───────┘    └─────────┬───────┘
          │                      │
          └──────────┬───────────┘
                     │
            ┌────────▼────────┐
            │   Lambda        │
            │   Functions     │
            └────────┬────────┘
                     │
            ┌────────▼────────┐
            │   Cognito       │
            │   User Pool     │
            └─────────────────┘

端点

REST API

  • GET /api - API情报取得
  • POST /api - API処理
  • GET /health -健康检查

HTTP API

  • GET /api - API情报取得
  • POST /api - API処理
  • GET /health -健康检查

环境变数

部署后,以下输出值可用:

  • UserPoolId -Cognito用户池ID
  • UserPoolClientId -Cognito用户池客户端ID
  • RestApiUrl -REST API URL
  • HttpApiUrl -HTTP API URL