diff --git a/events/firehose.go b/events/firehose.go index aace0cff..72454e70 100644 --- a/events/firehose.go +++ b/events/firehose.go @@ -30,9 +30,14 @@ type KinesisFirehoseResponse struct { } type KinesisFirehoseResponseRecord struct { - RecordID string `json:"recordId"` - Result string `json:"result"` // The status of the transformation. May be TransformedStateOk, TransformedStateDropped or TransformedStateProcessingFailed - Data []byte `json:"data"` + RecordID string `json:"recordId"` + Result string `json:"result"` // The status of the transformation. May be TransformedStateOk, TransformedStateDropped or TransformedStateProcessingFailed + Data []byte `json:"data"` + Metadata KinesisFirehoseResponseRecordMetadata `json:"metadata"` +} + +type KinesisFirehoseResponseRecordMetadata struct { + PartitionKeys map[string]string `json:"partitionKeys"` } type KinesisFirehoseRecordMetadata struct { diff --git a/events/testdata/kinesis-firehose-response.json b/events/testdata/kinesis-firehose-response.json index 04cb7d4b..c7c4466c 100644 --- a/events/testdata/kinesis-firehose-response.json +++ b/events/testdata/kinesis-firehose-response.json @@ -3,12 +3,29 @@ { "data": "SGVsbG8gV29ybGQ=", "recordId": "record1", - "result": "TRANSFORMED_STATE_OK" + "result": "TRANSFORMED_STATE_OK", + "metadata": { + "partitionKeys": {} + } }, { "data": "SGVsbG8gV29ybGQ=", "recordId": "record2", - "result": "TRANSFORMED_STATE_DROPPED" + "result": "TRANSFORMED_STATE_DROPPED", + "metadata": { + "partitionKeys": {} + } + }, + { + "data": "SGVsbG8gV29ybGQ=", + "recordId": "record3", + "result": "TransformedStateOk", + "metadata": { + "partitionKeys": { + "iamKey1": "iamValue1", + "iamKey2": "iamValue2" + } + } } ] }