

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

# 数据转换所需的参数
<a name="data-transformation-status-model"></a>

来自 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>"
  }
  ```

------