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

将 API 调用记录到 Kinesis Data Firehose

为了帮助调试与客户端对您的 API 的访问相关的问题,您可以将 API 调用记录到 Amazon Kinesis Data Firehose。有关 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. 通过以下网址登录到 Amazon API Gateway 控制台:https://console.aws.amazon.com/apigateway

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

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

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

  3. 在主导航窗格中,选择阶段

  4. 日志和跟踪部分中,选择编辑

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

    1. 开启自定义访问日志记录

    2. 对于访问日志目标 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. 对于日志格式,输入日志格式。您可以选择 CLFJSONXMLCSV。要了解有关示例日志格式的更多信息,请参阅用于 API Gateway 的 CloudWatch 日志格式

  6. 选择保存更改

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