awscdkkinesisfirehosedestinationsalpha

package module
v2.178.1-alpha.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 7, 2025 License: Apache-2.0 Imports: 12 Imported by: 1

README

Amazon Kinesis Data Firehose Destinations Library

---

Deprecated

This API may emit warnings. Backward compatibility is not guaranteed.


All constructs moved to aws-cdk-lib/aws-kinesisfirehose.

This library provides constructs for adding destinations to a Amazon Kinesis Data Firehose delivery stream. Destinations can be added by specifying the destinations prop when defining a delivery stream.

See Amazon Kinesis Data Firehose module README for usage examples.

import destinations "github.com/aws/aws-cdk-go/awscdkkinesisfirehosedestinationsalpha"

Documentation

Overview

This module is deprecated. All constructs are now available under aws-kinesisfirehose

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewDisableLogging_Override

func NewDisableLogging_Override(d DisableLogging)

Deprecated.

func NewEnableLogging_Override

func NewEnableLogging_Override(e EnableLogging, logGroup awslogs.ILogGroup)

Deprecated.

func NewS3Bucket_Override

func NewS3Bucket_Override(s S3Bucket, bucket awss3.IBucket, props *S3BucketProps)

Deprecated.

Types

type BackupMode

type BackupMode string

Options for S3 record backup of a delivery stream.

Example:

// Enable backup of all source records (to an S3 bucket created by CDK).
var bucket bucket
// Explicitly provide an S3 bucket to which all source records will be backed up.
var backupBucket bucket

firehose.NewDeliveryStream(this, jsii.String("Delivery Stream Backup All"), &DeliveryStreamProps{
	Destination:
	destinations.NewS3Bucket(bucket, &S3BucketProps{
		S3Backup: &DestinationS3BackupProps{
			Mode: destinations.BackupMode_ALL,
		},
	}),
})
firehose.NewDeliveryStream(this, jsii.String("Delivery Stream Backup All Explicit Bucket"), &DeliveryStreamProps{
	Destination:
	destinations.NewS3Bucket(bucket, &S3BucketProps{
		S3Backup: &DestinationS3BackupProps{
			Bucket: backupBucket,
		},
	}),
})
// Explicitly provide an S3 prefix under which all source records will be backed up.
// Explicitly provide an S3 prefix under which all source records will be backed up.
firehose.NewDeliveryStream(this, jsii.String("Delivery Stream Backup All Explicit Prefix"), &DeliveryStreamProps{
	Destination:
	destinations.NewS3Bucket(bucket, &S3BucketProps{
		S3Backup: &DestinationS3BackupProps{
			Mode: destinations.BackupMode_ALL,
			DataOutputPrefix: jsii.String("mybackup"),
		},
	}),
})

Deprecated.

const (
	// All records are backed up.
	// Deprecated.
	BackupMode_ALL BackupMode = "ALL"
	// Only records that failed to deliver or transform are backed up.
	// Deprecated.
	BackupMode_FAILED BackupMode = "FAILED"
)

type CommonDestinationProps

type CommonDestinationProps struct {
	// Configuration that determines whether to log errors during data transformation or delivery failures, and specifies the CloudWatch log group for storing error logs.
	// Default: - errors will be logged and a log group will be created for you.
	//
	// Deprecated.
	LoggingConfig ILoggingConfig `field:"optional" json:"loggingConfig" yaml:"loggingConfig"`
	// The data transformation that should be performed on the data before writing to the destination.
	// Default: - no data transformation will occur.
	//
	// Deprecated.
	Processor awscdkkinesisfirehosealpha.IDataProcessor `field:"optional" json:"processor" yaml:"processor"`
	// The IAM role associated with this destination.
	//
	// Assumed by Kinesis Data Firehose to invoke processors and write to destinations.
	// Default: - a role will be created with default permissions.
	//
	// Deprecated.
	Role awsiam.IRole `field:"optional" json:"role" yaml:"role"`
	// The configuration for backing up source records to S3.
	// Default: - source records will not be backed up to S3.
	//
	// Deprecated.
	S3Backup *DestinationS3BackupProps `field:"optional" json:"s3Backup" yaml:"s3Backup"`
}

