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