

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 API Gateway 中記錄對 Amazon Data Firehose 的 REST API 呼叫
<a name="apigateway-logging-to-kinesis"></a>

為了協助偵錯 API 用戶端存取相關問題，您可以記錄對 Amazon Data Firehose 的 API 呼叫。如需 Firehose 的詳細資訊，請參閱[什麼是 Amazon Data Firehose？](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html)。

對於存取記錄，您只能啟用 CloudWatch 或 Firehose，無法同時啟用兩者。不過，您可以讓 CloudWatch 能夠進行執行記錄，以及讓 Firehose 能夠進行存取記錄。

**Topics**
+ [適用於 API Gateway 的 Firehose 日誌格式](#apigateway-kinesis-log-formats)
+ [Firehose 記錄功能的許可權](#set-up-kinesis-access-logging-permissions)
+ [使用 API Gateway 主控台設定 Firehose 存取記錄功能](#set-up-kinesis-access-logging-using-console)

## 適用於 API Gateway 的 Firehose 日誌格式
<a name="apigateway-kinesis-log-formats"></a>

Firehose 記錄功能使用的格式與 [CloudWatch 記錄功能](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html)相同。

## Firehose 記錄功能的許可權
<a name="set-up-kinesis-access-logging-permissions"></a>

在階段上啟用 Firehose 存取記錄功能時，API Gateway 會在您的帳戶中建立服務連結角色 (若該角色不存在)。角色名為 `AWSServiceRoleForAPIGateway` 並會將 `APIGatewayServiceRolePolicy` 受管政策附加到該角色。如需服務連結角色的詳細資訊，請參閱[使用服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)。

**注意**  
Firehose 串流的名稱必須是 `amazon-apigateway-{your-stream-name}`。

## 使用 API Gateway 主控台設定 Firehose 存取記錄功能
<a name="set-up-kinesis-access-logging-using-console"></a>

若要設定 API 記錄，您必須已將 API 部署至階段。您也必須已建立 Firehose 串流。

1. 在以下網址登入 API Gateway 主控台：[https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway)。

1.  執行以下任意一項：

   1.  選擇現有 API，然後選擇階段。

   1.  建立 API，並將它部署至階段。

1. 在主導覽窗格中，選擇**階段**。

1.  在**日誌和追蹤**區段中，選擇**編輯**。

1. 若要啟用 Firehose 串流的存取記錄：

   1. 開啟**自訂存取記錄**。

   1. 針對**存取日誌目的地 ARN**，輸入 Firehose 串流的 ARN。ARN 格式為 `arn:aws:firehose:{region}:{account-id}:deliverystream/amazon-apigateway-{your-stream-name}`。
**注意**  
Firehose 串流的名稱必須是 `amazon-apigateway-{your-stream-name}`。

   1. 針對**日誌格式**，輸入日誌格式。您可以選擇 **CLF**、**JSON**、**XML** 或 **CSV**。若要進一步了解範例日誌格式，請參閱 [適用於 API Gateway 的 CloudWatch 日誌格式](set-up-logging.md#apigateway-cloudwatch-log-formats)。

1. 選擇**儲存變更**。

API Gateway 現在已準備好將對 API 的請求記錄至 Firehose。當您更新階段設定、日誌或階段變數時，不需要重新部署 API。