Generic properties for defining a delivery stream destination.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import kinesisfirehose_alpha "github.com/aws/aws-cdk-go/awscdkkinesisfirehosealpha"
import kinesisfirehose_destinations_alpha "github.com/aws/aws-cdk-go/awscdkkinesisfirehosedestinationsalpha"
import cdk "github.com/aws/aws-cdk-go/awscdk"
import "github.com/aws/aws-cdk-go/awscdk"
import "github.com/aws/aws-cdk-go/awscdk"
import "github.com/aws/aws-cdk-go/awscdk"

var bucket bucket
var compression compression
var dataProcessor iDataProcessor
var key key
var loggingConfig iLoggingConfig
var role role
var size size

commonDestinationProps := &CommonDestinationProps{
	LoggingConfig: loggingConfig,
	Processor: dataProcessor,
	Role: role,
	S3Backup: &DestinationS3BackupProps{
		Bucket: bucket,
		BufferingInterval: cdk.Duration_Minutes(jsii.Number(30)),
		BufferingSize: size,
		Compression: compression,
		DataOutputPrefix: jsii.String("dataOutputPrefix"),
		EncryptionKey: key,
		ErrorOutputPrefix: jsii.String("errorOutputPrefix"),
		LoggingConfig: loggingConfig,
		Mode: kinesisfirehose_destinations_alpha.BackupMode_ALL,
	},
}

Deprecated.

type CommonDestinationS3Props

type CommonDestinationS3Props struct {
	// The length of time that Firehose buffers incoming data before delivering it to the S3 bucket.
	//
	// Minimum: Duration.seconds(0)
	// Maximum: Duration.seconds(900)
	// Default: Duration.seconds(300)
	//
	// Deprecated.
	BufferingInterval awscdk.Duration `field:"optional" json:"bufferingInterval" yaml:"bufferingInterval"`
	// The size of the buffer that Kinesis Data Firehose uses for incoming data before delivering it to the S3 bucket.
	//
	// Minimum: Size.mebibytes(1)
	// Maximum: Size.mebibytes(128)
	// Default: Size.mebibytes(5)
	//
	// Deprecated.
	BufferingSize awscdk.Size `field:"optional" json:"bufferingSize" yaml:"bufferingSize"`
	// The type of compression that Kinesis Data Firehose uses to compress the data that it delivers to the Amazon S3 bucket.
	//
	// The compression formats SNAPPY or ZIP cannot be specified for Amazon Redshift
	// destinations because they are not supported by the Amazon Redshift COPY operation
	// that reads from the S3 bucket.
	// Default: - UNCOMPRESSED.
	//
	// Deprecated.
	Compression Compression `field:"optional" json:"compression" yaml:"compression"`
	// A prefix that Kinesis Data Firehose evaluates and adds to records before writing them to S3.
	//
	// This prefix appears immediately following the bucket name.
	// See: https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html
	//
	// Default: "YYYY/MM/DD/HH".
	//
	// Deprecated.
	DataOutputPrefix *string `field:"optional" json:"dataOutputPrefix" yaml:"dataOutputPrefix"`
	// The AWS KMS key used to encrypt the data that it delivers to your Amazon S3 bucket.
	// Default: - Data is not encrypted.
	//
	// Deprecated.
	EncryptionKey awskms.IKey `field:"optional" json:"encryptionKey" yaml:"encryptionKey"`
	// A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3.
	//
	// This prefix appears immediately following the bucket name.
	// See: https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html
	//
	// Default: "YYYY/MM/DD/HH".
	//
	// Deprecated.
	ErrorOutputPrefix *string `field:"optional" json:"errorOutputPrefix" yaml:"errorOutputPrefix"`
}

