本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
資料轉換的必要參數
來自 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>"
}