AWS API Gateway 可以自动添加关联(请求)ID吗

问题描述 投票:0回答:1

我有一组在 ECS 上运行的微服务,这些微服务部署在 API 网关后面,将客户端调用转发到服务端点。 我想在我的服务中使用相关(请求)ID,以便我可以更轻松地将事件以及后端发生的所有事情与客户端请求关联起来。

是否可以将 AWS API Gateway 配置为在将请求转发到我的后端服务之前自动添加自动生成的(唯一)相关 ID 作为请求的标头?

amazon-web-services aws-api-gateway
1个回答
0
投票

正如 @dmulter 上面提到的,您需要将 requestId 映射到您在集成请求上传递的新标头。

有详细步骤https://medium.com/@reethi/how-to-configure-aws-api-gateway-to-forward-custom-request-parameters-to-the-backend-http-resource- e44a8f81fe21总结如下:

  1. 登录API网关控制台
  2. 创建 API 网关或从左侧窗格中选择现有的 API 网关
  3. 选择“操作”下的“创建方法”以创建方法或从“资源”窗格中选择现有方法
  4. 在方法执行窗格中选择集成请求。对于集成类型,选择 HTTP 并输入端点 URL。
  5. 在“HTTP headers”下选择“Add”按钮,然后输入参数的“Name”,例如“apigw-requestid”,在“映射自”下输入“context.requestId”

如果您使用 CloudFormation,它应该如下所示:

  XXXMethod:
    Type: AWS::ApiGateway::Method
    Properties:
      ...
      Integration:
        ...
        RequestParameters:
          integration.request.header.apigw-requestid: 'context.requestId'
© www.soinside.com 2019 - 2024. All rights reserved.