Common properties for defining a backup, intermediary, or final S3 destination for a Kinesis Data Firehose delivery stream.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import kinesisfirehose_destinations_alpha "github.com/aws/aws-cdk-go/awscdkkinesisfirehosedestinationsalpha"
import cdk "github.com/aws/aws-cdk-go/awscdk"
import "github.com/aws/aws-cdk-go/awscdk"

var compression compression
var key key
var size size

commonDestinationS3Props := &CommonDestinationS3Props{
	BufferingInterval: cdk.Duration_Minutes(jsii.Number(30)),
	BufferingSize: size,
	Compression: compression,
	DataOutputPrefix: jsii.String("dataOutputPrefix"),
	EncryptionKey: key,
	ErrorOutputPrefix: jsii.String("errorOutputPrefix"),
}

Deprecated.

type Compression

type Compression interface {
	// the string value of the Compression.
	// Deprecated.
	Value() *string
}

Possible compression options Kinesis Data Firehose can use to compress data on delivery.

Example:

// Compress data delivered to S3 using Snappy
var bucket bucket

s3Destination := destinations.NewS3Bucket(bucket, &S3BucketProps{
	Compression: destinations.Compression_SNAPPY(),
})
firehose.NewDeliveryStream(this, jsii.String("Delivery Stream"), &DeliveryStreamProps{
	Destination: s3Destination,
})

Deprecated.

func Compression_GZIP

func Compression_GZIP() Compression

func Compression_HADOOP_SNAPPY

func Compression_HADOOP_SNAPPY() Compression

func Compression_Of

func Compression_Of(value *string) Compression

Creates a new Compression instance with a custom value. Deprecated.

func Compression_SNAPPY

func Compression_SNAPPY() Compression

func Compression_ZIP

func Compression_ZIP() Compression

type DestinationS3BackupProps

type DestinationS3BackupProps struct {
	// The length of time that Firehose buffers incoming data before delivering it to the S3 bucket.
	//
	// Minimum: Duration.seconds(0)
	// Maximum: Duration.seconds(900)
	// Default: Duration.seconds(300)
	//
	// Deprecated.
	BufferingInterval awscdk.Duration `field:"optional" json:"bufferingInterval" yaml:"bufferingInterval"`
	// The size of the buffer that Kinesis Data Firehose uses for incoming data before delivering it to the S3 bucket.
	//
	// Minimum: Size.mebibytes(1)
	// Maximum: Size.mebibytes(128)
	// Default: Size.mebibytes(5)
	//
	// Deprecated.
	BufferingSize awscdk.Size `field:"optional" json:"bufferingSize" yaml:"bufferingSize"`
	// The type of compression that Kinesis Data Firehose uses to compress the data that it delivers to the Amazon S3 bucket.
	//
	// The compression formats SNAPPY or ZIP cannot be specified for Amazon Redshift
	// destinations because they are not supported by the Amazon Redshift COPY operation
	// that reads from the S3 bucket.
	// Default: - UNCOMPRESSED.
	//
	// Deprecated.
	Compression Compression `field:"optional" json:"compression" yaml:"compression"`
	// A prefix that Kinesis Data Firehose evaluates and adds to records before writing them to S3.
	//
	// This prefix appears immediately following the bucket name.
	// See: https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html
	//
	// Default: "YYYY/MM/DD/HH".
	//
	// Deprecated.
	DataOutputPrefix *string `field:"optional" json:"dataOutputPrefix" yaml:"dataOutputPrefix"`
	// The AWS KMS key used to encrypt the data that it delivers to your Amazon S3 bucket.
	// Default: - Data is not encrypted.
	//
	// Deprecated.
	EncryptionKey awskms.IKey `field:"optional" json:"encryptionKey" yaml:"encryptionKey"`
	// A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3.
	//
	// This prefix appears immediately following the bucket name.
	// See: https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html
	//
	// Default: "YYYY/MM/DD/HH".
	//
	// Deprecated.
	ErrorOutputPrefix *string `field:"optional" json:"errorOutputPrefix" yaml:"errorOutputPrefix"`
	// The S3 bucket that will store data and failed records.
	// Default: - If `mode` is set to `BackupMode.ALL` or `BackupMode.FAILED`, a bucket will be created for you.
	//
	// Deprecated.
	Bucket awss3.IBucket `field:"optional" json:"bucket" yaml:"bucket"`
	// Configuration that determines whether to log errors during data transformation or delivery failures, and specifies the CloudWatch log group for storing error logs.
	// Default: - errors will be logged and a log group will be created for you.
	//
	// Deprecated.
	LoggingConfig ILoggingConfig `field:"optional" json:"loggingConfig" yaml:"loggingConfig"`
	// Indicates the mode by which incoming records should be backed up to S3, if any.
	//
	// If `bucket` is provided, this will be implicitly set to `BackupMode.ALL`.
	// Default: - If `bucket` is provided, the default will be `BackupMode.ALL`. Otherwise,
	// source records are not backed up to S3.
	//
	// Deprecated.
	Mode BackupMode `field:"optional" json:"mode" yaml:"mode"`
}

