使用 HTTP API 的 AWS 服务集成 - Amazon API Gateway
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 HTTP API 的 AWS 服务集成

您可以通过使用一流集成将您的 HTTP API 与 AWS 服务集成。一流的集成将 HTTP API 路由连接到 AWS 服务 API。当客户端调用由一流集成支持的路由时,API Gateway 会为您调用 AWS 服务 API。例如,您可以使用一流集成向 Amazon Simple Queue Service 队列发送消息,或启动 AWS Step Functions 状态机。有关支持的服务操作,请参阅 集成子类型参考

映射请求参数

一流的集成具有必需和可选的参数。必须配置所有必需的参数才能创建集成。您可以使用在运行时动态评估的静态值或映射参数。有关支持的集成和参数的完整列表,请参阅集成子类型参考

参数映射
类型 示例 备注
标头值 $request.header.name 标头名称不区分大小写。API Gateway 将多个标题值与逗号组合在一起,例如 "header1": "value1,value2"
查询字符串值 $request.querystring.name 查询字符串名称不区分大小写。API Gateway 将多个值与逗号组合在一起,例如 "querystring1": "Value1,Value2"
路径参数 $request.path.name 请求中路径参数的值。例如,如果路由为 /pets/{petId}, ,则可以从具有 $request.path.petId 的请求中映射 petId 参数。
请求正文传递 $request.body API Gateway 传递整个请求正文。
请求正文 $request.body.name JSON 路径表达式。不支持递归下降 ($request.body..name) 和筛选表达式 (?(expression))。
上下文变量 $context.variableName 受支持的上下文变量的值。
阶段变量 $stageVariables.variableName 阶段变量的值。
静态值 string 常量值。

创建一流的集成

在创建一流集成之前,您必须创建一个 IAM 角色,该角色向 API Gateway 授予调用要集成的 AWS 服务操作的权限。要了解更多信息,请参阅为 AWS 服务创建角色

要创建一流集成,请选择支持的 AWS 服务操作(例如 SQS-SendMessage),配置请求参数,并提供一个角色来授予调用集成 AWS 服务 API 的 API Gateway 权限。根据集成子类型,需要不同的请求参数。要了解更多信息,请参阅“集成子类型参考”。

以下 AWS CLI 命令创建发送 Amazon SQS 消息的集成。

aws apigatewayv2 create-integration \ --api-id abcdef123 \ --integration-subtype SQS-SendMessage \ --integration-type AWS_PROXY \ --payload-format-version 1.0 \ --credentials-arn arn:aws:iam::123456789012:role/apigateway-sqs \ --request-parameters '{"QueueUrl": "$request.header.queueUrl", "MessageBody": "$request.body.message"}'