数据转换所需的参数
来自 Lambda 的所有转换记录必须包含以下参数,否则 Amazon Data Firehose 将会拒绝并将其视为数据转换失败。
- For Kinesis Data Streams and Direct PUT
Lambda 中所有转换后的记录都需要以下参数。
recordId
:在调用期间,记录 ID 从 Amazon Data Firehose 传递到 Lambda。转换后的记录必须包含相同记录 ID。原始记录的 ID 和转换记录的 ID 之间如果有不匹配,将被视为数据转换失败。result
:记录的数据转换的状态。可能的值为:Ok
(记录成功转换)、Dropped
(处理逻辑故意丢弃记录)和ProcessingFailed
(记录无法转换)。如果记录的状态为Ok
或Dropped
,Amazon Data Firehose 会视为处理成功。否则,Amazon Data Firehose 会视为处理失败。data
:转换后的数据负载(使用 base64 编码之后)。以下是 Lambda 结果输出示例:
{ "recordId":
"<recordId from the Lambda input>"
, "result": "Ok", "data":"<Base64 encoded Transformed data>"
}
- For Amazon MSK
-
Lambda 中所有转换后的记录都需要以下参数。
recordId
:在调用期间,记录 ID 从 Firehose 传递到 Lambda。转换后的记录必须包含相同记录 ID。原始记录的 ID 和转换记录的 ID 之间如果有不匹配,将被视为数据转换失败。result
:记录的数据转换的状态。可能的值为:Ok
(记录成功转换)、Dropped
(处理逻辑故意丢弃记录)和ProcessingFailed
(记录无法转换)。如果记录的状态为Ok
或Dropped
,则 Firehose 会认为它已成功处理。否则,Firehose 会视为处理失败。KafkaRecordValue
:转换后的数据负载(使用 base64 编码之后)。以下是 Lambda 结果输出示例:
{ "recordId":
"<recordId from the Lambda input>"
, "result": "Ok", "kafkaRecordValue":"<Base64 encoded Transformed data>"
}
转换源数据
支持的 Lambda 蓝图