Kinesis Firehose

支持的管道类型:

  •  Data Collector

  •  Data Collector Edge

Kinesis Firehose目标端将数据写入Amazon Kinesis Firehose传输流。Firehose自动将数据传递到您在传输流中指定的Amazon S3存储桶或Amazon Redshift表。

要将数据写入Amazon Kinesis Streams,请使用Kinesis Producer目标端。要将数据直接写入Amazon S3,请使用Amazon S3目标端。

当您使用Kinesis Firehose目标端将数据传递到Amazon S3时,Firehose可以在将数据传递到Amazon S3之前将传入的记录缓冲成更大的文件大小。创建传递流时,可以配置缓冲区大小和缓冲区间隔。

配置Kinesis Firehose目标端时,您可以指定要写入的现有传输流,AWS凭证和区域以及要使用的数据格式。

AWS凭据

Data Collector将数据写入Kinesis Firehose目标端时,它必须将凭据传递给Amazon Web Services。

使用以下方法之一来传递AWS凭证:

IAM角色
当Data Collector 在Amazon EC2实例上运行时,您可以使用AWS管理控制台为EC2实例配置IAM角色。Data Collector使用IAM实例配置文件凭证自动连接到AWS。
要使用IAM角色,请不要配置“Access Key ID”和“Secret Access Key”属性
有关将IAM角色分配给EC2实例的更多信息,请参阅Amazon EC2文档。
AWS访问密钥对
Data Collector未在Amazon EC2实例上运行或EC2实例不具有IAM角色时,您必须配置访问密钥ID秘密访问密钥 属性。
提示:为了保护敏感信息,例如访问密钥对,可以使用运行时资源或凭据存储。
提示:为了保护敏感信息,例如访问密钥对,可以使用运行时资源或凭据存储。

传输流

Kinesis Firehose目标端将数据写入Amazon Kinesis Firehose中的现有传输流。在使用Kinesis Firehose目标端之前,请使用AWS管理控制台创建到Amazon S3存储桶或Amazon Redshift表的传输流。

有关创建Firehose交付流的更多信息,请参阅Amazon Kinesis Firehose文档。

数据格式

Kinesis Firehose目标端根据您选择的数据格式将数据写入Kinesis Firehose传输流。

在Data Collector Edge管道中, 目标端仅支持JSON数据格式。

Kinesis Firehose目标端处理数据格式如下:

Delimited
目标端将记录写为分隔数据。使用此数据格式时,根字段必须是list或list-map。

您可以使用以下分隔格式类型:

  • Default CSV-包含逗号分隔值的文件。忽略文件中的空行。
  • RFC4180 CSV-严格遵循RFC4180准则的逗号分隔文件。
  • MS Excel CSV -Microsoft Excel逗号分隔文件。
  • MySQL CSV -MySQL逗号分隔文件。
  • Tab-Separated Values -包含制表符分隔的值的文件。
  • PostgreSQL CSV -PostgreSQL逗号分隔文件。
  • PostgreSQL文本 -PostgreSQL文本文件。
  • Custom -使用用户定义的分隔符,转义符和引号字符的文件。
  • Multi Character Delimited-使用多个用户定义的字符分隔字段和行以及单个用户定义的转义和引号字符的文件。
JSON
目标端将记录写为JSON数据。使用多个对象格式,其中每个文件都包含多个JSON对象。每个对象都是记录的JSON表示形式。

注意: Kinesis Firehose目标端不支持对象格式的JSON数组。

配置Kinesis Firehose目标端

