将 API 调用记录到 Kinesis Data Firehose 中 - Amazon API Gateway
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

将 API 调用记录到 Kinesis Data Firehose 中

为了帮助调试与客户端对您的 API 的访问相关的问题,您可以记录对 Amazon Kinesis Data Firehose 的 API 调用。有关 Kinesis Data Firehose 的更多信息,请参阅什么是 Amazon Kinesis Data Firehose?

对于访问日志记录,您只能启用 CloudWatch 或 Kinesis Data Firehose—不能同时启用两者。不过,您可以为执行日志记录启用 CloudWatch,并为访问日志记录启用 Kinesis Data Firehose。

针对 API Gateway 的 Kinesis Data Firehose 日志格式

Kinesis Data Firehose 日志记录使用的格式与 CloudWatch 日志记录使用的格式相同。

针对 Kinesis Data Firehose 日志记录的权限

在一个阶段启用 Kinesis Data Firehose 访问日志记录时,如果服务相关角色不存在,则 API Gateway 会在您的账户中创建该角色。该角色被命名为 AWSServiceRoleForAPIGateway,并且已将 APIGatewayServiceRolePolicy 托管策略附加到该角色。有关服务相关角色的更多信息,请参阅使用服务相关角色

注意

Kinesis Data Firehose 传输流的名称必须为 amazon-apigateway-{your-delivery-stream-name}

使用 API Gateway 控制台设置 Kinesis Data Firehose 访问日志记录

要设置 API 日志记录,您必须已经将 API 部署到某个阶段。您还必须创建 Kinesis Data Firehose 传输流。

  1. 通过 https://console.amazonaws.cn/apigateway 登录 API Gateway 控制台。

  2. 请执行下列操作之一:

    1. 选择现有 API,然后选择一个阶段。

    2. 创建 API 并将其部署到阶段。

  3. Stage Editor (阶段编辑器) 中选择 Logs/Tracing (日志/跟踪)

  4. 要启用到 Kinesis Data Firehose 传输流的访问日志记录,请执行以下操作:

    1. Custom Access Logging (自定义访问日志记录) 下选择 Enable Access Logging (启用访问日志记录)

    2. Access Log Destination ARN (访问日志目标 ARN) 中输入 Kinesis Data Firehose 传输流的 ARN。ARN 格式为 arn:aws:firehose:{region}:{account-id}:deliverystream/amazon-apigateway-{your-delivery-stream-name}

      注意

      传输流的名称必须为 amazon-apigateway-{your-delivery-stream-name}

    3. Log Format (日志格式) 中输入日志格式。您可以选择 CLFJSONXMLCSV 以使用提供的示例之一作为指南。

  5. 选择 Save Changes

API Gateway 现已准备好将对您 API 的请求记录到 Kinesis Data Firehose。在更新阶段设置、日志或阶段变量时,您无需重新部署 API。