亚马逊 Data Firehose 以前被称为亚马逊 Kinesis Data Firehose
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
缓冲提示
Amazon Data Firehose 会将内存中传入的流数据缓冲到一定大小(缓冲大小)和一段时间(缓冲间隔),然后再将其传送到指定目的地。如果您想向 Amazon S3 交付大小最佳的文件并提高数据处理应用程序的性能,或者要调整 Firehose 的传输速率以匹配目标速度,则需要使用缓冲提示。
您可以在创建新的传输流时配置缓冲大小和缓冲间隔,或者更新现有交付流的缓冲大小和缓冲间隔。缓冲大小以 MB 为单位测量,缓冲间隔以秒为单位。但是,如果您为其中之一指定值,您还必须为另一个提供值。满足的第一个缓冲条件会触发 Firehose 交付数据。如果您未配置缓冲值,则使用默认值。
您可以通过Amazon Web Services Management Console、Amazon Command Line Interface或软件开发工具包配置 Firehose 缓冲提示。Amazon对于现有流,您可以使用控制台中的编辑选项或使用 API 重新配置缓冲提示,使其具有适合您用例的值。UpdateDestination对于新直播,您可以使用控制台或 CreateDeliveryStreamAPI 将缓冲提示配置为创建新直播的一部分。要调整缓冲区大小,请在CreateDeliveryStream或 UpdateDestinationAPI 的目标特定DestinationConfiguration
参数IntervalInSeconds
中设置SizeInMBs
和。
注意
为了降低实时用例的延迟,您可以使用零缓冲间隔提示。当您将缓冲间隔配置为零秒时,Firehose 不会缓冲数据,而是在几秒钟内传送数据。在将缓冲提示更改为较低的值之前,请咨询供应商,了解有关其目标的 Firehose 推荐缓冲提示。
注意
当您配置的缓冲时间间隔小于 60 秒以提供更低的延迟时,Firehose 会对 S3 目标使用分段上传。由于 S3 目标的分段上传,如果您选择的缓冲时间间隔小于 60 秒,则会看到 S3 PUT
API 成本会有所增加。
有关目标特定的缓冲提示范围和默认值,请参阅下表:
目标位置 | 缓冲区大小(以 MB 为单位)(括号中为默认值) | 以秒为单位的缓冲间隔(括号中为默认) |
---|---|---|
S3 | 1-128 (5) | 0-900 (300) |
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) |
Elastic | 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) |
洛吉奥 | 1-64 (5) | 0-900 (60) |
MongoDB | 1-16 (5) | 0-900 (60) |
NewRelic | 1-64 (5) | 0-900 (60) |
SumoLog | 1-64 (1) | 0-900 (60) |
Splunk Observability Cloud | 1-64 (1) | 0-900 (60) |