当前位置: 首页 > 工具软件 > API-Gateway > 使用案例 >

API Gateway学习01

夏侯浩气
2023-12-01

4-15学习记录

What is Amazon API Gateway?

API Gateway concepts

  • Edge-optimized API endpoint
    使用cloudfront达到aws跨区域请求,可以选择最近的区域优化连接速度。
  • Mapping template
    使用Velocity Template Language将前端数据转换成格式化的后端数据,用于集成请求和集成响应中。
  • Mock integration
    直接从API Gateway生成响应,无需集成后端。
  • Model
    用来生成数据模型映射模板或是验证参数。

HTTP or REST

具体对比参考链接

Getting started with API Gateway

Create a REST API

Lambda integrations

  • Lambda proxy integration
    将数据直接发送给后端
  • Lambda non-proxy integration
    可以自定义请求和响应的格式

Integration Response
可以对响应转换成相应的格式,代理集成不可用(直接返回)
Method Response
HTTP 状态代码、可选响应标头和可选响应正文返回到客户端的方法响应

mock integration

在方法请求中填写需要请求的参数
在集成请求的映射模板中填写模拟集成的逻辑
在响应方法中填写对应的状态码,并在集成响应中定制对应的响应模板

一些总结:
集成请求中的映射模板是将前端的数据与lambda的数据做对应的映射。

Tutorial

Calc API with three integrations

本以为是个简单的例子,结果掺杂了许多操作……
第一个集成是不用正常的lambda,而是通过AWS服务来调用lambda,通过ARN来标记lambda函数。
角色还需要有Lambda InvokeFunction权限,还需要更新Trust relationships (信任关系) 用来信任lambda
更让人看不懂的操作是API的请求方法可以和集成请求的方法不一样……例子本身就是api为GET方法,直接在集成请求改成了POST方法

问题汇总

  1. 在方法请求中定义了url参数和header,为什么集成请求中还有对应的设置

  2. 在Calc API的例子中,路径覆盖为
    /2015-03-31/functions/arn:aws:lambda:region:account-id:function:Calc/invocations
    参数是如何设置的

  3. 代理资源?

 类似资料: