Copyright | (c) 2013-2015 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell2010 |
Creates a delivery stream.
CreateDeliveryStream 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.
The name of a delivery stream identifies it. You can't have two delivery streams with the same name in the same region. Two delivery streams in different AWS accounts or different regions in the same AWS account can have the same name.
By default, you can create up to 5 delivery streams per region.
A delivery stream can only be configured with a single destination,
Amazon S3 or Amazon Redshift. For correct CreateDeliveryStream request
syntax, specify only one destination configuration parameter: either
RedshiftDestinationConfiguration
or S3DestinationConfiguration
As part of S3DestinationConfiguration
, optional values
BufferingHints
, EncryptionConfiguration
, and CompressionFormat
can
be provided. By default, if no BufferingHints
value is provided,
Amazon 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 RedshiftDestinationConfiguration
:
- An Amazon Redshift destination requires an S3 bucket as intermediate
location, as Amazon Kinesis Firehose first delivers data to S3 and
then uses
COPY
syntax to load data into an Amazon Redshift table. This is specified in theS3Configuration
parameter element. - The compression formats
SNAPPY
orZIP
cannot be specified inS3Configuration
because the Amazon RedshiftCOPY
operation that reads from the S3 bucket doesn't support these compression formats. - We strongly recommend that the username and password provided is
used exclusively for Amazon Kinesis Firehose purposes, and that the
permissions for the account are restricted for Amazon Redshift
INSERT
permissions.
Amazon Kinesis Firehose assumes the IAM role that is configured as part of destinations. The IAM role should allow the Amazon Kinesis Firehose principal to assume the role, and the role should have permissions that allows the service to deliver the data. For more information, see Amazon S3 Bucket Access in the Amazon Kinesis Firehose Developer Guide.
See: AWS API Reference for CreateDeliveryStream.
- createDeliveryStream :: Text -> CreateDeliveryStream
- data CreateDeliveryStream
- cdsS3DestinationConfiguration :: Lens' CreateDeliveryStream (Maybe S3DestinationConfiguration)
- cdsRedshiftDestinationConfiguration :: Lens' CreateDeliveryStream (Maybe RedshiftDestinationConfiguration)
- cdsDeliveryStreamName :: Lens' CreateDeliveryStream Text
- createDeliveryStreamResponse :: Int -> CreateDeliveryStreamResponse
- data CreateDeliveryStreamResponse
- cdsrsDeliveryStreamARN :: Lens' CreateDeliveryStreamResponse (Maybe Text)
- cdsrsResponseStatus :: Lens' CreateDeliveryStreamResponse Int
Creating a Request
Creates a value of CreateDeliveryStream
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
data CreateDeliveryStream Source
Contains the parameters for CreateDeliveryStream.
See: createDeliveryStream
smart constructor.
Request Lenses
cdsS3DestinationConfiguration :: Lens' CreateDeliveryStream (Maybe S3DestinationConfiguration) Source
The destination in Amazon S3. This value must be specified if
RedshiftDestinationConfiguration
is specified (see restrictions listed
above).
cdsRedshiftDestinationConfiguration :: Lens' CreateDeliveryStream (Maybe RedshiftDestinationConfiguration) Source
The destination in Amazon Redshift. This value cannot be specified if Amazon S3 is the desired destination (see restrictions listed above).
cdsDeliveryStreamName :: Lens' CreateDeliveryStream Text Source
The name of the delivery stream.
Destructuring the Response
createDeliveryStreamResponse Source
Creates a value of CreateDeliveryStreamResponse
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
data CreateDeliveryStreamResponse Source
Contains the output of CreateDeliveryStream.
See: createDeliveryStreamResponse
smart constructor.
Response Lenses
cdsrsDeliveryStreamARN :: Lens' CreateDeliveryStreamResponse (Maybe Text) Source
The ARN of the delivery stream.
cdsrsResponseStatus :: Lens' CreateDeliveryStreamResponse Int Source
The response status code.