

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 資料轉換所需的參數
<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>"}}
  }
  ```

------