Creates a delivery stream.
By default, you can create up to 20 delivery streams per region.
This is an asynchronous operation that immediately returns. The initial status of
the delivery stream is
CREATING. After the delivery stream is created,
its status is
ACTIVE and it now accepts data. Attempts to send data to
a delivery stream that is not in the
ACTIVE state cause an exception.
To check the state of a delivery stream, use DescribeDeliveryStream.
A Kinesis Firehose delivery stream can be configured to receive records directly from
providers using PutRecord or PutRecordBatch, or it can be configured
to use an existing Kinesis stream as its source. To specify a Kinesis stream as input,
DeliveryStreamType parameter to
and provide the Kinesis stream ARN and role ARN in the
A delivery stream is configured with a single destination: Amazon S3, Amazon ES, or Amazon Redshift. You must specify only one of the following destination configuration parameters: ExtendedS3DestinationConfiguration, S3DestinationConfiguration, ElasticsearchDestinationConfiguration, or RedshiftDestinationConfiguration.
When you specify S3DestinationConfiguration, you can also provide the following optional values: BufferingHints, EncryptionConfiguration, and CompressionFormat. By default, if no BufferingHints value is provided, Kinesis Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. Note that BufferingHints is a hint, so there are some cases where the service cannot adhere to these conditions strictly; for example, record boundaries are such that the size is a little over or under the configured buffering size. By default, no encryption is performed. We strongly recommend that you enable encryption to ensure secure data storage in Amazon S3.
A few notes about Amazon Redshift as a destination:
An Amazon Redshift destination requires an S3 bucket as intermediate location, as
Kinesis Firehose first delivers data to S3 and then uses
to load data into an Amazon Redshift table. This is specified in the RedshiftDestinationConfiguration.S3Configuration
The compression formats
ZIP cannot be specified
in RedshiftDestinationConfiguration.S3Configuration because the Amazon Redshift
COPY operation that reads from the S3 bucket doesn't support these compression
We strongly recommend that you use the user name and password you provide exclusively
with Kinesis Firehose, and that the permissions for the account are restricted for
Kinesis Firehose assumes the IAM role that is configured as part of the destination. The role should allow the Kinesis Firehose principal to assume the role, and the role should have permissions that allow the service to deliver the data. For more information, see Amazon S3 Bucket Access in the Amazon Kinesis Firehose Developer Guide.
For PCL and Unity this operation is only available in asynchronous form. Please refer to CreateDeliveryStreamAsync.
public abstract CreateDeliveryStreamResponse CreateDeliveryStream( CreateDeliveryStreamRequest request )
Container for the necessary parameters to execute the CreateDeliveryStream service method.
Supported in: 4.5, 4.0, 3.5
Supported in: Windows Store Apps
Supported in: Windows Phone 8.1
Supported in: Xamarin Android
Supported in: Xamarin iOS (Unified)
Supported in: Xamarin.Forms
Supported Versions: 4.6 and above
Supported Platforms: Android, iOS, Standalone