

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 教程：从控制台创建 Firehose 流
<a name="basic-create"></a>

您可以使用 AWS 管理控制台 或 AWS SDK 创建到您所选目的地的 Firehose 直播。

Firehose 直播创建后，您可以随时使用亚马逊数据 Firehose 控制台或更新其配置。[UpdateDestination](https://docs.aws.amazon.com/firehose/latest/APIReference/API_UpdateDestination.html)在更新配置时，Firehose 流将保持 `Active` 状态，您可以继续发送数据。更新后的配置通常在数分钟内生效。更新配置后，Firehose 流的版本号将增加一个值 `1`。该增加值反映在传输的 Amazon S3 对象名称中。有关更多信息，请参阅 [配置 Amazon S3 对象名称格式](s3-object-name.md)。

执行以下主题中的步骤来创建 Firehose 流。

**Topics**
+ [为 Firehose 流选择来源和目的地](create-name.md)
+ [配置源设置](configure-source.md)
+ [（可选）配置记录转换和格式转换](create-transform.md)
+ [配置目的地设置](create-destination.md)
+ [配置备份设置](create-configure-backup.md)
+ [配置高级设置](create-configure-advanced.md)

# 为 Firehose 流选择来源和目的地
<a name="create-name"></a>

****

1. 在 [https://console.aws.amazon.com/firehose/](https://console.aws.amazon.com/firehose/) 中打开 Firehose 控制台。

1. 选择**创建 Firehose 流**。

1. 在**创建 Firehose 流**页面上，从以下选项中选择一个 Firehose 流的来源。
   + **Direct PUT**：选择此选项可创建 Firehose 流，供生产者应用程序直接写入。以下是与 Amazon Data Firehose 中的 Direct PUT 集成的 AWS 服务、代理以及开源服务的列表。此列表并非详尽无遗，可能还有其他服务可用于将数据直接发送到 Firehose。
     + AWS SDK
     + AWS Lambda
     + AWS CloudWatch Logs
     + AWS CloudWatch Events
     + AWS Cloud Metric Streams
     + AWS IoT
     + AWS Eventbridge
     + Amazon Simple Email Service
     + Amazon SNS
     + AWS WAF web ACL logs
     + Amazon API Gateway - 访问日志
     + Amazon Pinpoint
     + Amazon MSK 代理日志
     + Amazon Route 53 Resolver 查询日志
     + AWS Network Firewall 警报日志
     + AWS Network Firewall 流日志
     + Amazon ElastiCache Redis SLOWLOG
     + Kinesis Agent（linux）
     + Kinesis Tap（windows）
     + Flientbit
     + Fluentd
     + Apache Nifi
     + Snowflake
   + **Amazon Kinesis Data Streams**：选择此选项，以配置使用 Kinesis 数据流作为数据来源的 Firehose 流。然后，您可以使用 Firehose 从现有 Kinesis 数据流轻松读取数据，并将其加载到目的地。有关使用 Kinesis Data Streams 作为数据来源的更多信息，请参阅[使用 Kinesis Data Streams 将数据发送到 Firehose](writing-with-kinesis-streams.md)。
   + **Amazon MSK**：选择此选项，以配置使用 Amazon MSK 作为数据来源的 Firehose 流。然后，您可以使用 Firehose，从现有 Amazon MSK 集群轻松读取数据，并将其加载到指定的 S3 存储桶。有关更多信息，请参阅[使用 Amazon MSK 将数据发送到 Firehose 流](writing-with-msk.md)。

1. 从 Firehose 支持的以下目的地之一中为您的 Firehose 流选择一个目的地。
   + Amazon OpenSearch Service
   + Amazon OpenSearch 无服务器
   + Amazon Redshift
   + Amazon S3
   + Apache Iceberg 表
   + Coralogix
   + Datadog
   + Dynatrace
   + 弹性
   + HTTP 端点
   + Honeycomb
   + Logic Monitor
   + Logz.io
   + MongoDB Cloud
   + New Relic
   + Splunk
   + Splunk Observability Cloud
   + Sumo Logic
   + Snowflake

1. 对于 **Firehose 流名称**，您可以使用控制台为您生成的名称，也可以添加您选择的 Firehose 流。

# 配置源设置
<a name="configure-source"></a>

您可以根据您选择的来源配置源设置，以便从控制台向 Firehose 流发送信息。您可以将 Amazon MSK 和 Amazon Kinesis Data Streams 的源设置配置为来源。没有可用于 Direct PUT 的源设置作为源。

# 为 Amazon MSK 配置源设置
<a name="writing-with-msk"></a>

当您选择 Amazon MSK 将信息发送到 Firehose 流时，可以在 MSK 预置和 MSK 无服务器集群之间选择。然后，您可以使用 Firehose 从特定的 Amazon MSK 集群和主题轻松读取数据，并将其加载到指定的 S3 目的地。

在本页面的**源设置**部分，为以下字段提供值。

****Amazon MSK 集群连接****  
根据您的集群配置，选择**私有引导代理**（推荐）或**公有引导代理**选项。引导代理是 Apache Kafka 客户端用来连接集群的起点。公有引导代理用于从 AWS 外部公开访问，而私有引导代理用于从 AWS 内部访问。有关 Amazon MSK 的更多信息，请参阅 [Amazon Managed Streaming for Apache Kafka](https://docs.aws.amazon.com/msk/latest/developerguide/what-is-msk.html)。  
要通过私有引导代理连接到预置或无服务器 Amazon MSK 集群，该集群必须满足以下所有要求。  
+ 集群必须处于活动状态。
+ 集群必须将 IAM 作为其访问控制方法之一。
+ 必须为 IAM 访问控制方法启用多 VPC 私有连接。
+ 您必须向此集群添加基于资源的策略，该策略为 Firehose 服务主体授予调用 Amazon MSK `CreateVpcConnection` API 操作的权限。
要通过公有引导代理连接到预置 Amazon MSK 集群，该集群必须满足以下所有要求。  
+ 集群必须处于活动状态。
+ 集群必须将 IAM 作为其访问控制方法之一。
+ 集群必须可公开访问。

****MSK 集群账户****  
您可以选择 Amazon MSK 集群所在的账户。这可能是以下各项之一。  
+ **当前账户**：使您能够从当前 AWS 账户的 MSK 集群中摄取数据。为此，您必须指定 Firehose 流将从中读取数据的 Amazon MSK 集群 ARN。
+ **跨账户**：使您能够从另一个 AWS 账户的 MSK 集群中摄取数据。有关更多信息，请参阅 [Amazon MSK 的跨账户传输](controlling-access.md#cross-account-delivery-msk)。

****主题****  
指定您需要 Firehose 流从中摄取数据的 Apache Kafka 主题。Firehose 流创建完成后，您将无法更新此主题。  
Firehose 自动解压缩 Apache Kafka 消息。

# 配置 Amazon Kinesis Data Streams 的源设置
<a name="writing-with-kinesis-streams"></a>

配置 Amazon Kinesis Data Streams 的源设置以将信息如下所示发送到 Firehose 流。

**重要**  
如果使用 Kinesis Producer Library（KPL）将数据写入 Kinesis 数据流，则可以使用聚合来合并写入该 Kinesis 数据流的记录。如果随后将该数据流用作 Firehose 流的来源，Amazon Data Firehose 将在记录传送到目的地之前解聚。如果您配置 Firehose 流来转换数据，则 Amazon Data Firehose 在将记录传输到 AWS Lambda 之前，会先解聚记录。有关更多信息，请参阅[使用 Kinesis 创建者库开发 Amazon Kinesis Data Streams 创建者](https://docs.aws.amazon.com/streams/latest/dev/developing-producers-with-kpl.html)和[聚合](https://docs.aws.amazon.com/streams/latest/dev/kinesis-kpl-concepts.html#kinesis-kpl-concepts-aggretation)。

在**源设置**下，在 **Kinesis 数据流**列表中选择现有流，或者输入格式为 `arn:aws:kinesis:[Region]:[AccountId]:stream/[StreamName]` 的数据流 ARN。

如果您没有现有的数据流，则请选择**创建**，以从 Amazon Kinesis 控制台创建一个新的数据流。您可能需要一个对 Kinesis 流具有必要权限的 IAM 角色。有关更多信息，请参阅 [授予 Firehose 访问 Amazon S3 目的地的权限](controlling-access.md#using-iam-s3)。创建新流后，选择“刷新”图标，以更新 **Kinesis 流**列表。如果您有大量的流，可使用 **Filter by name** 筛选列表。

**注意**  
将 Kinesis 数据流配置为 Firehose 流的源时，Amazon Data Firehose `PutRecord` 和 `PutRecordBatch` 操作将被禁用。在这种情况下，要将数据添加到 Firehose 流，请使用 Kinesis Data Streams `PutRecord` 和 `PutRecords` 操作。

Amazon Data Firehose 开始从 Kinesis 流的 `LATEST` 位置读取数据。有关 Kinesis Data Streams 位置的更多信息，请参阅 [GetShardIterator](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html)。

 Amazon Data Firehose 每秒为每个分片调用一次 Kinesis Data Streams [GetRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html) 操作。但是，启用完整备份后，Firehose 会每秒对每个分片调用 Kinesis Data Streams `GetRecords` 操作两次，一次用于主传输目的地，另一次用于完整备份。

可从同一个 Kinesis 流中读取多个 Firehose 流。其他 Kinesis 应用程序（使用者）也可以从同一个流中读取。来自任何 Firehose 流或其他消费端应用程序的所有调用都会计入该分区的总体限制。为了避免受限，请小心计划您的应用程序。有关 Kinesis Data Streams 限制的更多信息，请参阅 [Amazon Kinesis Streams 限制](https://docs.aws.amazon.com/streams/latest/dev/service-sizes-and-limits.html)。

继续执行下一步，以配置记录转换和格式转换。

# （可选）配置记录转换和格式转换
<a name="create-transform"></a>

配置 Amazon Data Firehose 以转换记录数据。

## 如果您选择 Amazon MSK 作为 Firehose 流的来源。
<a name="create-transform-msk"></a>

**在 “**使用 AWS Lambda 转换源记录**” 部分中，为以下字段提供值。**

1.   
**数据转换**  
要创建不转换传入数据的 Firehose 流，请不要选中**启用数据转换**复选框。  
要为 Firehose 指定 Lambda 函数，以便在传输传入数据之前调用并使用该函数转换传入数据，请选中**启用数据转换**复选框。您可以使用其中一个 Lambda 蓝图配置新的 Lambda 函数，也可以选择现有的 Lambda 函数。Lambda 函数必须包含 Firehose 所需的状态模型。有关更多信息，请参阅 [在 Amazon Data Firehose 中转换源数据](data-transformation.md)。

1. 在 **Convert record format (转换记录格式)** 部分，为以下字段提供值：  
**Record format conversion (记录格式转换)**  
要创建不转换传入数据记录格式的 Firehose 流，请选择**禁用**。  
要转换传入记录的格式，选择 **Enabled (启用)**，然后指定所需的输出格式。您需要指定一个 AWS Glue 表，其中包含您希望 Firehose 用来转换记录格式的架构。有关更多信息，请参阅 [在 Amazon Data Firehose 中转换输入数据格式](record-format-conversion.md)。  
有关如何使用设置记录格式转换的示例 CloudFormation，请参阅[AWS::KinesisFirehose:: DeliveryStream](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#aws-resource-kinesisfirehose-deliverystream--examples)。

## 如果您选择 Amazon Kinesis Data Streams 或 Direct PUT 作为 Firehose 流的来源
<a name="create-transform-directput"></a>

 

**在**源设置**部分中，提供以下字段。**

1. 在**转换记录**下，选择以下选项之一：

   1. 如果您的目标是 Amazon S3 或 Splunk，请在 “**解压缩源记录 Amazon CloudWatch 日志**” 部分，选择 “**开启**解压缩”。

   1. 在 “**使用 AWS Lambda 转换源记录**” 部分中，为以下字段提供值：  
**数据转换**  
要创建不转换传入数据的 Firehose 流，请不要选中**启用数据转换**复选框。  
要为 Amazon Data Firehose 指定 Lambda 函数，以便在传输传入数据之前调用并使用该函数转换传入数据，请选中**启用数据转换**复选框。您可以使用其中一个 Lambda 蓝图配置新的 Lambda 函数，也可以选择现有的 Lambda 函数。Lambda 函数必须包含 Amazon Data Firehose 所需的状态模型。有关更多信息，请参阅 [在 Amazon Data Firehose 中转换源数据](data-transformation.md)。

1. 在 **Convert record format (转换记录格式)** 部分，为以下字段提供值：  
**Record format conversion (记录格式转换)**  
要创建不转换传入数据记录格式的 Firehose 流，请选择**禁用**。  
要转换传入记录的格式，选择 **Enabled (启用)**，然后指定所需的输出格式。您需要指定一个 AWS Glue 表，其中包含您希望 Amazon Data Firehose 用来转换记录格式的架构。有关更多信息，请参阅 [在 Amazon Data Firehose 中转换输入数据格式](record-format-conversion.md)。  
有关如何使用设置记录格式转换的示例 CloudFormation，请参阅[AWS::KinesisFirehose:: DeliveryStream](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#aws-resource-kinesisfirehose-deliverystream--examples)。

# 配置目的地设置
<a name="create-destination"></a>

本节介绍了您必须根据所选目的地设置为 Firehose 流配置的设置。

**Topics**
+ [为 Amazon S3 配置目的地设置](#create-destination-s3)
+ [配置 Apache Iceberg 表的目的地设置](#create-destination-iceberg)
+ [为 Amazon Redshift 配置目的地设置](#create-destination-redshift)
+ [配置 OpenSearch 服务的目标设置](#create-destination-elasticsearch)
+ [为 OpenSearch 无服务器配置目标设置](#create-destination-opensearch-serverless)
+ [配置 HTTP 端点的目的地设置](#create-destination-http)
+ [为 Datadog 配置目的地设置](#create-destination-datadog)
+ [为 Honeycomb 配置目的地设置](#create-destination-honeycomb)
+ [为 Coralogix 配置目的地设置](#create-destination-coralogix)
+ [为 Dynatrace 配置目的地设置](#create-destination-dynatrace)
+ [配置目标设置 LogicMonitor](#create-destination-logicmonitor)
+ [为 Logz.io 配置目的地设置](#create-destination-logz)
+ [为 MongoDB Atlas 配置目的地设置](#create-destination-mongodb)
+ [为 New Relic 配置目的地设置](#create-destination-new-relic)
+ [为 Snowflake 配置目的地设置](#create-destination-snowflake)
+ [为 Splunk 配置目的地设置](#create-destination-splunk)
+ [为 Splunk Observability Cloud 配置目的地设置](#create-destination-splunk-cloud)
+ [为 Sumo Logic 配置目的地设置](#create-destination-sumo-logic)
+ [为 Elastic 配置目的地设置](#create-destination-elastic)

## 为 Amazon S3 配置目的地设置
<a name="create-destination-s3"></a>

您必须指定以下设置，才能使用 Amazon S3 作为 Firehose 流的目的地。

****
+ 输入以下字段的值。  
 **S3 存储桶**   
请选择一个您拥有的用于接收流数据的 S3 存储桶。您可以创建一个新 S3 存储桶或选择现有的 S3 存储桶。  
 **新行分隔符**   
您可以配置 Firehose 流，在传输到 Amazon S3 的对象的记录之间添加新行分隔符。为此，请选择**启用**。若不在传输到 Amazon S3 的对象中的记录之间添加新行分隔符，请选择**禁用**。如果您计划使用 Athena 来查询包含聚合记录的 S3 对象，则请启用此选项。  
 **动态分区**   
选择**启用**以启用和配置动态分区。  
 **多记录解聚**   
多记录解聚是解析 Firehose 流中的记录，并根据有效的 JSON 或指定的换行符分隔记录的过程。  
如果您将多个事件、日志或记录聚合到单个 PutRecord 和 PutRecordBatch API 调用中，则仍然可以启用和配置动态分区。对于聚合数据，启用动态分区时，Amazon Data Firehose 会解析记录，并在每次 API 调用中查找多个有效的 JSON 对象。将 Firehose 流配置为使用 Kinesis Data Stream 作为源时，您还可以使用 Kinesis Producer Library（KPL）中的内置聚合。数据分区功能在数据解聚后执行。因此，每次 API 调用中的每条记录都可以传输到不同的 Amazon S3 前缀。您还可以利用 Lambda 函数集成，在数据分区功能之前执行任何其他解聚或转换。  
如果数据是聚合的，则只有在执行数据解聚后才能应用动态分区。因此，如果您对聚合数据启用动态分区，则必须选择**启用**才能启用多记录解聚。
Firehose 流按以下顺序执行处理步骤：KPL（protobuf）解聚、JSON 或分隔符解聚、Lambda 处理、数据分区、数据格式转换和 Amazon S3 传输。  
 **多记录解聚类型**   
如果您启用了多记录解聚，则必须指定 Firehose 解聚数据的方法。使用下拉菜单选择 **JSON** 或**分隔**。  
 **内联解析**   
内联解析是一种受支持的机制，可以对发往 Amazon S3 的数据进行动态分区。要使用内联解析对数据进行动态分区，则必须指定要用作分区键的数据记录参数，并为每个指定的分区键提供一个值。选择**启用**以启用和配置内联解析。  
如果您在上述步骤中指定了 AWS Lambda 函数来转换源记录，则可以使用此函数对绑定到 S3 的数据进行动态分区，并且仍然可以通过内联解析创建分区密钥。通过动态分区，您可以使用内联解析或 Lambd AWS a 函数来创建分区密钥。或者，您可以同时使用内联解析和 Lamb AWS da 函数来创建分区密钥。  
 **动态分区键**   
您可以使用**键**和**值**字段指定用作动态分区键的数据记录参数，并使用 jq 查询生成动态分区键值。Firehose 仅支持 jq 1.6。您最多可以指定 50 个动态分区键。您必须为动态分区键值输入有效的 jq 表达式，才能成功为 Firehose 流配置动态分区。  
 **S3 存储桶前缀**   
启用和配置动态分区后，必须指定 S3 存储桶前缀，Amazon Data Firehose 要向该存储桶传输分区数据。  
为了正确配置动态分区，S3 存储桶前缀的数量必须与指定分区键的数量相同。  
 您可以使用内联解析或指定的 Lambd AWS a 函数对源数据进行分区。如果您指定了 AWS Lambda 函数来为源数据创建分区密钥，则必须使用以下格式手动键入 S3 存储桶前缀值：“Lambda: keyID” partitionKeyFrom。如果您使用内联解析为源数据指定分区密钥，则可以使用以下格式手动键入 S3 存储桶预览值：“partitionKeyFromquery: keyID”，也可以选择**应用动态分区密钥按钮使用动态分区** key/value 对自动生成 S3 存储桶前缀。在使用内联解析或 Lambda AWS 对数据进行分区时，您还可以在您的 S3 存储桶前缀中使用以下表达式形式：\$1 \$1namespace: value\$1，其中命名空间可以是 Query partitionKeyFrom 或 Lambda。 partitionKeyFrom  
 **S3 存储桶和 S3 错误输出前缀时区**   
在 [Amazon S3 对象的自定义前缀](s3-prefixes.md)中选择要用作日期和时间的时区。默认情况下，Firehose 会添加以 UTC 为单位的时间前缀。如果您想使用不同的时区，则可以更改 S3 前缀中使用的时区。  
 **缓冲提示**   
Data Firehose 在将传入数据传输到指定的目的地之前会进行缓冲。目标位置的建议缓冲区大小因服务提供商而异。  
 **S3 压缩**   
选择 GZIP、Snappy、Zip 或 Hadoop 兼容的 Snappy 数据压缩，或者不压缩数据。Snappy、Zip 和 Hadoop 兼容的 Snappy 压缩，不适用于以 Amazon Redshift 作为目的地的 Firehose 流。  
**S3 文件扩展名格式（可选）**  
为传输到 Amazon S3 目标存储桶的对象指定文件扩展名格式。如果启用此功能，则指定的文件扩展名将覆盖数据格式转换或 S3 压缩功能（例如 .parquet 或 .gz）附加的默认文件扩展名。在将此功能与数据格式转换或 S3 压缩配合使用时，请确保您配置了正确的文件扩展名。文件扩展名必须以句点（.）开头，并且可以包含允许的字符：0-9a-z\$1-\$1.\$1‘()。文件扩展名不能超过 128 个字符。  
**S3 加密**  
Firehose 支持使用 AWS Key Management Service (SSE-KMS) 的 Amazon S3 服务器端加密，用于加密亚马逊 S3 中交付的数据。您可以选择使用目标 S3 存储桶中指定的默认加密类型，也可以选择使用您拥有的 AWS KMS 密钥列表中的密钥进行加密。如果您使用密钥加密数据，则可以使用默认 AWS 托管 AWS KMS 密钥 (aws/s3) 或客户托管密钥。有关更多信息，请参阅[使用 AWS KMS 托管密钥的服务器端加密 (SSE-KMS) 保护数据](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)。

## 配置 Apache Iceberg 表的目的地设置
<a name="create-destination-iceberg"></a>

除[AWS 区域](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html?icmpid=docs_homepage_addtlrcs#region)中国地区、亚太地区（台北）、亚太地区（马来西亚）、亚太地区（新西兰）和墨西哥（中部）外 AWS GovCloud (US) Regions，Firehose 支持将 Apache Iceberg Tables 作为目的地。

有关将 Apache Iceberg 表作为目的地的更多信息，请参阅[使用 Amazon Data Firehose 将数据传输到 Apache Iceberg 表](apache-iceberg-destination.md)。

## 为 Amazon Redshift 配置目的地设置
<a name="create-destination-redshift"></a>

本节介绍使用 Amazon Redshift 作为 Firehose 流目的地的设置。

根据您是否拥有 Amazon Redshift 预置集群或 Amazon Redshift Serverless 工作组，选择以下任一过程。
+ [Amazon Redshift 预置集群](#create-destination-redshift-provisioned)
+ [为 Amazon Redshift Serverless 工作组配置目的地设置](#create-destination-redshift-serverless)
**注意**  
Firehose 无法写入使用增强型 VPC 路由的 Amazon Redshift 集群。

### Amazon Redshift 预置集群
<a name="create-destination-redshift-provisioned"></a>

本节介绍使用 Amazon Redshift 预置集群作为 Firehose 流目的地的设置。

****
+ 输入以下字段的值：  
 **集群**   
Amazon Redshift 集群，S3 存储桶数据将复制到该集群。将 Amazon Redshift 集群配置为可公开访问，并取消阻止 Amazon Data Firehose IP 地址。有关更多信息，请参阅 [授予 Firehose 对 Amazon Redshift 目的地的访问权限](controlling-access.md#using-iam-rs)。  
 **身份验证**   
您可以选择 username/password 直接输入，也可以从中检索密钥 AWS Secrets Manager 以访问 Amazon Redshift 集群。  
  + **用户名**

    指定有权访问 Amazon Redshift 集群的 Amazon Redshift 用户。该用户必须具有 Amazon Redshift `INSERT` 权限才能将数据从 S3 存储桶复制到 Amazon Redshift 集群。
  + **密码** 

    指定有权访问集群的用户的密码。
  + **密钥**

    从中 AWS Secrets Manager 选择一个包含 Amazon Redshift 集群凭证的密钥。如果在下拉列表中未看到您的密钥，则请在 AWS Secrets Manager 中为您的 Amazon Redshift 凭证创建一个。有关更多信息，请参阅 [AWS Secrets Manager 在 Amazon Data Firehose 中进行身份验证](using-secrets-manager.md)。  
 **数据库**   
Amazon Redshift 数据库，数据将复制到该数据库。  
 **表**   
Amazon Redshift 表，数据将复制到该表。  
 **列**   
（可选）表的特定列，数据将复制到该特定列。如果 Amazon S3 对象中定义的列数少于 Amazon Redshift 表中的列数，请使用此选项。  
 **中间 S3 目标**   <a name="redshift-s3-bucket"></a>
Firehose 会先将数据传输到 S3 存储桶，然后发出 Amazon Redshift **COPY** 命令将数据加载到 Amazon Redshift 集群。请指定一个您拥有的用于接收流数据的 S3 存储桶。创建新的 S3 存储桶或选择您当前拥有的存储桶。  
将数据加载到 Amazon Redshift 集群后，Firehose 不会将数据从 S3 存储桶中删除。您可以使用生命周期配置管理 S3 存储桶中的数据。有关更多信息，请参阅《Amazon Simple Storage Service 用户指南》**中的[对象生命周期管理](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)。  
 **中间 S3 存储桶前缀**   
（可选）要对 Amazon S3 对象使用默认前缀，请将此选项留空。Firehose 会自动对传输的 Amazon S3 对象使用“`YYYY/MM/dd/HH`”UTC 时间格式的前缀。您可以将此前缀添加到开头。有关更多信息，请参阅 [配置 Amazon S3 对象名称格式](s3-object-name.md)。  
 **COPY options**   <a name="redshift-copy-parameters"></a>
您可以在 Amazon Redshift **COPY** 命令中指定的参数。您可以根据自己的配置情况酌情使用这些参数。例如，如果启用了 Amazon S3 数据压缩，则必须使用 `GZIP` “”。 如果您的 S3 存储桶与您的 Amazon Redshift 集群不在同一个 AWS 区域，则必须填写 “`REGION`”。有关更多信息，请参阅*《Amazon Redshift 数据库开发人员指南》*中的 [COPY](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html)。  
 **COPY command**   <a name="redshift-copy-command"></a>
Amazon Redshift **COPY** 命令。有关更多信息，请参阅*《Amazon Redshift 数据库开发人员指南》*中的 [COPY](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html)。  
 **Retry duration**   
如果将数据 **COPY** 到 Amazon Redshift 集群失败，Firehose 重试的持续时间（0-7200 秒）。Firehose 每 5 分钟重试一次，直到重试持续时间结束。如果将重试持续时间设置为 0（零）秒，Firehose 在 **COPY** 命令失败时不会重试。  
 **缓冲提示**   
Data Firehose 在将传入数据传输到指定的目的地之前会进行缓冲。目标位置的建议缓冲区大小因服务提供商而异。  
 **S3 压缩**   
选择 GZIP、Snappy、Zip 或 Hadoop 兼容的 Snappy 数据压缩，或者不压缩数据。Snappy、Zip 和 Hadoop 兼容的 Snappy 压缩，不适用于以 Amazon Redshift 作为目的地的 Firehose 流。  
**S3 文件扩展名格式（可选）**  
S3 文件扩展名格式（可选）：为传输到 Amazon S3 目标存储桶的对象指定文件扩展名格式。如果启用此功能，则指定的文件扩展名将覆盖数据格式转换或 S3 压缩功能（例如 .parquet 或 .gz）附加的默认文件扩展名。在将此功能与数据格式转换或 S3 压缩配合使用时，请确保您配置了正确的文件扩展名。文件扩展名必须以句点（.）开头，并且可以包含允许的字符：0-9a-z\$1-\$1.\$1‘()。文件扩展名不能超过 128 个字符。  
**S3 加密**  
Firehose 支持使用 AWS Key Management Service (SSE-KMS) 的 Amazon S3 服务器端加密，用于加密亚马逊 S3 中交付的数据。您可以选择使用目标 S3 存储桶中指定的默认加密类型，也可以选择使用您拥有的 AWS KMS 密钥列表中的密钥进行加密。如果您使用密钥加密数据，则可以使用默认 AWS 托管 AWS KMS 密钥 (aws/s3) 或客户托管密钥。有关更多信息，请参阅[使用 AWS KMS 托管密钥的服务器端加密 (SSE-KMS) 保护数据](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)。

### 为 Amazon Redshift Serverless 工作组配置目的地设置
<a name="create-destination-redshift-serverless"></a>

本节介绍使用 Amazon Redshift Serverless 工作组作为 Firehose 流目的地的设置。

****
+ 输入以下字段的值：  
 **Workgroup name (工作组名称)**   
Amazon Redshift Serverless 工作组，S3 存储桶数据将复制到该工作组。将 Amazon Redshift Serverless 工作组配置为可公开访问，并取消阻止 Firehose IP 地址。有关更多信息，请参阅[连接到 Amazon Redshift Serverless](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-connecting.html) 中的“连接到可公开访问的 Amazon Redshift Serverless 实例”部分，以及“[授予 Firehose 对 Amazon Redshift 目的地的访问权限](controlling-access.md#using-iam-rs)”。  
 **身份验证**   
您可以选择 username/password 直接输入，也可以从中检索密钥 AWS Secrets Manager 以访问 Amazon Redshift Serverless 工作组。  
  + **用户名**

    指定有权访问 Amazon Redshift Serverless 工作组的 Amazon Redshift 用户。该用户必须具有 Amazon Redshift `INSERT` 权限才能将数据从 S3 存储桶复制到 Amazon Redshift Serverless 工作组。
  + **密码** 

    指定有权访问 Amazon Redshift Serverless 工作组的用户的密码。
  + **密钥**

    从中 AWS Secrets Manager 选择一个包含 Amazon Redshift 无服务器工作组凭证的密钥。如果在下拉列表中未看到您的密钥，则请在 AWS Secrets Manager 中为您的 Amazon Redshift 凭证创建一个。有关更多信息，请参阅 [AWS Secrets Manager 在 Amazon Data Firehose 中进行身份验证](using-secrets-manager.md)。  
 **数据库**   
Amazon Redshift 数据库，数据将复制到该数据库。  
 **表**   
Amazon Redshift 表，数据将复制到该表。  
 **列**   
（可选）表的特定列，数据将复制到该特定列。如果 Amazon S3 对象中定义的列数少于 Amazon Redshift 表中的列数，请使用此选项。  
 **中间 S3 目标**   <a name="redshift-s3-bucket"></a>
Amazon Data Firehose 会先将数据传输到 S3 存储桶，然后发出 Amazon Redshift **COPY** 命令，将数据加载到 Amazon Redshift Serverless 工作组。请指定一个您拥有的用于接收流数据的 S3 存储桶。创建新的 S3 存储桶或选择您当前拥有的存储桶。  
将数据加载到 Amazon Redshift Serverless 工作组后，Firehose 不会从 S3 存储桶中删除数据。您可以使用生命周期配置管理 S3 存储桶中的数据。有关更多信息，请参阅《Amazon Simple Storage Service 用户指南》**中的[对象生命周期管理](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)。  
 **中间 S3 存储桶前缀**   
（可选）要对 Amazon S3 对象使用默认前缀，请将此选项留空。Firehose 会自动对传输的 Amazon S3 对象使用“`YYYY/MM/dd/HH`”UTC 时间格式的前缀。您可以将此前缀添加到开头。有关更多信息，请参阅 [配置 Amazon S3 对象名称格式](s3-object-name.md)。  
 **COPY options**   <a name="redshift-copy-parameters"></a>
您可以在 Amazon Redshift **COPY** 命令中指定的参数。您可以根据自己的配置情况酌情使用这些参数。例如，如果启用了 Amazon S3 数据压缩，则必须使用 `GZIP` “”。 如果您的 S3 存储桶与您的 Amazon Redshift Serverless 工作组不在同一个 AWS 区域，则必须填写 “`REGION`”。有关更多信息，请参阅*《Amazon Redshift 数据库开发人员指南》*中的 [COPY](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html)。  
 **COPY command**   <a name="redshift-copy-command"></a>
Amazon Redshift **COPY** 命令。有关更多信息，请参阅*《Amazon Redshift 数据库开发人员指南》*中的 [COPY](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html)。  
 **Retry duration**   
如果将数据 **COPY** 到 Amazon Redshift Serverless 工作组失败，Firehose 重试的持续时间（0-7200 秒）。Firehose 每 5 分钟重试一次，直到重试持续时间结束。如果将重试持续时间设置为 0（零）秒，Firehose 在 **COPY** 命令失败时不会重试。  
 **缓冲提示**   
Data Firehose 在将传入数据传输到指定的目的地之前会进行缓冲。目标位置的建议缓冲区大小因服务提供商而异。  
 **S3 压缩**   
选择 GZIP、Snappy、Zip 或 Hadoop 兼容的 Snappy 数据压缩，或者不压缩数据。Snappy、Zip 和 Hadoop 兼容的 Snappy 压缩，不适用于以 Amazon Redshift 作为目的地的 Firehose 流。  
**S3 文件扩展名格式（可选）**  
S3 文件扩展名格式（可选）：为传输到 Amazon S3 目标存储桶的对象指定文件扩展名格式。如果启用此功能，则指定的文件扩展名将覆盖数据格式转换或 S3 压缩功能（例如 .parquet 或 .gz）附加的默认文件扩展名。在将此功能与数据格式转换或 S3 压缩配合使用时，请确保您配置了正确的文件扩展名。文件扩展名必须以句点（.）开头，并且可以包含允许的字符：0-9a-z\$1-\$1.\$1‘()。文件扩展名不能超过 128 个字符。  
**S3 加密**  
Firehose 支持使用 AWS Key Management Service (SSE-KMS) 的 Amazon S3 服务器端加密，用于加密亚马逊 S3 中交付的数据。您可以选择使用目标 S3 存储桶中指定的默认加密类型，也可以选择使用您拥有的 AWS KMS 密钥列表中的密钥进行加密。如果您使用密钥加密数据，则可以使用默认 AWS 托管 AWS KMS 密钥 (aws/s3) 或客户托管密钥。有关更多信息，请参阅[使用 AWS KMS 托管密钥的服务器端加密 (SSE-KMS) 保护数据](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)。

## 配置 OpenSearch 服务的目标设置
<a name="create-destination-elasticsearch"></a>

Firehose 支持 Elasticsearch 版本 1.5、2.3、5.1、5.3、5.5、5.6 以及所有的 6.\$1、7.\$1 和 8.\$1 版本。Firehose 支持亚马逊 OpenSearch 服务 2.x 和 3.x。

本节介绍在目的地使用 OpenSearch 服务的选项。

****
+ 输入以下字段的值：  
** **OpenSearch 服务域** **  
您的数据传输到的 OpenSearch 服务域。  
** **索引** **  
将数据索引到 OpenSearch 服务集群时使用的 OpenSearch 服务索引名称。  
** **Index rotation** **  
选择是否轮换 OpenSearch 服务索引以及轮换频率。如果启用了索引轮换，Amazon Data Firehose 会将相应的时间戳附加到指定的索引名称，并进行轮换。有关更多信息，请参阅 [为 OpenSearch 服务配置索引轮换](es-index-rotation.md)。  
** **Type** **  
将数据索引到 OpenSearch 服务集群时使用的 OpenSearch 服务类型名称。对于 Elasticsearch 7. OpenSearch x 和 1.x，每个索引只能有一个类型。如果您尝试为已具有其他类型的现有索引指定新类型，Firehose 会在运行时返回错误。  
对于 Elasticsearch 7.x，请将此字段留空。  
** **Retry duration** **  
Firehose 在索引请求失败时重试的持续时间。 OpenSearch 对于重试持续时间，您可以设置介于 0-7200 秒之间的任何值。默认重试持续时间是 300 秒。Firehose 将采用指数回退重试多次，直到重试持续时间到期为止。  
重试持续时间到期后，Firehose 会将数据传输到死信队列（DLQ），这是配置的 S3 错误存储桶。对于传送到 DLQ 的数据，您必须将数据从配置的 S3 错误存储桶重新传回目的地。 OpenSearch   
如果您想因 OpenSearch 集群停机或维护而阻止 Firehose stream 向 DLQ 传输数据，则可以将重试持续时间配置为更高的值（以秒为单位）。您可以联系 [AWS 支持人员](https://aws.amazon.com/contact-us/)，将上述重试持续时间值增加到 7200 秒。  
** **DocumentID 类型** **  
指示设置文档 ID 的方法。支持的方法有 Firehose 生成的文档 ID 和 OpenSearch 服务生成的文档 ID。未设置文档 ID 值时，Firehose 生成的文档 ID 是默认选项。 OpenSearch 推荐使用服务生成的文档 ID，因为它支持写入密集型操作，包括日志分析和可观察性，在 OpenSearch 服务域中消耗更少的 CPU 资源，从而提高性能。  
** **目标 VPC 连接** **  
如果您的 OpenSearch 服务域位于私有 VPC 中，请使用此部分指定该 VPC。还要指定您希望 Amazon Data Firehose 在向您的服务域发送数据时使用的子网和子组。 OpenSearch 您可以使用与 OpenSearch 服务域相同的安全组。如果您指定不同的安全组，请确保它们允许 OpenSearch 服务域安全组的出站 HTTPS 流量。此外，请确保 OpenSearch 服务域的安全组允许来自您在配置 Firehose 直播时指定的安全组的 HTTPS 流量。如果您对 Firehose 直播和 OpenSearch 服务域使用同一个安全组，请确保安全组的入站规则允许 HTTPS 流量。有关安全组规则的更多信息，请参阅 Amazon VPC 文档中的[安全组规则](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#SecurityGroupRules)。  
在私有 VPC 中指定将数据传输到目的地的子网时，请确保所选子网中有足够数量的免费 IP 地址。如果指定子网中没有可用的免费 IP 地址，Firehose 将无法在私有 VPC 中创建或添加 ENIs 数据传输，并且传输将降级或失败。  
**缓冲区提示**  
Amazon Data Firehose 在将传入数据传输到指定的目的地之前会进行缓冲。目标位置的建议缓冲区大小因服务提供商而异。

## 为 OpenSearch 无服务器配置目标设置
<a name="create-destination-opensearch-serverless"></a>

本节介绍在目的地使用 OpenSearch 无服务器的选项。

****
+ 输入以下字段的值：  
** **OpenSearch 无服务器集合** **  
数据传输到的一组 OpenSearch 无服务器索引的终端节点。  
** **索引** **  
将数据索引到 OpenSearch 无服务器集合时使用的 OpenSearch 无服务器索引名称。  
** **目标 VPC 连接** **  
如果您的 OpenSearch 无服务器集合位于私有 VPC 中，请使用此部分指定该 VPC。还要指定您希望 Amazon Data Firehose 在向您的无服务器集合发送数据时使用的子网和子组。 OpenSearch   
在私有 VPC 中指定将数据传输到目的地的子网时，请确保所选子网中有足够数量的免费 IP 地址。如果指定子网中没有可用的免费 IP 地址，Firehose 将无法在私有 VPC 中创建或添加 ENIs 数据传输，并且传输将降级或失败。  
** **Retry duration** **  
如果向 Serverless 发出的索引请求失败，Firehose 重试的持续时间。 OpenSearch 对于重试持续时间，您可以设置介于 0-7200 秒之间的任何值。默认重试持续时间是 300 秒。Firehose 将采用指数回退重试多次，直到重试持续时间到期为止。  
重试持续时间到期后，Firehose 会将数据传输到死信队列（DLQ），这是配置的 S3 错误存储桶。对于传输到 DLQ 的数据，您必须将数据从配置的 S3 错误存储桶重新驱动回 OpenSearch 无服务器目标。  
如果由于 OpenSearch 无服务器集群的停机或维护而想要阻止 Firehose stream 向 DLQ 传输数据，则可以将重试持续时间配置为更高的值（以秒为单位）。您可以联系 [AWS 支持人员](https://aws.amazon.com/contact-us/)，将上述重试持续时间值增加到 7200 秒。  
**缓冲区提示**  
Amazon Data Firehose 在将传入数据传输到指定的目的地之前会进行缓冲。目标位置的建议缓冲区大小因服务提供商而异。

## 配置 HTTP 端点的目的地设置
<a name="create-destination-http"></a>

本节介绍了使用 **HTTP 端点**作为目标的选项。

**重要**  
如果您选择 HTTP 端点作为目标，请查看并按照 [了解 HTTP 端点传输请求和响应规范](httpdeliveryrequestresponse.md) 中的说明进行操作。

****
+ 提供下列字段的值：  
 **HTTP 端点名称（可选）**   
为 HTTP 端点指定一个用户友好的名称。例如 `My HTTP Endpoint Destination`。  
 **HTTP 端点 URL**   
按以下格式指定 HTTP 端点的 URL：`https://xyz.httpendpoint.com`。URL 必须是 HTTPS URL。  
 **身份验证**   
您可以选择直接输入访问密钥，也可以从中检索密钥 AWS Secrets Manager 以访问 HTTP 端点。  
  + **（可选）访问密钥** 

    如果您需要获取访问密钥，以便从 Firehose 向其端点传输数据，请联系端点所有者。
  + **密钥**

    从中选择一个包 AWS Secrets Manager 含 HTTP 端点访问密钥的密钥。如果您在下拉列表中看不到您的密钥，请在中 AWS Secrets Manager 为访问密钥创建一个密钥。有关更多信息，请参阅 [AWS Secrets Manager 在 Amazon Data Firehose 中进行身份验证](using-secrets-manager.md)。  
 **内容编码**   
Amazon Data Firehose 使用内容编码来压缩请求的正文，然后再将请求发送到目的地。对请求的 enable/disable 内容编码选择 **GZIP** 或 “**禁用**”。  
 **Retry duration**   
指定 Amazon Data Firehose 重试将数据发送到所选 HTTP 端点的时长。  
发送数据后，Amazon Data Firehose 先等待 HTTP 端点的确认。如果出现错误或未在确认超时期限内收到确认，Amazon Data Firehose 将启动重试持续时间计数器。它将不断重试，直到重试持续时间到期为止。重试持续时间到期后，Amazon Data Firehose 将这种情况视为数据传输失败，并将数据备份到 Amazon S3 存储桶。  
每次 Amazon Data Firehose 向 HTTP 端点发送数据（初始尝试或重试）时，都会重新启动确认超时计数器并等待 HTTP 端点的确认。  
即使重试持续时间已过，Amazon Data Firehose 仍会等待确认，直到收到确认或达到确认超时期限。如果确认超时，Amazon Data Firehose 会确定重试计数器是否还有剩余时间。如果有剩余时间，它将再次重试并重复该逻辑，直到收到确认或确定重试时间已到期。  
如果不希望 Amazon Data Firehose 重试发送数据，请将此值设置为 0。  
 **参数（可选）**   
Amazon Data Firehose 在每次 HTTP 调用中都包含这些键值对。这些参数可以帮助您识别和组织目的地。  
 **缓冲提示**   
Amazon Data Firehose 在将传入数据传输到指定的目的地之前会进行缓冲。目标位置的建议缓冲区大小因服务提供商而异。  
对于 HTTP 终端节点目标，如果您在 “ CloudWatch 日志” 中看到来自目标端点的 413 个响应代码，请降低 Firehose 流上的缓冲提示大小，然后重试。

## 为 Datadog 配置目的地设置
<a name="create-destination-datadog"></a>

本节介绍了使用 **Datadog** 作为目标的选项。[有关 Datadog 的更多信息，请参阅 https://docs.datadoghq.com/integrations/ amazon\$1web\$1services/。](https://docs.datadoghq.com/integrations/amazon_web_services/)

****
+ 提供下列字段的值。  
 **HTTP 端点 URL**   
从下拉菜单中的以下选项之一选择要从中发送数据的位置。  
  + **Datadog 日志- US1**
  + **Datadog 日志- US3**
  + **Datadog 日志- US5**
  + **Datadog 日志- AP1**
  + **Datadog 日志 - EU**
  + **Datadog 日志 - GOV**
  + **Datadog 指标 - US**
  + **Datadog 指标- US5**
  + **Datadog 指标- AP1**
  + **Datadog 指标 - EU**
  + **Datadog 配置- US1**
  + **Datadog 配置- US3**
  + **Datadog 配置- US5**
  + **Datadog 配置- AP1**
  + **Datadog 配置 - EU**
  + **Datadog 配置 - US GOV**  
 **身份验证**   
你可以选择直接输入 API 密钥，也可以从中检索密钥 AWS Secrets Manager 来访问 Datadog。  
  + **API 密钥** 

    联系 Datadog 以获取您从 Firehose 向此端点传输数据所需的 API 密钥。
  + **密钥**

    从中选择一个包 AWS Secrets Manager 含 Datadog API 密钥的密钥。如果在下拉列表中未看到您的密钥，则请在 AWS Secrets Manager中创建一个。有关更多信息，请参阅 [AWS Secrets Manager 在 Amazon Data Firehose 中进行身份验证](using-secrets-manager.md)。  
 **内容编码**   
Amazon Data Firehose 使用内容编码来压缩请求的正文，然后再将请求发送到目的地。对请求的 enable/disable 内容编码选择 **GZIP** 或 “**禁用**”。  
 **Retry duration**   
指定 Amazon Data Firehose 重试将数据发送到所选 HTTP 端点的时长。  
发送数据后，Amazon Data Firehose 先等待 HTTP 端点的确认。如果出现错误或未在确认超时期限内收到确认，Amazon Data Firehose 将启动重试持续时间计数器。它将不断重试，直到重试持续时间到期为止。重试持续时间到期后，Amazon Data Firehose 将这种情况视为数据传输失败，并将数据备份到 Amazon S3 存储桶。  
每次 Amazon Data Firehose 向 HTTP 端点发送数据（初始尝试或重试）时，都会重新启动确认超时计数器并等待 HTTP 端点的确认。  
即使重试持续时间已过，Amazon Data Firehose 仍会等待确认，直到收到确认或达到确认超时期限。如果确认超时，Amazon Data Firehose 会确定重试计数器是否还有剩余时间。如果有剩余时间，它将再次重试并重复该逻辑，直到收到确认或确定重试时间已到期。  
如果不希望 Amazon Data Firehose 重试发送数据，请将此值设置为 0。  
 **参数（可选）**   
Amazon Data Firehose 在每次 HTTP 调用中都包含这些键值对。这些参数可以帮助您识别和组织目的地。  
 **缓冲提示**   
Amazon Data Firehose 在将传入数据传输到指定的目的地之前会进行缓冲。目标位置的建议缓冲区大小因服务提供商而异。

## 为 Honeycomb 配置目的地设置
<a name="create-destination-honeycomb"></a>

本节介绍了使用 **Honeycomb** 作为目标的选项。有关 Honeycomb 的更多信息，请参阅 [https://docs.honeycomb. io/getting-data-in/metrics/aws-cloudwatch-metrics/。](https://docs.honeycomb.io/getting-data-in/metrics/aws-cloudwatch-metrics/ )

****
+ 提供下列字段的值：  
 **Honeycomb Kinesis 端点**   
使用以下格式指定 HTTP 终端节点的网址： https://api.honeycomb.io/1/kinesis\$1events/ \$1\$1dataset\$1\$1   
 **身份验证**   
您可以选择直接输入 API 密钥，也可以从中检索密钥 AWS Secrets Manager 以访问 Honeycomb。  
  + **API 密钥** 

    联系 Honeycomb 以获取您从 Firehose 向此端点传输数据所需的 API 密钥。
  + **密钥**

    从中选择一个包含 Hon AWS Secrets Manager eycomb API 密钥的密钥。如果在下拉列表中未看到您的密钥，则请在 AWS Secrets Manager中创建一个。有关更多信息，请参阅 [AWS Secrets Manager 在 Amazon Data Firehose 中进行身份验证](using-secrets-manager.md)。  
 **内容编码**   
Amazon Data Firehose 使用内容编码来压缩请求的正文，然后再将请求发送到目的地。选择 **GZIP** 以启用请求的内容编码。这是 Honeycomb 目标的推荐选项。  
 **Retry duration**   
指定 Amazon Data Firehose 重试将数据发送到所选 HTTP 端点的时长。  
发送数据后，Amazon Data Firehose 先等待 HTTP 端点的确认。如果出现错误或未在确认超时期限内收到确认，Amazon Data Firehose 将启动重试持续时间计数器。它将不断重试，直到重试持续时间到期为止。重试持续时间到期后，Amazon Data Firehose 将这种情况视为数据传输失败，并将数据备份到 Amazon S3 存储桶。  
每次 Amazon Data Firehose 向 HTTP 端点发送数据（初始尝试或重试）时，都会重新启动确认超时计数器并等待 HTTP 端点的确认。  
即使重试持续时间已过，Amazon Data Firehose 仍会等待确认，直到收到确认或达到确认超时期限。如果确认超时，Amazon Data Firehose 会确定重试计数器是否还有剩余时间。如果有剩余时间，它将再次重试并重复该逻辑，直到收到确认或确定重试时间已到期。  
如果不希望 Amazon Data Firehose 重试发送数据，请将此值设置为 0。  
 **参数（可选）**   
Amazon Data Firehose 在每次 HTTP 调用中都包含这些键值对。这些参数可以帮助您识别和组织目的地。  
 **缓冲提示**   
Amazon Data Firehose 在将传入数据传输到指定的目的地之前会进行缓冲。目标位置的建议缓冲区大小因服务提供商而异。

## 为 Coralogix 配置目的地设置
<a name="create-destination-coralogix"></a>

本节介绍了使用 **Coralogix** 作为目标的选项。有关 Coralogix 的更多信息，请参阅 [Get Started with Coralogix](https://coralogix.com/docs/guide-first-steps-coralogix/)。

****
+ 提供下列字段的值：  
 **HTTP 端点 URL**   
从下拉菜单的以下选项中选择 HTTP 端点 URL：  
  + **Coralogix - US**
  + **Coralogix - SINGAPORE**
  + **Coralogix - IRELAND**
  + **Coralogix - INDIA**
  + **Coralogix - STOCKHOLM**  
 **身份验证**   
您可以选择直接输入私钥，也可以从中检索密钥 AWS Secrets Manager 以访问 Coralogix。  
  + **私有密钥** 

    联系 Coralogix 以获取您从 Firehose 向此端点传输数据所需的私有密钥。
  + **密钥**

    从中选择一个包 AWS Secrets Manager 含 Coralogix 私钥的密钥。如果在下拉列表中未看到您的密钥，则请在 AWS Secrets Manager中创建一个。有关更多信息，请参阅 [AWS Secrets Manager 在 Amazon Data Firehose 中进行身份验证](using-secrets-manager.md)。  
 **内容编码**   
Amazon Data Firehose 使用内容编码来压缩请求的正文，然后再将请求发送到目的地。选择 **GZIP** 以启用请求的内容编码。这是 Coralogix 目标的推荐选项。  
 **Retry duration**   
指定 Amazon Data Firehose 重试将数据发送到所选 HTTP 端点的时长。  
发送数据后，Amazon Data Firehose 先等待 HTTP 端点的确认。如果出现错误或未在确认超时期限内收到确认，Amazon Data Firehose 将启动重试持续时间计数器。它将不断重试，直到重试持续时间到期为止。重试持续时间到期后，Amazon Data Firehose 将这种情况视为数据传输失败，并将数据备份到 Amazon S3 存储桶。  
每次 Amazon Data Firehose 向 HTTP 端点发送数据（初始尝试或重试）时，都会重新启动确认超时计数器并等待 HTTP 端点的确认。  
即使重试持续时间已过，Amazon Data Firehose 仍会等待确认，直到收到确认或达到确认超时期限。如果确认超时，Amazon Data Firehose 会确定重试计数器是否还有剩余时间。如果有剩余时间，它将再次重试并重复该逻辑，直到收到确认或确定重试时间已到期。  
如果不希望 Amazon Data Firehose 重试发送数据，请将此值设置为 0。  
 **参数（可选）**   
Amazon Data Firehose 在每次 HTTP 调用中都包含这些键值对。这些参数可以帮助您识别和组织目的地。  
  + applicationName：运行 Data Firehose 的环境
  + subsystemName：Data Firehose 集成的名称
  + computerName：正在使用的 Firehose 流的名称  
 **缓冲提示**   
Amazon Data Firehose 在将传入数据传输到指定的目的地之前会进行缓冲。目的地的建议缓冲区大小因服务提供商而异。

## 为 Dynatrace 配置目的地设置
<a name="create-destination-dynatrace"></a>

本节介绍了使用 **Dynatrace** 作为目标的选项。有关更多信息，请参阅 [https://www.dynatrace.com/support/help/technology-support/cloud-platforms/amazon-web-services/integrations/cloudwatch-metric-streams/](https://www.dynatrace.com/support/help/technology-support/cloud-platforms/amazon-web-services/integrations/cloudwatch-metric-streams/)。

****
+ 选择选项，以将 Dynatrace 作为 Firehose 流的目的地。  
 **摄取类型**   
选择您要在 Dynatrace 中提供**指标**还是**日志**（默认），以供进一步分析和处理。  
 **HTTP 端点 URL**   
从下拉菜单中选择 HTTP 端点 URL（**Dynatrace US**、**Dynatrace EU** 或 **Dynatrace Global**）。  
 **身份验证**   
您可以选择直接输入 API 令牌，也可以从中检索密钥 AWS Secrets Manager 以访问 Dynatrace。  
  + **API 令牌** 

    生成您从 Firehose 向此端点传输数据所需的 Dynatrace API 令牌。有关更多信息，请参阅 [Dynatrace API - Tokens and authentication](https://docs.dynatrace.com/docs/dynatrace-api/basics/dynatrace-api-authentication)。
  + **密钥**

    从中 AWS Secrets Manager 选择一个包含 Dynatrace API 令牌的密钥。如果在下拉列表中未看到您的密钥，则请在 AWS Secrets Manager中创建一个。有关更多信息，请参阅 [AWS Secrets Manager 在 Amazon Data Firehose 中进行身份验证](using-secrets-manager.md)。  
 **API URL**   
提供 Dynatrace 环境的 API URL。  
 **内容编码**   
选择是否要启用内容编码来压缩请求的正文。Amazon Data Firehose 使用内容编码来压缩请求的正文，然后再将请求发送到目的地。启用后，以 **GZIP** 格式压缩内容。  
 **Retry duration**   
指定 Firehose 重试将数据发送到所选 HTTP 端点的时长。  
发送数据后，Firehose 先等待 HTTP 端点的确认。如果出现错误或在确认超时期限内没有收到确认，Firehose 将启动重试持续时间计数器。它将不断重试，直到重试持续时间到期为止。重试持续时间到期后，Firehose 将这种情况视为数据传输失败，并将数据备份到 Amazon S3 存储桶。  
每次 Firehose 向 HTTP 端点发送数据（初始尝试期间或重试后）时，都会重新启动确认超时计数器并等待 HTTP 端点的确认。  
即使重试持续时间到期，Firehose 仍会等待确认，直到它收到确认或到达确认超时期限。如果确认超时，Firehose 会确定重试计数器中是否还有剩余时间。如果有剩余时间，它将再次重试并重复该逻辑，直到收到确认或确定重试时间已到期。  
如果不希望 Firehose 重试发送数据，请将此值设置为 0。  
 **参数（可选）**   
Amazon Data Firehose 在每次 HTTP 调用中都包含这些键值对。这些参数可以帮助您识别和组织目的地。  
**缓冲提示**  
Amazon Data Firehose 在将传入数据传输到指定的目的地之前会进行缓冲。缓冲区提示包括流的缓冲区大小和时间间隔。目的地的建议缓冲区大小因服务提供商而异。

## 配置目标设置 LogicMonitor
<a name="create-destination-logicmonitor"></a>

本部分介绍将 **LogicMonitor** 用于您的目标的选项。有关更多信息，请参阅 [https://www.logicmonitor.com](https://www.logicmonitor.com)。

****
+ 提供下列字段的值：  
 **HTTP 端点 URL**   
按以下格式指定 HTTP 端点的 URL。  

  ```
  https://ACCOUNT.logicmonitor.com
  ```  
 **身份验证**   
您可以选择直接输入 API 密钥，也可以从中检索密钥 AWS Secrets Manager 进行访问 LogicMonitor。  
  + **API 密钥** 

    请联系 LogicMonitor 以获取允许从 Firehose 向该端点传输数据所需的 API 密钥。
  + **密钥**

    从中选择一个包 AWS Secrets Manager 含 API 密钥的密钥 LogicMonitor。如果在下拉列表中未看到您的密钥，则请在 AWS Secrets Manager中创建一个。有关更多信息，请参阅 [AWS Secrets Manager 在 Amazon Data Firehose 中进行身份验证](using-secrets-manager.md)。  
 **内容编码**   
Amazon Data Firehose 使用内容编码来压缩请求的正文，然后再将请求发送到目的地。对请求的 enable/disable 内容编码选择 **GZIP** 或 “**禁用**”。  
 **Retry duration**   
指定 Amazon Data Firehose 重试将数据发送到所选 HTTP 端点的时长。  
发送数据后，Amazon Data Firehose 先等待 HTTP 端点的确认。如果出现错误或未在确认超时期限内收到确认，Amazon Data Firehose 将启动重试持续时间计数器。它将不断重试，直到重试持续时间到期为止。重试持续时间到期后，Amazon Data Firehose 将这种情况视为数据传输失败，并将数据备份到 Amazon S3 存储桶。  
每次 Amazon Data Firehose 向 HTTP 端点发送数据（初始尝试或重试）时，都会重新启动确认超时计数器并等待 HTTP 端点的确认。  
即使重试持续时间已过，Amazon Data Firehose 仍会等待确认，直到收到确认或达到确认超时期限。如果确认超时，Amazon Data Firehose 会确定重试计数器是否还有剩余时间。如果有剩余时间，它将再次重试并重复该逻辑，直到收到确认或确定重试时间已到期。  
如果不希望 Amazon Data Firehose 重试发送数据，请将此值设置为 0。  
 **参数（可选）**   
Amazon Data Firehose 在每次 HTTP 调用中都包含这些键值对。这些参数可以帮助您识别和组织目的地。  
 **缓冲提示**   
Amazon Data Firehose 在将传入数据传输到指定的目的地之前会进行缓冲。目标位置的建议缓冲区大小因服务提供商而异。

## 为 Logz.io 配置目的地设置
<a name="create-destination-logz"></a>

本节介绍了使用 **Logz.io** 作为目标的选项。欲了解更多信息，请参阅 [https://logz.io/](https://logz.io/)。

**注意**  
在欧洲地区（米兰）区域，不支持将 Logz.io 作为 Amazon Data Firehose 目的地。

****
+ 提供下列字段的值：  
 **HTTP 端点 URL**   
按以下格式指定 HTTP 端点的 URL。URL 必须是 `HTTPS` URL。  

  ```
  https://listener-aws-metrics-stream-<region>.logz.io/
  ```
例如  

  ```
  https://listener-aws-metrics-stream-us.logz.io/
  ```  
 **身份验证**   
您可以选择直接输入发货令牌，也可以从中检索密钥 AWS Secrets Manager 以访问 Logz.io。  
  + **送达令牌** 

    联系 Logz.io 以获取您从 Firehose 向此端点传输数据所需的送达令牌。
  + **密钥**

    从中 AWS Secrets Manager 选择一个包含 Logz.io 发货令牌的密钥。如果在下拉列表中未看到您的密钥，则请在 AWS Secrets Manager中创建一个。有关更多信息，请参阅 [AWS Secrets Manager 在 Amazon Data Firehose 中进行身份验证](using-secrets-manager.md)。  
 **Retry duration**   
指定 Amazon Data Firehose 重试向 Logz.io 发送数据的时长。  
发送数据后，Amazon Data Firehose 先等待 HTTP 端点的确认。如果出现错误或未在确认超时期限内收到确认，Amazon Data Firehose 将启动重试持续时间计数器。它将不断重试，直到重试持续时间到期为止。重试持续时间到期后，Amazon Data Firehose 将这种情况视为数据传输失败，并将数据备份到 Amazon S3 存储桶。  
每次 Amazon Data Firehose 向 HTTP 端点发送数据（初始尝试或重试）时，都会重新启动确认超时计数器并等待 HTTP 端点的确认。  
即使重试持续时间已过，Amazon Data Firehose 仍会等待确认，直到收到确认或达到确认超时期限。如果确认超时，Amazon Data Firehose 会确定重试计数器是否还有剩余时间。如果有剩余时间，它将再次重试并重复该逻辑，直到收到确认或确定重试时间已到期。  
如果不希望 Amazon Data Firehose 重试发送数据，请将此值设置为 0。  
 **参数（可选）**   
Amazon Data Firehose 在每次 HTTP 调用中都包含这些键值对。这些参数可以帮助您识别和组织目的地。  
 **缓冲提示**   
Amazon Data Firehose 在将传入数据传输到指定的目的地之前会进行缓冲。目标位置的建议缓冲区大小因服务提供商而异。

## 为 MongoDB Atlas 配置目的地设置
<a name="create-destination-mongodb"></a>

本节介绍了使用 **MongoDB Atlas** 作为目的地的选项。有关更多信息，请参阅 [Amazon Web Services 上的 MongoDB Atlas](https://www.mongodb.com/products/platform/atlas-cloud-providers/aws)。

****
+ 提供下列字段的值：  
**API Gateway URL**  
按以下格式指定 HTTP 端点的 URL。  

  ```
   https://xxxxx.execute-api.region.amazonaws.com/stage
  ```
URL 必须是 `HTTPS` URL。  
 **身份验证**   
你可以选择直接输入 API 密钥，也可以从中检索密钥 AWS Secrets Manager 来访问 MongoDB Atlas。  
  + **API 密钥** 

    按照 [Amazon Web Services 上的 MongoDB Atlas](https://www.mongodb.com/products/platform/atlas-cloud-providers/aws) 中的说明获取您从 Firehose 向此端点传输数据所需的 `APIKeyValue`。
  + **密钥**

    从中 AWS Secrets Manager 选择一个包含 API Gateway 的 API 密钥的密钥，该密钥由 Lambda 与 MongoDB Atlas 交互提供支持。如果在下拉列表中未看到您的密钥，则请在 AWS Secrets Manager中创建一个。有关更多信息，请参阅 [AWS Secrets Manager 在 Amazon Data Firehose 中进行身份验证](using-secrets-manager.md)。  
**内容编码**  
Amazon Data Firehose 使用内容编码来压缩请求的正文，然后再将请求发送到目的地。对请求的 enable/disable 内容编码选择 **GZIP** 或 “**禁用**”。  
**Retry duration**  
指定 Amazon Data Firehose 重试将数据发送到所选第三方提供商的时长。  
发送数据后，Amazon Data Firehose 先等待 HTTP 端点的确认。如果出现错误或未在确认超时期限内收到确认，Amazon Data Firehose 将启动重试持续时间计数器。它将不断重试，直到重试持续时间到期为止。重试持续时间到期后，Amazon Data Firehose 将这种情况视为数据传输失败，并将数据备份到 Amazon S3 存储桶。  
每次 Amazon Data Firehose 向 HTTP 端点发送数据（初始尝试或重试）时，都会重新启动确认超时计数器并等待 HTTP 端点的确认。  
即使重试持续时间已过，Amazon Data Firehose 仍会等待确认，直到收到确认或达到确认超时期限。如果确认超时，Amazon Data Firehose 会确定重试计数器是否还有剩余时间。如果有剩余时间，它将再次重试并重复该逻辑，直到收到确认或确定重试时间已到期。  
如果不希望 Amazon Data Firehose 重试发送数据，请将此值设置为 0。  
**缓冲提示**  
Amazon Data Firehose 在将传入数据传输到指定的目的地之前会进行缓冲。目标位置的建议缓冲区大小因服务提供商而异。  
**参数（可选）**  
Amazon Data Firehose 在每次 HTTP 调用中都包含这些键值对。这些参数可以帮助您识别和组织目的地。

## 为 New Relic 配置目的地设置
<a name="create-destination-new-relic"></a>

本节介绍了使用 **New Relic** 作为目标的选项。有关更多信息，请参阅 [https://newrelic.com](https://newrelic.com)。

****
+ 提供下列字段的值：  
 **HTTP 端点 URL**   
从下拉列表的以下选项中选择 HTTP 端点 URL。  
  + **New Relic 日志 - US**
  + **New Relic 指标 - US**
  + **New Relic 指标 - EU**  
 **身份验证**   
你可以选择直接输入 API 密钥，也可以从中检索密钥 AWS Secrets Manager 来访问 New Relic。  
  + **API 密钥** 

    在 New Relic One 账户设置中输入许可证密钥（40 个字符的十六进制字符串）。您需要此 API 密钥从 Firehose 向此端点传输数据。
  + **密钥**

    从中选择一个包含 N AWS Secrets Manager ew Relic 的 API 密钥的密钥。如果在下拉列表中未看到您的密钥，则请在 AWS Secrets Manager中创建一个。有关更多信息，请参阅 [AWS Secrets Manager 在 Amazon Data Firehose 中进行身份验证](using-secrets-manager.md)。  
 **内容编码**   
Amazon Data Firehose 使用内容编码来压缩请求的正文，然后再将请求发送到目的地。对请求的 enable/disable 内容编码选择 **GZIP** 或 “**禁用**”。  
 **Retry duration**   
指定 Amazon Data Firehose 重试将数据发送到 New Relic HTTP 端点的时长。  
发送数据后，Amazon Data Firehose 先等待 HTTP 端点的确认。如果出现错误或未在确认超时期限内收到确认，Amazon Data Firehose 将启动重试持续时间计数器。它将不断重试，直到重试持续时间到期为止。重试持续时间到期后，Amazon Data Firehose 将这种情况视为数据传输失败，并将数据备份到 Amazon S3 存储桶。  
每次 Amazon Data Firehose 向 HTTP 端点发送数据（初始尝试或重试）时，都会重新启动确认超时计数器并等待 HTTP 端点的确认。  
即使重试持续时间已过，Amazon Data Firehose 仍会等待确认，直到收到确认或达到确认超时期限。如果确认超时，Amazon Data Firehose 会确定重试计数器是否还有剩余时间。如果有剩余时间，它将再次重试并重复该逻辑，直到收到确认或确定重试时间已到期。  
如果不希望 Amazon Data Firehose 重试发送数据，请将此值设置为 0。  
 **参数（可选）**   
Amazon Data Firehose 在每次 HTTP 调用中都包含这些键值对。这些参数可以帮助您识别和组织目的地。  
 **缓冲提示**   
Amazon Data Firehose 在将传入数据传输到指定的目的地之前会进行缓冲。目标位置的建议缓冲区大小因服务提供商而异。

## 为 Snowflake 配置目的地设置
<a name="create-destination-snowflake"></a>

本节介绍将 Snowflake 用于您的目的地的选项。

**注意**  
Firehose 与 Snowflake 的集成已在美国东部（弗吉尼亚北部）、美国西部（俄勒冈）、欧洲（爱尔兰）、美国东部（俄亥俄州）、亚太地区（东京）、欧洲（法兰克福）、亚太地区（新加坡）、亚太地区（首尔）和亚太地区（悉尼）、亚太地区（孟买）、欧洲（伦敦）、南美洲（圣保罗）、加拿大（中部）、欧洲（中部）、欧洲（悉尼）、亚太地区（孟买）、欧洲（伦敦）、南美洲（圣保罗）、加拿大（中部）、欧洲（中部）、欧洲（中部）巴黎）、亚太地区（大阪）、欧洲（斯德哥尔摩）、亚太地区（雅加达）。 AWS 区域

**连接设置**

****
+ 提供下列字段的值：  
 **Snowflake 账户 URL**   
指定 Snowflake 账户 URL。例如：`xy12345.us-east-1.aws.snowflakecomputing.com`。有关如何确定您的账户 URL 的信息，请参阅 [Snowflake 文档](https://docs.snowflake.com/en/user-guide/admin-account-identifier#format-2-legacy-account-locator-in-a-region)。请注意，您不能指定端口号，而协议（https://）是可选的。  
 **身份验证**   
您可以选择手动输入用户登录名、私钥和密码，也可以从 AWS Secrets Manager 中检索密钥以访问 Snowflake。  
  + **用户登录**

    指定要用于加载数据的 Snowflake 用户。请确保用户有权将数据插入到 Snowflake 表中。
  + **私有密钥**

    指定私有密钥，以便使用 Snowflake 以 `PKCS8` 格式进行身份验证。此外，不要将 PEM 页眉和页脚作为私有密钥的一部分。如果密钥被分成多行，则请删除换行符。以下为私有密钥必须呈现的形式的示例。

    ```
    -----BEGIN PRIVATE KEY-----
    KEY_CONTENT
    -----END PRIVATE KEY-----
    ```

    移除 `KEY_CONTENT` 中的空格然后将其提供给 Firehose。不需要换行符 header/footer 或换行符。
  + **Passphrase (密码)** 

    指定密码来解密已加密的私有密钥。如果私有密钥未加密，则可以将此字段留空。有关信息，请参阅 [Using Key Pair Authentication & Key Rotation](https://docs.snowflake.com/en/user-guide/data-load-snowpipe-streaming-configuration#using-key-pair-authentication-key-rotation)。
  + **密钥**

    从中 AWS Secrets Manager 选择一个包含 Snowflake 凭据的密钥。如果在下拉列表中未看到您的密钥，则请在 AWS Secrets Manager中创建一个。有关更多信息，请参阅 [AWS Secrets Manager 在 Amazon Data Firehose 中进行身份验证](using-secrets-manager.md)。  
 **角色配置**   
使用默认的 Snowflake 角色：如果选择此选项，则 Firehose 不会将任何角色传递给 Snowflake。假设默认角色用于加载数据。请确保默认角色具有将数据插入到 Snowflake 表中的权限。  
使用自定义 Snowflake 角色：输入将数据加载到 Snowflake 表时由 Firehose 担任的非默认 Snowflake 角色。  
 **Snowflake 连接**   
选项为**私有**或**公有**。  
 **私有 VPCE ID（可选）**   
Firehose 与 Snowflake 私有连接的 VPCE ID。身份证格式为 com.amazonaws.vpce。 [区域] .vpce-svc-。*[id]*有关更多信息，请参阅 [AWS PrivateLink & Snowflake](https://docs.snowflake.com/en/user-guide/admin-security-privatelink)。  
如果您的 Snowflake 集群已启用私有链接，则请使用基于 `AwsVpceIds` 的网络策略来允许 Amazon Data Firehose 数据。Firehose 不需要您在 Snowflake 账户中配置基于 IP 的网络策略。启用基于 IP 的网络策略可能会干扰 Firehose 连接。如果您遇到需要基于 IP 的策略的边缘案例，则请通过提交[支持工单](https://support.console.aws.amazon.com/support/home?region=us-east-1#/case/create)与 Firehose 团队联系。有关您可以使用的 VPCE IDs 列表，请参阅。[访问 VPC 中的 Snowflake](controlling-access.md#using-iam-snowflake-vpc)

**数据库配置**
+ 您必须指定以下设置，才能使用 Snowflake 作为 Firehose 流的目的地。
  + Snowflake 数据库：Snowflake 中的所有数据都保存在数据库中。
  + Snowflake 架构：每个数据库由一个或多个架构组成，这些架构是数据库对象（例如表和视图）的逻辑分组
  + Snowflake 表：Snowflake 中的所有数据都存储在数据库表中，逻辑结构为列和行的集合。

 **您 Snowflake 表的数据加载选项** 
+ 使用 JSON 键作为列名 
+ 使用 VARIANT 列
  + 内容列名：在表中指定列名，其中必须加载原始数据。
  + 元数据列名（可选）：在表中指定列名，其中必须加载元数据信息。启用此字段后，您将在基于源类型的 Snowflake 表中看到以下列。

    **Direct PUT 用作来源**

    ```
    {
    "firehoseDeliveryStreamName" : "streamname",
    "IngestionTime" : "timestamp"
    }
    ```

    **Kinesis Data Stream 用作来源**

    ```
    {
    "kinesisStreamName" : "streamname",
    "kinesisShardId" : "Id",
    "kinesisPartitionKey" : "key",
    "kinesisSequenceNumber" : "1234",
    "subsequenceNumber" : "2334",
    "IngestionTime" : "timestamp"
    }
    ```

 **Retry duration** 

Snowflake 服务问题导致打开通道或向 Snowflake 传输内容失败时，Firehose 重试的持续时间（0–7200 秒）。Firehose 以指数回退方式重试，直到重试持续时间结束。如果将重试持续时间设置为 0（零）秒，则 Firehose 在 Snowflake 失败时不会重试，而是将数据路由至 Amazon S3 错误存储桶。

 **缓冲区提示** 

Amazon Data Firehose 在将传入数据传输到指定的目的地之前会进行缓冲。目标位置的建议缓冲区大小因服务提供商而异。有关更多信息，请参阅 [配置缓冲提示](create-configure-backup.md#buffering-hints)。

## 为 Splunk 配置目的地设置
<a name="create-destination-splunk"></a>

本节介绍使用将 Splunk 用于目的地的选项。

**注意**  
Firehose 向配置了经典负载均衡器或应用程序负载均衡器的 Splunk 集群传输数据。

****
+ 提供下列字段的值：  
 **Splunk cluster endpoint**   
要确定端点，请参阅 Splunk 文档中的[配置 Amazon Data Firehose 以将数据发送到 Splunk 平台](http://docs.splunk.com/Documentation/AddOns/latest/Firehose/ConfigureFirehose)。  
 **Splunk endpoint type**   
在大多数情况下，请选择 `Raw endpoint`。选择`Event endpoint`是否使用按事件类型将数据发送 AWS Lambda 到不同的索引来预处理数据。有关要使用的端点的信息，请参阅 Splunk 文档中的[配置 Amazon Data Firehose 以将数据发送到 Splunk 平台](http://docs.splunk.com/Documentation/AddOns/released/Firehose/ConfigureFirehose)。  
 **身份验证**   
您可以选择直接输入身份验证令牌，也可以从中检索密钥 AWS Secrets Manager 以访问 Splunk。  
  + **身份验证令牌** 

    要设置可从 Amazon Data Firehose 接收数据的 Splunk 端点，请参阅 Splunk 文档中的[适用于 Amazon Data Firehose 的 Splunk 插件的安装和配置概述](http://docs.splunk.com/Documentation/AddOns/released/Firehose/Installationoverview)。保存在为该 Firehose 流设置端点时从 Splunk 获取的令牌，并在此处添加该令牌。
  + **密钥**

    从中选择一个包 AWS Secrets Manager 含 Splunk 身份验证令牌的密钥。如果在下拉列表中未看到您的密钥，则请在 AWS Secrets Manager中创建一个。有关更多信息，请参阅 [AWS Secrets Manager 在 Amazon Data Firehose 中进行身份验证](using-secrets-manager.md)。  
 **HEC acknowledgement timeout**   
指定 Amazon Data Firehose 等待来自 Splunk 的索引确认的时长。如果 Splunk 在超时之前未发送确认，Amazon Data Firehose 会将这种情况视为数据传输失败。然后，Amazon Data Firehose 会重试或将数据备份到 Amazon S3 存储桶，具体取决于您设置的重试持续时间值。  
 **Retry duration**   
指定 Amazon Data Firehose 重试向 Splunk 发送数据的时长。  
发送数据后，Amazon Data Firehose 先等待 Splunk 的确认。如果出现错误或未在确认超时期限内收到确认，Amazon Data Firehose 将启动重试持续时间计数器。它将不断重试，直到重试持续时间到期为止。重试持续时间到期后，Amazon Data Firehose 将这种情况视为数据传输失败，并将数据备份到 Amazon S3 存储桶。  
每次 Amazon Data Firehose 向 Splunk 发送数据（无论是初次尝试还是重试）时，都会重新启动确认超时计数器，并等待 Splunk 的确认。  
即使重试持续时间已过，Amazon Data Firehose 仍会等待确认，直到收到确认或达到确认超时期限。如果确认超时，Amazon Data Firehose 会确定重试计数器是否还有剩余时间。如果有剩余时间，它将再次重试并重复该逻辑，直到收到确认或确定重试时间已到期。  
如果不希望 Amazon Data Firehose 重试发送数据，请将此值设置为 0。  
 **缓冲提示**   
Amazon Data Firehose 在将传入数据传输到指定的目的地之前会进行缓冲。目的地的建议缓冲区大小因服务提供商而异。

## 为 Splunk Observability Cloud 配置目的地设置
<a name="create-destination-splunk-cloud"></a>

本节介绍了使用 **Splunk Observability Cloud** 作为目标的选项。有关更多信息，请参阅 [https://docs.splunk.com/observability/en/gdi/get-data-in/connect/aws/aws-apiconfig.html\$1--ap connect-to-aws-using](https://docs.splunk.com/Observability/gdi/get-data-in/connect/aws/aws-apiconfig.html#connect-to-aws-using-the-splunk-observability-cloud-api) i。the-splunk-observability-cloud

****
+ 提供下列字段的值：  
 **云摄取端点 URL**   
您可以在 Splunk Observability 控制台的“配置文件”>“组织”>“实时数据摄取端点”中，找到 Splunk Observability Cloud 的实时数据摄取 URL。  
 **身份验证**   
您可以选择直接输入访问令牌，也可以从中检索密钥 AWS Secrets Manager 以访问 Splunk Observability Cloud。  
  + **访问令牌** 

    从 Splunk Observability 控制台的**设置**下的**访问令牌**中，复制具有 INGEST 授权范围的 Splunk Observability 访问令牌。
  + **密钥**

    从中选择一个包 AWS Secrets Manager 含 Splunk 可观察性云访问令牌的密钥。如果在下拉列表中未看到您的密钥，则请在 AWS Secrets Manager中创建一个。有关更多信息，请参阅 [AWS Secrets Manager 在 Amazon Data Firehose 中进行身份验证](using-secrets-manager.md)。  
 **内容编码**   
Amazon Data Firehose 使用内容编码来压缩请求的正文，然后再将请求发送到目的地。对请求的 enable/disable 内容编码选择 **GZIP** 或 “**禁用**”。  
 **Retry duration**   
指定 Amazon Data Firehose 重试将数据发送到所选 HTTP 端点的时长。  
发送数据后，Amazon Data Firehose 先等待 HTTP 端点的确认。如果出现错误或未在确认超时期限内收到确认，Amazon Data Firehose 将启动重试持续时间计数器。它将不断重试，直到重试持续时间到期为止。重试持续时间到期后，Amazon Data Firehose 将这种情况视为数据传输失败，并将数据备份到 Amazon S3 存储桶。  
每次 Amazon Data Firehose 向 HTTP 端点发送数据（初始尝试或重试）时，都会重新启动确认超时计数器并等待 HTTP 端点的确认。  
即使重试持续时间已过，Amazon Data Firehose 仍会等待确认，直到收到确认或达到确认超时期限。如果确认超时，Amazon Data Firehose 会确定重试计数器是否还有剩余时间。如果有剩余时间，它将再次重试并重复该逻辑，直到收到确认或确定重试时间已到期。  
如果不希望 Amazon Data Firehose 重试发送数据，请将此值设置为 0。  
 **参数（可选）**   
Amazon Data Firehose 在每次 HTTP 调用中都包含这些键值对。这些参数可以帮助您识别和组织目的地。  
 **缓冲提示**   
Amazon Data Firehose 在将传入数据传输到指定的目的地之前会进行缓冲。目标位置的建议缓冲区大小因服务提供商而异。

## 为 Sumo Logic 配置目的地设置
<a name="create-destination-sumo-logic"></a>

本节介绍了使用 **Sumo Logic** 作为目标的选项。有关更多信息，请参阅 [https://www.sumologic.com](https://www.sumologic.com)。

****
+ 提供下列字段的值：  
 **HTTP 端点 URL**   
按以下格式指定 HTTP 端点的 URL：`https://deployment name.sumologic.net/receiver/v1/kinesis/dataType/access token`。URL 必须是 HTTPS URL。  
 **内容编码**   
Amazon Data Firehose 使用内容编码来压缩请求的正文，然后再将请求发送到目的地。对请求的 enable/disable 内容编码选择 **GZIP** 或 “**禁用**”。  
 **Retry duration**   
指定 Amazon Data Firehose 重试向 Sumo Logic 发送数据的时长。  
发送数据后，Amazon Data Firehose 先等待 HTTP 端点的确认。如果出现错误或未在确认超时期限内收到确认，Amazon Data Firehose 将启动重试持续时间计数器。它将不断重试，直到重试持续时间到期为止。重试持续时间到期后，Amazon Data Firehose 将这种情况视为数据传输失败，并将数据备份到 Amazon S3 存储桶。  
每次 Amazon Data Firehose 向 HTTP 端点发送数据（初始尝试或重试）时，都会重新启动确认超时计数器并等待 HTTP 端点的确认。  
即使重试持续时间已过，Amazon Data Firehose 仍会等待确认，直到收到确认或达到确认超时期限。如果确认超时，Amazon Data Firehose 会确定重试计数器是否还有剩余时间。如果有剩余时间，它将再次重试并重复该逻辑，直到收到确认或确定重试时间已到期。  
如果不希望 Amazon Data Firehose 重试发送数据，请将此值设置为 0。  
 **参数（可选）**   
Amazon Data Firehose 在每次 HTTP 调用中都包含这些键值对。这些参数可以帮助您识别和组织目的地。  
 **缓冲提示**   
Amazon Data Firehose 在将传入数据传输到指定的目的地之前会进行缓冲。Elastic 目标的建议缓冲区大小因服务提供商而异。

## 为 Elastic 配置目的地设置
<a name="create-destination-elastic"></a>

本节介绍了使用 **Elastic** 作为目标的选项。

****
+ 提供下列字段的值：  
 **Elastic 端点 URL**   
按以下格式指定 HTTP 端点的 URL：`https://<cluster-id>.es.<region>.aws.elastic-cloud.com`。URL 必须是 HTTPS URL。  
 **身份验证**   
您可以选择直接输入 API 密钥，也可以从中检索密钥 AWS Secrets Manager 以访问 Elastic。  
  + **API 密钥** 

    联系 Elastic 以获取从 Firehose 向其服务传输数据所需的 API 密钥。
  + **密钥**

    从中 AWS Secrets Manager 选择一个包含 Elastic API 密钥的密钥。如果在下拉列表中未看到您的密钥，则请在 AWS Secrets Manager中创建一个。有关更多信息，请参阅 [AWS Secrets Manager 在 Amazon Data Firehose 中进行身份验证](using-secrets-manager.md)。  
 **内容编码**   
Amazon Data Firehose 使用内容编码来压缩请求的正文，然后再将请求发送到目的地。选择 **GZIP**（这是默认选择的内容）或**禁用**您的请求的 enable/disable 内容编码。  
 **Retry duration**   
指定 Amazon Data Firehose 重试向 Elastic 发送数据的时长。  
发送数据后，Amazon Data Firehose 先等待 HTTP 端点的确认。如果出现错误或未在确认超时期限内收到确认，Amazon Data Firehose 将启动重试持续时间计数器。它将不断重试，直到重试持续时间到期为止。重试持续时间到期后，Amazon Data Firehose 将这种情况视为数据传输失败，并将数据备份到 Amazon S3 存储桶。  
每次 Amazon Data Firehose 向 HTTP 端点发送数据（初始尝试或重试）时，都会重新启动确认超时计数器并等待 HTTP 端点的确认。  
即使重试持续时间已过，Amazon Data Firehose 仍会等待确认，直到收到确认或达到确认超时期限。如果确认超时，Amazon Data Firehose 会确定重试计数器是否还有剩余时间。如果有剩余时间，它将再次重试并重复该逻辑，直到收到确认或确定重试时间已到期。  
如果不希望 Amazon Data Firehose 重试发送数据，请将此值设置为 0。  
 **参数（可选）**   
Amazon Data Firehose 在每次 HTTP 调用中都包含这些键值对。这些参数可以帮助您识别和组织目的地。  
 **缓冲提示**   
Amazon Data Firehose 在将传入数据传输到指定的目的地之前会进行缓冲。弹性目标的建议缓冲区大小为 1 MiB。

# 配置备份设置
<a name="create-configure-backup"></a>

Amazon Data Firehose 使用 Amazon S3 备份所有数据或仅备份失败的数据，并尝试将其传输到您选择的目的地。

**重要**  
只有当 Firehose 流的源是 Direct PUT 或 Kinesis Data Streams 时，才支持备份设置。
零缓冲功能仅适用于应用程序目的地，不适用于 Amazon S3 备份目的地。

如果您做出以下选择之一，则可以为 Firehose 流指定 S3 备份设置。
+ 如果您将 Amazon S3 设置为 Firehose 流的目的地，并选择指定 Lamb AWS da 函数来转换数据记录，或者您选择转换您的 Firehose 流的数据记录格式。
+ 如果您将 Amazon Redshift 设置为 Firehose 流的目的地，并选择指定一个 Lambda 函数来转换数据 AWS 记录。
+ 如果你将以下任何服务设置为 Firehose 直播的目的地：亚马逊 OpenSearch 服务、Datadog、Dynatrace、HTTP Endpoint、 LogicMonitor MongoDB Cloud、New Relic、Splunk 或 Sumo Logic、Snowflake、Apache Iceberg Tables。

以下是 Firehose 流的备份设置。
+ Amazon S3 中的源记录备份：如果您选择的目标是 S3 或 Amazon Redshift，则此设置指示您是要启用源数据备份还是将其禁用。如果将任何其他支持的服务（S3 或 Amazon Redshift 除外）设置为您选择的目标，则此设置指示您是要备份所有源数据还是仅备份失败的数据。
+ S3 备份存储桶：该存储桶为 Amazon Data Firehose 备份数据的 S3 存储桶。
+ S3 备份存储桶前缀：这是 Amazon Data Firehose 备份数据的前缀。
+ S3 备份存储桶错误输出前缀：所有失败的数据都备份在此 S3 存储桶错误输出前缀中。
+ 备份的缓冲提示、压缩和加密：Amazon Data Firehose 使用 Amazon S3 备份所有数据或仅备份失败的数据，并尝试将其传输到您选择的目的地。Amazon Data Firehose 在将传入数据传输（备份）到 Amazon S3 之前对其进行缓冲。您可以选择 1—128 的缓冲区大小 MiBs 和 60—900 秒的缓冲间隔。先满足的条件会触发向 Amazon S3 进行数据传输的操作。如果您启用数据转换，缓冲区间隔是指从 Amazon Data Firehose 接收转换数据的时间到数据传输到 Amazon S3 的时间。如果数据传输到目的地的速度落后于数据写入到 Firehose 流的速度，Amazon Data Firehose 会动态增加缓冲区大小以跟上速度。此操作有助于确保所有数据都传输到目标。
+ S3 压缩：选择 GZIP、Snappy、Zip 或 Hadoop 兼容的 Snappy 数据压缩，或者不压缩数据。Snappy、Zip 和 Hadoop 兼容的 Snappy 压缩，不适用于以 Amazon Redshift 作为目的地的 Firehose 流。
+ S3 文件扩展名格式（可选）：为传输到 Amazon S3 目标存储桶的对象指定文件扩展名格式。如果启用此功能，则指定的文件扩展名将覆盖数据格式转换或 S3 压缩功能（例如 .parquet 或 .gz）附加的默认文件扩展名。在将此功能与数据格式转换或 S3 压缩配合使用时，请确保您配置了正确的文件扩展名。文件扩展名必须以句点（.）开头，并且可以包含允许的字符：0-9a-z\$1-\$1.\$1‘()。文件扩展名不能超过 128 个字符。
+ Firehose 支持使用 AWS Key Management Service (SSE-KMS) 的 Amazon S3 服务器端加密，用于加密亚马逊 S3 中交付的数据。您可以选择使用目标 S3 存储桶中指定的默认加密类型，也可以选择使用您拥有的 AWS KMS 密钥列表中的密钥进行加密。如果您使用密钥加密数据，则可以使用默认 AWS 托管 AWS KMS 密钥 (aws/s3) 或客户托管密钥。有关更多信息，请参阅[使用 AWS KMS 托管密钥的服务器端加密 (SSE-KMS) 保护数据](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)。

## 配置缓冲提示
<a name="buffering-hints"></a>

Amazon Data Firehose 将传入的流数据缓冲到一定大小（缓冲大小），或缓冲一定时间（缓冲时间间隔）后再将其传输到指定的目的地。如果您想向 Amazon S3 传输大小最佳的文件并提高数据处理应用程序的性能，或者要调整 Firehose 的传输速率以匹配目标速度，则需要使用缓冲提示。

您可以在创建新的 Firehose 流时配置缓冲大小和缓冲区时间间隔，或者更新现有 Firehose 流的缓冲大小和缓冲时间间隔。缓冲大小以秒为单位测量 MBs ，缓冲间隔以秒为单位。但是，如果您为其中之一指定值，您还必须为另一个提供值。满足的第一个缓冲条件将触发 Firehose 传输数据。如果未配置缓冲值，则使用默认值。

您可以通过 AWS 管理控制台、 AWS Command Line Interface或配置 Firehose 缓冲提示。 AWS SDKs对于现有流，您可以使用控制台中的**编辑**选项或使用 API 重新配置缓冲提示，使其具有适合您用例的值。[UpdateDestination](https://docs.aws.amazon.com/firehose/latest/APIReference/API_UpdateDestination.html)对于新直播，您可以使用控制台或 [CreateDeliveryStream](https://docs.aws.amazon.com/firehose/latest/APIReference/API_CreateDeliveryStream.html)API 将缓冲提示配置为创建新直播的一部分。要调整缓冲区大小，请在[CreateDeliveryStream](https://docs.aws.amazon.com/firehose/latest/APIReference/API_CreateDeliveryStream.html)或 [UpdateDestination](https://docs.aws.amazon.com/firehose/latest/APIReference/API_UpdateDestination.html)API 的目标特定`DestinationConfiguration`参数`IntervalInSeconds`中设置`SizeInMBs`和。

**注意**  
缓冲区提示应用于分片或分区级别，而动态分区缓冲区提示则应用于流或主题级别。
为了满足低延迟的实时使用案例，您可以使用零缓冲时间间隔提示。当您将缓冲时间间隔配置为零秒时，Firehose 不会缓冲数据，而是在几秒钟内传输数据。在将缓冲提示更改为较低的值之前，请咨询供应商，了解有关其目的地的 Firehose 建议缓冲提示。
零缓冲功能仅适用于应用程序目的地，不适用于 Amazon S3 备份目的地。
零缓冲功能不适用于动态分区。
当您将缓冲区时间间隔配置为小于 60 秒以提供更低的延迟时，Firehose 会对 S3 目的地使用分段上传。由于 S3 目的地的分段上传，如果您选择的缓冲区时间间隔小于 60 秒，则会看到 S3 `PUT` API 成本会有所增加。

有关目的地特定缓冲提示范围和默认值，请参阅下表：


| 目标位置 | 缓冲大小（以 MB 为单位，括号中为默认值） | 缓冲时间间隔（以秒为单位，括号中为默认值） | 
| --- | --- | --- | 
| Amazon S3 | 1-128 (5) | 0-900 (300) | 
| Apache Iceberg 表 | 1-128 (5) | 0-900 (300) | 
| Amazon Redshift | 1-128 (5)  | 0-900 (300) | 
| OpenSearch 无服务器 | 1-100 (5)  | 0-900 (300) | 
| OpenSearch | 1-100 (5) | 0-900 (300) | 
| Splunk | 1-5 (5) | 0-60 (60) | 
| Datadog | 1-4 (4) | 0-900 (60) | 
| Coralogix | 1-64 (6) | 0-900 (60) | 
| Dynatrace | 1-64 (5) | 0-900 (60) | 
| 弹性 | 1 | 0-900 (60) | 
| Honeycomb | 1-64 (15) | 0-900 (60) | 
| HTTP 端点 | 1-64 (5) | 0-900 (60) | 
| LogicMonitor | 1-64 (5) | 0-900 (60) | 
| Logzio | 1-64 (5) | 0-900 (60) | 
| mongoDB  | 1-16 (5) | 0-900 (60) | 
| newRelic | 1-64 (5) | 0-900 (60) | 
| sumoLogic | 1-64 (1) | 0-900 (60) | 
| Splunk Observability Cloud  | 1-64 (1) | 0-900 (60) | 
| Snowflake | 1 - 128 (1) | 0 - 900 (0) | 

# 配置高级设置
<a name="create-configure-advanced"></a>

下一节包含 Firehose 流的高级设置的详细信息。
+ 服务器端加密——Amazon Data Firehose 支持 AWS 使用密钥管理服务AWS (KMS) 的 Amazon S3 服务器端加密，用于加密亚马逊 S3 中交付的数据。有关更多信息，请参阅[使用 KMS AWS 托管密钥的服务器端加密 (SSE-KMS) 保护数据](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)。
+ 错误日志记录：Amazon Data Firehose 将记录处理和传输相关的错误。此外，启用数据转换后，它可以记录 Lambda 调用并将数据传输错误发送到日志。 CloudWatch 有关更多信息，请参阅 [使用日志监控亚马逊数据 Firehose CloudWatch](monitoring-with-cloudwatch-logs.md)。
**重要**  
虽然是可选的，但强烈建议在创建 Firehose 流过程中启用 Amazon Data Firehose 错误日志记录。这种做法可确保在记录处理或传输失败的情况下，您可以访问错误详细信息。
+ 权限：Amazon Data Firehose 使用 IAM 角色来获取 Firehose 流所需的所有权限。您可以选择创建自动分配所需权限的新角色，也可以选择为 Amazon Data Firehose 创建的现有角色。该角色用于向 Firehose 授予对各种服务的访问权限，包括您的 S3 存储桶、 AWS KMS 密钥（如果启用了数据加密）和 Lambda 函数（如果启用了数据转换）。控制台可创建带占位符的角色。有关更多信息，请参阅[什么是 IAM？](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)。
**注意**  
IAM 角色（包括占位符）根据您在创建 Firehose 流时选择的配置创建。如果您对 Firehose 流源或目的地进行任何更改，则必须手动更新 IAM 角色。
+ 标签-您可以添加标签来组织 AWS 资源、跟踪成本和控制访问权限。

  如果您在 `CreateDeliveryStream` 操作中执行了标签，则 Amazon Data Firehose 会对 `firehose:TagDeliveryStream` 操作执行额外的授权，以验证用户是否具备创建标签的权限。如果您不提供此权限，则创建带有 IAM 资源标签的新 Firehose 流的请求将失败，并显示 `AccessDeniedException`，如下所示。

  ```
  AccessDeniedException 
  User: arn:aws:sts::x:assumed-role/x/x is not authorized to perform: firehose:TagDeliveryStream on resource: arn:aws:firehose:us-east-1:x:deliverystream/x with an explicit deny in an identity-based policy.
  ```

  以下示例演示了允许用户创建 Firehose 流并应用标签的策略。

选择备份和高级设置后，查看您的选择，然后选择**创建 Firehose 流**。

新的 Firehose 流在**正在创建**状态下需要一些时间才能使用。当您的 Firehose 流处于**活动**状态后，就可以从生产者向其发送数据。