Amazon Kinesis Data Firehose 数据转换

Kinesis Data Firehose 可以调用您的 Lambda 函数转换传入的源数据并将转换后的数据传输给目标。当您创建传输流时,可以启用 Kinesis Data Firehose 数据转换。

数据转换流

启用 Kinesis Data Firehose 数据转换后,Kinesis Data Firehose 默认情况下将缓冲最多 3 MB 的传入数据。(要调整缓冲大小,请将 ProcessingConfiguration API 与名为 BufferSizeInMBs 的 ProcessorParameter 一起使用。)然后,Kinesis Data Firehose 将使用 AWS Lambda 同步调用模式,对每个缓冲的批处理异步调用指定的 Lambda 函数。转换后的数据将从 Lambda 发送到 Kinesis Data Firehose。然后,当达到指定的目标缓冲大小或缓冲间隔时(以先达到者为准),Kinesis Data Firehose 会将这些数据发送到目的地。

重要

对于请求和响应,Lambda 同步调用模式的负载大小限制为 6 MB。确保用于向函数发送请求的缓冲大小小于或等于 6 MB,并且函数返回的响应也不超过 6 MB。

数据转换和状态模型

所有通过 Lambda 转换的记录均包含以下参数,否则 Kinesis Data Firehose 会拒绝它们并将其视为数据转换失败。

recordId

记录 ID 在调用期间从 Kinesis Data Firehose 传递到 Lambda。转换后的记录必须包含相同记录 ID。原始记录的 ID 和转换记录的 ID 之间如果有不匹配,将被视为数据转换失败。

result

记录的数据转换的状态。可能的值为:Ok(记录成功转换)、Dropped(处理逻辑故意丢弃记录)和 ProcessingFailed(记录无法转换)。如果记录的状态为 Ok 或 Dropped,Kinesis Data Firehose 会认为它已成功处理。否则,Kinesis Data Firehose 会认为它未被成功处理。

数据

转换后的数据负载 (使用 base64 编码之后)。

Lambda 蓝图

Kinesis Data Firehose 提供以下 Lambda 蓝图,可供您用来为数据转换创建 Lambda 函数。

  • General Firehose Processing (一般 Firehose 处理) — 包含上一部分中描述的数据转换和状态模型。可将此蓝图用于任何自定义转换逻辑。
  • Syslog to JSON (Syslog 到 JSON) — 解析 Syslog 行并将其转换为 JSON 对象(使用预定义的 JSON 字段名称)。
  • Syslog to CSV (Syslog 到 CSV) — 解析 Syslog 行并将其转换为 CSV 格式。
  • Kinesis Data Firehose Process Record Streams as source (Kinesis Data Firehose 将记录流作为源进行处理) — 访问输入中的 Kinesis Data Streams 记录,并返回记录及处理状态。
  • Kinesis Data Firehose CloudWatch Logs Processor (Kinesis Data Firehose CloudWatch Logs 处理器) —从 CloudWatch Logs 订阅筛选器发送的记录中解析和提取各个日志事件。

Lambda 蓝图仅提供 Node.js 和 Python 语言版本。

Lambda 调用的持续时间

Kinesis Data Firehose 支持的 Lambda 调用时间长达 5 分钟。如果您的 Lambda 函数需要超过 5 分钟才能完成,您将收到以下错误:Firehose 在调用 AWS Lambda 时遇到超时错误。支持的最大函数超时为 5 分钟。

原文地址:https://www.cnblogs.com/cloudrivers/p/11620411.html

时间: 2024-11-09 09:49:37

Amazon Kinesis Data Firehose 数据转换的相关文章

Amazon Kinesis Data Firehose

Amazon Kinesis Data Firehose 是一个完全托管的服务,用于将实时流数据传输到目标,例如,Amazon Simple Storage Service (Amazon S3).Amazon Redshift.Amazon Elasticsearch Service (Amazon ES) 和 Splunk.Kinesis Data Firehose 与 Kinesis Data Streams.Kinesis Video Streams 和 Amazon Kinesis D

Amazon Kinesis Data Streams 术语和概念

Kinesis Data Streams 高级别架构 下图演示 Kinesis Data Streams 的高级别架构.创建器会持续将数据推送到 Kinesis Data Streams,并且使用者 可实时处理数据.使用者(如在 Amazon EC2 上运行的自定义应用程序或 Amazon Kinesis Data Firehose 传输流)可以使用 Amazon DynamoDB.Amazon Redshift 或 Amazon S3 等 AWS 服务存储其结果. Kinesis Data S