配置Kinesis Firehose目标端,以将数据写入Amazon Kinesis Firehose交付流。

  1. 在“Properties”面板的“General选项卡上,配置以下属性:
    一般属性 描述
    Name 阶段名。
    Description 可选说明。
    Required Fields 必须包含用于将记录传递到阶段的记录的数据的字段。

    提示:您可能包括阶段使用的字段。

    根据为管道配置的错误处理,处理不包括所有必填字段的记录。

    Preconditions 必须评估为TRUE的条件才能使记录进入处理阶段。单击 添加以创建其他前提条件。

    根据为该阶段配置的错误处理,处理不满足所有前提条件的记录。

    On Record Error 该阶段的错误记录处理:

    • Discard-放弃记录。
    • To Error-将记录发送到管道以进行错误处理。
    • Stop Pipeline-停止管道。对集群管道无效。
  2. 在“Kinesis”选项卡上,配置以下属性:
    Kinesis属性 描述
    Access Key ID

    AWS访问密钥ID。

    不将IAM角色与IAM实例配置文件凭据一起使用时是必需的。

    Secret Access Key

    AWS秘密访问密钥。

    不将IAM角色与IAM实例配置文件凭据一起使用时是必需的。

    Destination Type 要写入的Amazon目标端的类型。选择“Existing Stream
    Region Amazon Web Services地区。
    Endpoint 当您为区域选择“Other”时要连接的端点。输入端点名称。
    Stream Name 要写入的现有传递流。

    使用AWS管理控制台创建到Amazon S3存储桶或Amazon Redshift表的交付流。

    Maximum Record Size (KB) 单个记录的最大大小。当记录超过此大小时,目标端将根据为该阶段配置的错误记录处理来处理记录。

    警告: Firehose记录的最大大小为1,000 KB。如果您配置的最大大小大于1,000 KB,则Firehose不接受目标端写入的任何数据。
  3. 在“Data Format选项卡上,配置以下属性:
    数据格式属性 描述
    Data Format 要使用的数据格式。使用以下数据格式之一:

    • Delimited
    • JSON

    在Data Collector Edge管道中, 目标端仅支持JSON数据格式。

  4. 对于分隔数据,在“Data Format选项卡上,配置以下属性:
    分隔属性 描述
    Delimiter Format 分隔数据的格式:

    • Default CSV-包含逗号分隔值的文件。忽略文件中的空行。
    • RFC4180 CSV-严格遵循RFC4180准则的逗号分隔文件。
    • MS Excel CSV -Microsoft Excel逗号分隔文件。
    • MySQL CSV -MySQL逗号分隔文件。
    • Tab-Separated Values -包含制表符分隔的值的文件。
    • PostgreSQL CSV -PostgreSQL逗号分隔文件。
    • PostgreSQL Text -PostgreSQL文本文件。
    • Custom -使用用户定义的分隔符,转义符和引号字符的文件。
    • Multi Character Delimited-使用多个用户定义的字符分隔字段和行以及单个用户定义的转义和引号字符的文件。
    Header Line 指示是否创建标题行。
    Replace New Line Characters 用配置的字符串替换换行符。

    在将数据写为单行文本时推荐使用。

    New Line Character Replacement 用于替换每个换行符的字符串。例如,输入一个空格以将每个换行符替换为一个空格。

    留空以删除新行字符。

    Delimiter Character 自定义分隔符格式的分隔符。选择一个可用选项,或使用“Other”输入自定义字符。

    您可以输入使用格式\ U A的Unicode控制符NNNN,其中N是数字0-9或字母AF十六进制数字。例如,输入\ u0000以将空字符用作分隔符,或输入\ u2028以将行分隔符用作分隔符。

    默认为竖线字符(|)。

    Escape Character 自定义分隔符格式的转义符。选择一个可用选项,或使用“Other”输入自定义字符。

    默认为反斜杠字符(\)。

    Quote Character 自定义分隔符格式的引号字符。选择一个可用选项,或使用“Other”输入自定义字符。

    默认为引号字符(””)。

    Charset 写入数据时使用的字符集。
  5. 对于JSON数据,在“Data Format”选项卡上,配置以下属性:
    JSON属性 描述
    JSON Content 确定如何写入JSON数据。选择多个JSON对象。每个文件包含多个JSON对象。每个对象都是记录的JSON表示形式。

    注意: Kinesis Firehose目标端不支持对象格式的JSON数组。
    Charset 写入数据时使用的字符集。