Properties for defining an S3 backup destination.

S3 backup is available for all destinations, regardless of whether the final destination is S3 or not.

Example:

// Enable backup of all source records (to an S3 bucket created by CDK).
var bucket bucket
// Explicitly provide an S3 bucket to which all source records will be backed up.
var backupBucket bucket

firehose.NewDeliveryStream(this, jsii.String("Delivery Stream Backup All"), &DeliveryStreamProps{
	Destination:
	destinations.NewS3Bucket(bucket, &S3BucketProps{
		S3Backup: &DestinationS3BackupProps{
			Mode: destinations.BackupMode_ALL,
		},
	}),
})
firehose.NewDeliveryStream(this, jsii.String("Delivery Stream Backup All Explicit Bucket"), &DeliveryStreamProps{
	Destination:
	destinations.NewS3Bucket(bucket, &S3BucketProps{
		S3Backup: &DestinationS3BackupProps{
			Bucket: backupBucket,
		},
	}),
})
// Explicitly provide an S3 prefix under which all source records will be backed up.
// Explicitly provide an S3 prefix under which all source records will be backed up.
firehose.NewDeliveryStream(this, jsii.String("Delivery Stream Backup All Explicit Prefix"), &DeliveryStreamProps{
	Destination:
	destinations.NewS3Bucket(bucket, &S3BucketProps{
		S3Backup: &DestinationS3BackupProps{
			Mode: destinations.BackupMode_ALL,
			DataOutputPrefix: jsii.String("mybackup"),
		},
	}),
})

Deprecated.

type DisableLogging

type DisableLogging interface {
	ILoggingConfig
	// If true, log errors when data transformation or data delivery fails.
	//
	// `true` when using `EnableLogging`, `false` when using `DisableLogging`.
	// Deprecated.
	Logging() *bool
}

Disables logging for error logs.

When this class is used, logging is disabled (`logging: false`) and no CloudWatch log group can be specified.

Example:

var bucket bucket

destination := destinations.NewS3Bucket(bucket, &S3BucketProps{
	LoggingConfig: destinations.NewDisableLogging(),
})
firehose.NewDeliveryStream(this, jsii.String("Delivery Stream"), &DeliveryStreamProps{
	Destination: destination,
})

Deprecated.

func NewDisableLogging

func NewDisableLogging() DisableLogging

Deprecated.

type EnableLogging

type EnableLogging interface {
	ILoggingConfig
	// If true, log errors when data transformation or data delivery fails.
	//
	// `true` when using `EnableLogging`, `false` when using `DisableLogging`.
	// Deprecated.
	Logging() *bool
	// The CloudWatch log group where log streams will be created to hold error logs.
	// Deprecated.
	LogGroup() awslogs.ILogGroup
}

Enables logging for error logs with an optional custom CloudWatch log group.

