github.com/Foodji/aws-lambda-go@v1.20.2/events/firehose.go (about)

     1  // Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
     2  
     3  package events
     4  
     5  // KinesisFirehoseEvent represents the input event from Amazon Kinesis Firehose. It is used as the input parameter.
     6  type KinesisFirehoseEvent struct {
     7  	InvocationID           string                       `json:"invocationId"`
     8  	DeliveryStreamArn      string                       `json:"deliveryStreamArn"`
     9  	SourceKinesisStreamArn string                       `json:"sourceKinesisStreamArn"`
    10  	Region                 string                       `json:"region"`
    11  	Records                []KinesisFirehoseEventRecord `json:"records"`
    12  }
    13  
    14  type KinesisFirehoseEventRecord struct {
    15  	RecordID                      string                        `json:"recordId"`
    16  	ApproximateArrivalTimestamp   MilliSecondsEpochTime         `json:"approximateArrivalTimestamp"`
    17  	Data                          []byte                        `json:"data"`
    18  	KinesisFirehoseRecordMetadata KinesisFirehoseRecordMetadata `json:"kinesisRecordMetadata"`
    19  }
    20  
    21  // Constants used for describing the transformation result
    22  const (
    23  	KinesisFirehoseTransformedStateOk               = "Ok"
    24  	KinesisFirehoseTransformedStateDropped          = "Dropped"
    25  	KinesisFirehoseTransformedStateProcessingFailed = "ProcessingFailed"
    26  )
    27  
    28  type KinesisFirehoseResponse struct {
    29  	Records []KinesisFirehoseResponseRecord `json:"records"`
    30  }
    31  
    32  type KinesisFirehoseResponseRecord struct {
    33  	RecordID string `json:"recordId"`
    34  	Result   string `json:"result"` // The status of the transformation. May be TransformedStateOk, TransformedStateDropped or TransformedStateProcessingFailed
    35  	Data     []byte `json:"data"`
    36  }
    37  
    38  type KinesisFirehoseRecordMetadata struct {
    39  	ShardID                     string                `json:"shardId"`
    40  	PartitionKey                string                `json:"partitionKey"`
    41  	SequenceNumber              string                `json:"sequenceNumber"`
    42  	SubsequenceNumber           int64                 `json:"subsequenceNumber"`
    43  	ApproximateArrivalTimestamp MilliSecondsEpochTime `json:"approximateArrivalTimestamp"`
    44  }