读取 Amazon Kinesis Data Streams 中的数据

使用者 是一种处理 Kinesis 数据流中的所有数据的应用程序.当使用者使用增强型扇出功能 时,它会获取其自己的 2 MiB/秒的读取吞吐量配额,从而允许多个使用者并行读取相同流中的数据,而不必与其他使用者争用读取吞吐量.默认情况下,流中的每个分片均提供 2 MiB/秒的读取吞吐量.此吞吐量跨正在从某给定分片进行读取的所有使用器获取分片.换言之,每个分片的默认 2 MiB/秒的吞吐量是固定的,即使有多个使用器正在从分片中进行读取. 特性 没有增强型扇出功能的未注册使用者 具有增强型扇出功能的注

Kinesis Data Streams 的服务器端加密

服务器端加密是 Amazon Kinesis Data Streams 中的一项功能,此功能在数据成为静态数据之前使用您指定的 AWS KMS 客户主密钥 (CMK) 自动对数据进行加密.数据在写入 Kinesis 流存储层之前加密,并在从存储检索到之后进行解密.因此,在 Kinesis Data Streams 服务中对数据进行静态加密.这样,您就可以满足严格的监管要求并增强您数据的安全性. 采用服务器端加密时,您的 Kinesis 流创建者和使用者不需要管理主密钥或加密操作.您的数据在进入和

【总结】Amazon Kinesis实时数据分析最佳实践分享

1.邱洋总结 AWS的服务全部采用SOA架构可以需要时相互调用 关于大数据的实时流处理,AWS提供了传统方案和完全host方案 传统方案是EC2上面部署flume (采集).kafka(数据转存).storam(流处理) 完全host方案是Kinesis 使用Kinesis还是需要用户通过API来将手机.网站点击.IoT.传感器等各类数据源的数据接入 允许用户编写Kinesis的Worker来处理自定义的数据处理逻辑(扩展性) Kinesis处理之后的数据,AWS建议存储S3或redshift等

AWS 数据分析服务(十)

Amazon Kinesis 概念 处理AWS上大量流数据的数据平台 Kinesis Streams 用于搜集数据,Client Library 用于分析后的展示 构建用于处理或分析流数据的自定义应用程序 可以支持从数十万中来源捕获和存储TB级的数据,如网站点击流.财务交易.媒体馈送.IT日志等 使用IAM限制用户和角色对Kinesis的访问,使用角色的临时安全凭证可以提高安全性 Kiesis只能使用SSL加密进行访问 Kinesis组件 Kinesis Data Firehose 加载大量流数

使用JSONPath

SONPath是查询JSON对象元素的标准方法.JSONPath使用路径表达式来导航JSON文档中的元素,嵌套元素和数组.有关JSON的更多信息,请参阅JSON简介. 使用JSONPath访问JSON元素 接下来,您可以找到如何使用JSONPath表达式访问JSON格式数据中的各种元素.对于本节中的示例,假设源流包含以下格式的JSON记录. { "customerName":"John Doe", "address": { "stree

《从0到1学习Flink》—— Flink Data transformation(转换)

前言 在第一篇介绍 Flink 的文章 <<从0到1学习Flink>-- Apache Flink 介绍> 中就说过 Flink 程序的结构 Flink 应用程序结构就是如上图所示: 1.Source: 数据源,Flink 在流处理和批处理上的 source 大概有 4 类:基于本地集合的 source.基于文件的 source.基于网络套接字的 source.自定义的 source.自定义的 source 常见的有 Apache kafka.Amazon Kinesis Stre

一篇文章带你看懂AWS re:Invent 2018大会,揭秘Amazon Aurora

本文由云+社区发表 | 本文作者: 刘峰,腾讯云NewSQL数据库产品负责人.曾职于联想研究院,Teradata北京研发中心,从事数据库相关工作8年.2017年加入腾讯数据库产品中心,担任NewSQL数据库产品负责人. 云数据库与传统数据库的战争已打响,一个字概括就是"抢". 如火如茶的 AWS re:Invent 2018大会闭幕了,相信云养鹅的产品经理们又准时打开油管,Recap一年一度的科技盛宴. 据说今年一共发布了140多项产品服务,但是,Amazon Aurora 数据库 仍