When this class is used, logging is enabled (`logging: true`) and you can optionally provide a CloudWatch log group for storing the error logs.

If no log group is provided, a default one will be created automatically.

Example:

import logs "github.com/aws/aws-cdk-go/awscdk"
var bucket bucket

logGroup := logs.NewLogGroup(this, jsii.String("Log Group"))
destination := destinations.NewS3Bucket(bucket, &S3BucketProps{
	LoggingConfig: destinations.NewEnableLogging(logGroup),
})

firehose.NewDeliveryStream(this, jsii.String("Delivery Stream"), &DeliveryStreamProps{
	Destination: destination,
})

Deprecated.

func NewEnableLogging

func NewEnableLogging(logGroup awslogs.ILogGroup) EnableLogging

Deprecated.

type ILoggingConfig

type ILoggingConfig interface {
	// If true, log errors when data transformation or data delivery fails.
	//
	// `true` when using `EnableLogging`, `false` when using `DisableLogging`.
	// Deprecated.
	Logging() *bool
	// The CloudWatch log group where log streams will be created to hold error logs.
	// Default: - if `logging` is set to `true`, a log group will be created for you.
	//
	// Deprecated.
	LogGroup() awslogs.ILogGroup
}

Configuration interface for logging errors when data transformation or delivery fails.

This interface defines whether logging is enabled and optionally allows specifying a CloudWatch Log Group for storing error logs. Deprecated.

type S3Bucket

type S3Bucket interface {
	awscdkkinesisfirehosealpha.IDestination
	// Binds this destination to the Kinesis Data Firehose delivery stream.
	//
	// Implementers should use this method to bind resources to the stack and initialize values using the provided stream.
	// Deprecated.
	Bind(scope constructs.Construct, _options *awscdkkinesisfirehosealpha.DestinationBindOptions) *awscdkkinesisfirehosealpha.DestinationConfig
}

An S3 bucket destination for data from a Kinesis Data Firehose delivery stream.

Example:

var bucket bucket
// Provide a Lambda function that will transform records before delivery, with custom
// buffering and retry configuration
lambdaFunction := lambda.NewFunction(this, jsii.String("Processor"), &FunctionProps{
	Runtime: lambda.Runtime_NODEJS_LATEST(),
	Handler: jsii.String("index.handler"),
	Code: lambda.Code_FromAsset(path.join(__dirname, jsii.String("process-records"))),
})
lambdaProcessor := firehose.NewLambdaFunctionProcessor(lambdaFunction, &DataProcessorProps{
	BufferInterval: awscdk.Duration_Minutes(jsii.Number(5)),
	BufferSize: awscdk.Size_Mebibytes(jsii.Number(5)),
	Retries: jsii.Number(5),
})
s3Destination := destinations.NewS3Bucket(bucket, &S3BucketProps{
	Processor: lambdaProcessor,
})
firehose.NewDeliveryStream(this, jsii.String("Delivery Stream"), &DeliveryStreamProps{
	Destination: s3Destination,
})

Deprecated.

func NewS3Bucket

func NewS3Bucket(bucket awss3.IBucket, props *S3BucketProps) S3Bucket

Deprecated.

type S3BucketProps

type S3BucketProps struct {
	// The length of time that Firehose buffers incoming data before delivering it to the S3 bucket.
	//
	// Minimum: Duration.seconds(0)
	// Maximum: Duration.seconds(900)
	// Default: Duration.seconds(300)
	//
	// Deprecated.
	BufferingInterval awscdk.Duration `field:"optional" json:"bufferingInterval" yaml:"bufferingInterval"`
	// The size of the buffer that Kinesis Data Firehose uses for incoming data before delivering it to the S3 bucket.
	//
	// Minimum: Size.mebibytes(1)
	// Maximum: Size.mebibytes(128)
	// Default: Size.mebibytes(5)
	//
	// Deprecated.
	BufferingSize awscdk.Size `field:"optional" json:"bufferingSize" yaml:"bufferingSize"`
	// The type of compression that Kinesis Data Firehose uses to compress the data that it delivers to the Amazon S3 bucket.
	//
	// The compression formats SNAPPY or ZIP cannot be specified for Amazon Redshift
	// destinations because they are not supported by the Amazon Redshift COPY operation
	// that reads from the S3 bucket.
	// Default: - UNCOMPRESSED.
	//
	// Deprecated.
	Compression Compression `field:"optional" json:"compression" yaml:"compression"`
	// A prefix that Kinesis Data Firehose evaluates and adds to records before writing them to S3.
	//
	// This prefix appears immediately following the bucket name.
	// See: https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html
	//
	// Default: "YYYY/MM/DD/HH".
	//
	// Deprecated.
	DataOutputPrefix *string `field:"optional" json:"dataOutputPrefix" yaml:"dataOutputPrefix"`
	// The AWS KMS key used to encrypt the data that it delivers to your Amazon S3 bucket.
	// Default: - Data is not encrypted.
	//
	// Deprecated.
	EncryptionKey awskms.IKey `field:"optional" json:"encryptionKey" yaml:"encryptionKey"`
	// A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3.
	//
	// This prefix appears immediately following the bucket name.
	// See: https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html
	//
	// Default: "YYYY/MM/DD/HH".
	//
	// Deprecated.
	ErrorOutputPrefix *string `field:"optional" json:"errorOutputPrefix" yaml:"errorOutputPrefix"`
	// Configuration that determines whether to log errors during data transformation or delivery failures, and specifies the CloudWatch log group for storing error logs.
	// Default: - errors will be logged and a log group will be created for you.
	//
	// Deprecated.
	LoggingConfig ILoggingConfig `field:"optional" json:"loggingConfig" yaml:"loggingConfig"`
	// The data transformation that should be performed on the data before writing to the destination.
	// Default: - no data transformation will occur.
	//
	// Deprecated.
	Processor awscdkkinesisfirehosealpha.IDataProcessor `field:"optional" json:"processor" yaml:"processor"`
	// The IAM role associated with this destination.
	//
	// Assumed by Kinesis Data Firehose to invoke processors and write to destinations.
	// Default: - a role will be created with default permissions.
	//
	// Deprecated.
	Role awsiam.IRole `field:"optional" json:"role" yaml:"role"`
	// The configuration for backing up source records to S3.
	// Default: - source records will not be backed up to S3.
	//
	// Deprecated.
	S3Backup *DestinationS3BackupProps `field:"optional" json:"s3Backup" yaml:"s3Backup"`
}

Props for defining an S3 destination of a Kinesis Data Firehose delivery stream.

Example:

var bucket bucket
// Provide a Lambda function that will transform records before delivery, with custom
// buffering and retry configuration
lambdaFunction := lambda.NewFunction(this, jsii.String("Processor"), &FunctionProps{
	Runtime: lambda.Runtime_NODEJS_LATEST(),
	Handler: jsii.String("index.handler"),
	Code: lambda.Code_FromAsset(path.join(__dirname, jsii.String("process-records"))),
})
lambdaProcessor := firehose.NewLambdaFunctionProcessor(lambdaFunction, &DataProcessorProps{
	BufferInterval: awscdk.Duration_Minutes(jsii.Number(5)),
	BufferSize: awscdk.Size_Mebibytes(jsii.Number(5)),
	Retries: jsii.Number(5),
})
s3Destination := destinations.NewS3Bucket(bucket, &S3BucketProps{
	Processor: lambdaProcessor,
})
firehose.NewDeliveryStream(this, jsii.String("Delivery Stream"), &DeliveryStreamProps{
	Destination: s3Destination,
})

Deprecated.

Directories

Path Synopsis
Package jsii contains the functionaility needed for jsii packages to initialize their dependencies and themselves.
Package jsii contains the functionaility needed for jsii packages to initialize their dependencies and themselves.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL