CfnDeliveryStream
- class aws_cdk.aws_kinesisfirehose.CfnDeliveryStream(scope, id, *, amazon_open_search_serverless_destination_configuration=None, amazonopensearchservice_destination_configuration=None, delivery_stream_encryption_configuration_input=None, delivery_stream_name=None, delivery_stream_type=None, elasticsearch_destination_configuration=None, extended_s3_destination_configuration=None, http_endpoint_destination_configuration=None, iceberg_destination_configuration=None, kinesis_stream_source_configuration=None, msk_source_configuration=None, redshift_destination_configuration=None, s3_destination_configuration=None, snowflake_destination_configuration=None, splunk_destination_configuration=None, tags=None)
Bases:
CfnResource
The
AWS::KinesisFirehose::DeliveryStream
resource specifies an Amazon Kinesis Data Firehose (Kinesis Data Firehose) delivery stream that delivers real-time streaming data to an Amazon Simple Storage Service (Amazon S3), Amazon Redshift, or Amazon Elasticsearch Service (Amazon ES) destination.For more information, see Creating an Amazon Kinesis Data Firehose Delivery Stream in the Amazon Kinesis Data Firehose Developer Guide .
- See:
- CloudformationResource:
AWS::KinesisFirehose::DeliveryStream
- ExampleMetadata:
infused
Example:
destination_bucket = s3.Bucket(self, "Bucket") delivery_stream_role = iam.Role(self, "Role", assumed_by=iam.ServicePrincipal("firehose.amazonaws.com") ) stream = firehose.CfnDeliveryStream(self, "MyStream", delivery_stream_name="amazon-apigateway-delivery-stream", s3_destination_configuration=firehose.CfnDeliveryStream.S3DestinationConfigurationProperty( bucket_arn=destination_bucket.bucket_arn, role_arn=delivery_stream_role.role_arn ) ) api = apigateway.RestApi(self, "books", deploy_options=apigateway.StageOptions( access_log_destination=apigateway.FirehoseLogDestination(stream), access_log_format=apigateway.AccessLogFormat.json_with_standard_fields() ) )
- Parameters:
scope (
Construct
) – Scope in which this resource is defined.id (
str
) – Construct identifier for this resource (unique in its scope).amazon_open_search_serverless_destination_configuration (
Union
[IResolvable
,AmazonOpenSearchServerlessDestinationConfigurationProperty
,Dict
[str
,Any
],None
]) – Describes the configuration of a destination in the Serverless offering for Amazon OpenSearch Service.amazonopensearchservice_destination_configuration (
Union
[IResolvable
,AmazonopensearchserviceDestinationConfigurationProperty
,Dict
[str
,Any
],None
]) – The destination in Amazon OpenSearch Service. You can specify only one destination.delivery_stream_encryption_configuration_input (
Union
[IResolvable
,DeliveryStreamEncryptionConfigurationInputProperty
,Dict
[str
,Any
],None
]) – Specifies the type and Amazon Resource Name (ARN) of the CMK to use for Server-Side Encryption (SSE).delivery_stream_name (
Optional
[str
]) – The name of the Firehose stream.delivery_stream_type (
Optional
[str
]) – The Firehose stream type. This can be one of the following values:. -DirectPut
: Provider applications access the Firehose stream directly. -KinesisStreamAsSource
: The Firehose stream uses a Kinesis data stream as a source.elasticsearch_destination_configuration (
Union
[IResolvable
,ElasticsearchDestinationConfigurationProperty
,Dict
[str
,Any
],None
]) – An Amazon ES destination for the delivery stream. Conditional. You must specify only one destination configuration. If you change the delivery stream destination from an Amazon ES destination to an Amazon S3 or Amazon Redshift destination, update requires some interruptions .extended_s3_destination_configuration (
Union
[IResolvable
,ExtendedS3DestinationConfigurationProperty
,Dict
[str
,Any
],None
]) –An Amazon S3 destination for the delivery stream. Conditional. You must specify only one destination configuration. If you change the delivery stream destination from an Amazon Extended S3 destination to an Amazon ES destination, update requires some interruptions .
http_endpoint_destination_configuration (
Union
[IResolvable
,HttpEndpointDestinationConfigurationProperty
,Dict
[str
,Any
],None
]) – Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint destination. You can specify only one destination.iceberg_destination_configuration (
Union
[IResolvable
,IcebergDestinationConfigurationProperty
,Dict
[str
,Any
],None
]) – Specifies the destination configure settings for Apache Iceberg Table.kinesis_stream_source_configuration (
Union
[IResolvable
,KinesisStreamSourceConfigurationProperty
,Dict
[str
,Any
],None
]) – When a Kinesis stream is used as the source for the delivery stream, a KinesisStreamSourceConfiguration containing the Kinesis stream ARN and the role ARN for the source stream.msk_source_configuration (
Union
[IResolvable
,MSKSourceConfigurationProperty
,Dict
[str
,Any
],None
]) – The configuration for the Amazon MSK cluster to be used as the source for a delivery stream.redshift_destination_configuration (
Union
[IResolvable
,RedshiftDestinationConfigurationProperty
,Dict
[str
,Any
],None
]) –An Amazon Redshift destination for the delivery stream. Conditional. You must specify only one destination configuration. If you change the delivery stream destination from an Amazon Redshift destination to an Amazon ES destination, update requires some interruptions .
s3_destination_configuration (
Union
[IResolvable
,S3DestinationConfigurationProperty
,Dict
[str
,Any
],None
]) –The
S3DestinationConfiguration
property type specifies an Amazon Simple Storage Service (Amazon S3) destination to which Amazon Kinesis Data Firehose (Kinesis Data Firehose) delivers data. Conditional. You must specify only one destination configuration. If you change the delivery stream destination from an Amazon S3 destination to an Amazon ES destination, update requires some interruptions .snowflake_destination_configuration (
Union
[IResolvable
,SnowflakeDestinationConfigurationProperty
,Dict
[str
,Any
],None
]) – Configure Snowflake destination.splunk_destination_configuration (
Union
[IResolvable
,SplunkDestinationConfigurationProperty
,Dict
[str
,Any
],None
]) – The configuration of a destination in Splunk for the delivery stream.tags (
Optional
[Sequence
[Union
[CfnTag
,Dict
[str
,Any
]]]]) – A set of tags to assign to the Firehose stream. A tag is a key-value pair that you can define and assign to AWS resources. Tags are metadata. For example, you can add friendly names and descriptions or other types of information that can help you distinguish the Firehose stream. For more information about tags, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide. You can specify up to 50 tags when creating a Firehose stream. If you specify tags in theCreateDeliveryStream
action, Amazon Data Firehose performs an additional authorization on thefirehose:TagDeliveryStream
action to verify if users have permissions to create tags. If you do not provide this permission, requests to create new Firehose Firehose streams with IAM resource tags will fail with anAccessDeniedException
such as following. AccessDeniedException User: arn:aws:sts::x:assumed-role/x/x is not authorized to perform: firehose:TagDeliveryStream on resource: arn:aws:firehose:us-east-1:x:deliverystream/x with an explicit deny in an identity-based policy. For an example IAM policy, see Tag example.
Methods
- add_deletion_override(path)
Syntactic sugar for
addOverride(path, undefined)
.- Parameters:
path (
str
) – The path of the value to delete.- Return type:
None
- add_dependency(target)
Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.
- Parameters:
target (
CfnResource
) –- Return type:
None
- add_depends_on(target)
(deprecated) Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
- Parameters:
target (
CfnResource
) –- Deprecated:
use addDependency
- Stability:
deprecated
- Return type:
None
- add_metadata(key, value)
Add a value to the CloudFormation Resource Metadata.
- Parameters:
key (
str
) –value (
Any
) –
- See:
- Return type:
None
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.
- add_override(path, value)
Adds an override to the synthesized CloudFormation resource.
To add a property override, either use
addPropertyOverride
or prefixpath
with “Properties.” (i.e.Properties.TopicName
).If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.
To include a literal
.
in the property name, prefix with a\
. In most programming languages you will need to write this as"\\."
because the\
itself will need to be escaped.For example:
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes", ["myattribute"]) cfn_resource.add_override("Properties.GlobalSecondaryIndexes.1.ProjectionType", "INCLUDE")
would add the overrides Example:
"Properties": { "GlobalSecondaryIndexes": [ { "Projection": { "NonKeyAttributes": [ "myattribute" ] ... } ... }, { "ProjectionType": "INCLUDE" ... }, ] ... }
The
value
argument toaddOverride
will not be processed or translated in any way. Pass raw JSON values in here with the correct capitalization for CloudFormation. If you pass CDK classes or structs, they will be rendered with lowercased key names, and CloudFormation will reject the template.- Parameters:
path (
str
) –The path of the property, you can use dot notation to override values in complex types. Any intermediate keys will be created as needed.
value (
Any
) –The value. Could be primitive or complex.
- Return type:
None
- add_property_deletion_override(property_path)
Adds an override that deletes the value of a property from the resource definition.
- Parameters:
property_path (
str
) – The path to the property.- Return type:
None
- add_property_override(property_path, value)
Adds an override to a resource property.
Syntactic sugar for
addOverride("Properties.<...>", value)
.- Parameters:
property_path (
str
) – The path of the property.value (
Any
) – The value.
- Return type:
None
- apply_removal_policy(policy=None, *, apply_to_update_replace_policy=None, default=None)
Sets the deletion policy of the resource based on the removal policy specified.
The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you’ve removed it from the CDK application or because you’ve made a change that requires the resource to be replaced.
The resource can be deleted (
RemovalPolicy.DESTROY
), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN
). In some cases, a snapshot can be taken of the resource prior to deletion (RemovalPolicy.SNAPSHOT
). A list of resources that support this policy can be found in the following link:- Parameters:
policy (
Optional
[RemovalPolicy
]) –apply_to_update_replace_policy (
Optional
[bool
]) – Apply the same deletion policy to the resource’s “UpdateReplacePolicy”. Default: truedefault (
Optional
[RemovalPolicy
]) – The default policy to apply in case the removal policy is not defined. Default: - Default value is resource specific. To determine the default value for a resource, please consult that specific resource’s documentation.
- See:
- Return type:
None
- get_att(attribute_name, type_hint=None)
Returns a token for an runtime attribute of this resource.
Ideally, use generated attribute accessors (e.g.
resource.arn
), but this can be used for future compatibility in case there is no generated attribute.- Parameters:
attribute_name (
str
) – The name of the attribute.type_hint (
Optional
[ResolutionTypeHint
]) –
- Return type:
- get_metadata(key)
Retrieve a value value from the CloudFormation Resource Metadata.
- Parameters:
key (
str
) –- See:
- Return type:
Any
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.
- inspect(inspector)
Examines the CloudFormation resource and discloses attributes.
- Parameters:
inspector (
TreeInspector
) – tree inspector to collect and process attributes.- Return type:
None
- obtain_dependencies()
Retrieves an array of resources this resource depends on.
This assembles dependencies on resources across stacks (including nested stacks) automatically.
- Return type:
List
[Union
[Stack
,CfnResource
]]
- obtain_resource_dependencies()
Get a shallow copy of dependencies between this resource and other resources in the same stack.
- Return type:
List
[CfnResource
]
- override_logical_id(new_logical_id)
Overrides the auto-generated logical ID with a specific ID.
- Parameters:
new_logical_id (
str
) – The new logical ID to use for this stack element.- Return type:
None
- remove_dependency(target)
Indicates that this resource no longer depends on another resource.
This can be used for resources across stacks (including nested stacks) and the dependency will automatically be removed from the relevant scope.
- Parameters:
target (
CfnResource
) –- Return type:
None
- replace_dependency(target, new_target)
Replaces one dependency with another.
- Parameters:
target (
CfnResource
) – The dependency to replace.new_target (
CfnResource
) – The new dependency to add.
- Return type:
None
- to_string()
Returns a string representation of this construct.
- Return type:
str
- Returns:
a string representation of this resource
Attributes
- CFN_RESOURCE_TYPE_NAME = 'AWS::KinesisFirehose::DeliveryStream'
- amazon_open_search_serverless_destination_configuration
Describes the configuration of a destination in the Serverless offering for Amazon OpenSearch Service.
- amazonopensearchservice_destination_configuration
The destination in Amazon OpenSearch Service.
- attr_arn
The Amazon Resource Name (ARN) of the delivery stream, such as
arn:aws:firehose:us-east-2:123456789012:deliverystream/delivery-stream-name
.- CloudformationAttribute:
Arn
- cfn_options
Options for this resource, such as condition, update policy etc.
- cfn_resource_type
AWS resource type.
- creation_stack
return:
the stack trace of the point where this Resource was created from, sourced from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most node +internal+ entries filtered.
- delivery_stream_encryption_configuration_input
Specifies the type and Amazon Resource Name (ARN) of the CMK to use for Server-Side Encryption (SSE).
- delivery_stream_name
The name of the Firehose stream.
- delivery_stream_type
The Firehose stream type.
This can be one of the following values:.
- elasticsearch_destination_configuration
An Amazon ES destination for the delivery stream.
- extended_s3_destination_configuration
An Amazon S3 destination for the delivery stream.
- http_endpoint_destination_configuration
Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint destination.
- iceberg_destination_configuration
Specifies the destination configure settings for Apache Iceberg Table.
- kinesis_stream_source_configuration
//docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration.html>`_ containing the Kinesis stream ARN and the role ARN for the source stream.
- Type:
When a Kinesis stream is used as the source for the delivery stream, a `KinesisStreamSourceConfiguration <https
- logical_id
The logical ID for this CloudFormation stack element.
The logical ID of the element is calculated from the path of the resource node in the construct tree.
To override this value, use
overrideLogicalId(newLogicalId)
.- Returns:
the logical ID as a stringified token. This value will only get resolved during synthesis.
- msk_source_configuration
The configuration for the Amazon MSK cluster to be used as the source for a delivery stream.
- node
The tree node.
- redshift_destination_configuration
An Amazon Redshift destination for the delivery stream.
- ref
Return a string that will be resolved to a CloudFormation
{ Ref }
for this element.If, by any chance, the intrinsic reference of a resource is not a string, you could coerce it to an IResolvable through
Lazy.any({ produce: resource.ref })
.
- s3_destination_configuration
The
S3DestinationConfiguration
property type specifies an Amazon Simple Storage Service (Amazon S3) destination to which Amazon Kinesis Data Firehose (Kinesis Data Firehose) delivers data.
- snowflake_destination_configuration
Configure Snowflake destination.
- splunk_destination_configuration
The configuration of a destination in Splunk for the delivery stream.
- stack
The stack in which this element is defined.
CfnElements must be defined within a stack scope (directly or indirectly).
- tags
Tag Manager which manages the tags for this resource.
- tags_raw
A set of tags to assign to the Firehose stream.
Static Methods
- classmethod is_cfn_element(x)
Returns
true
if a construct is a stack element (i.e. part of the synthesized cloudformation template).Uses duck-typing instead of
instanceof
to allow stack elements from different versions of this library to be included in the same stack.- Parameters:
x (
Any
) –- Return type:
bool
- Returns:
The construct as a stack element or undefined if it is not a stack element.
- classmethod is_cfn_resource(x)
Check whether the given object is a CfnResource.
- Parameters:
x (
Any
) –- Return type:
bool
- classmethod is_construct(x)
Checks if
x
is a construct.Use this method instead of
instanceof
to properly detectConstruct
instances, even when the construct library is symlinked.Explanation: in JavaScript, multiple copies of the
constructs
library on disk are seen as independent, completely different libraries. As a consequence, the classConstruct
in each copy of theconstructs
library is seen as a different class, and an instance of one class will not test asinstanceof
the other class.npm install
will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of theconstructs
library can be accidentally installed, andinstanceof
will behave unpredictably. It is safest to avoid usinginstanceof
, and using this type-testing method instead.- Parameters:
x (
Any
) – Any object.- Return type:
bool
- Returns:
true if
x
is an object created from a class which extendsConstruct
.
AmazonOpenSearchServerlessBufferingHintsProperty
- class CfnDeliveryStream.AmazonOpenSearchServerlessBufferingHintsProperty(*, interval_in_seconds=None, size_in_m_bs=None)
Bases:
object
Describes the buffering to perform before delivering data to the Serverless offering for Amazon OpenSearch Service destination.
- Parameters:
interval_in_seconds (
Union
[int
,float
,None
]) – Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300 (5 minutes).size_in_m_bs (
Union
[int
,float
,None
]) – Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. We recommend setting this parameter to a value greater than the amount of data you typically ingest into the Firehose stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec, the value should be 10 MB or higher.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose amazon_open_search_serverless_buffering_hints_property = kinesisfirehose.CfnDeliveryStream.AmazonOpenSearchServerlessBufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 )
Attributes
- interval_in_seconds
Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination.
The default value is 300 (5 minutes).
- size_in_m_bs
Buffer incoming data to the specified size, in MBs, before delivering it to the destination.
The default value is 5.
We recommend setting this parameter to a value greater than the amount of data you typically ingest into the Firehose stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec, the value should be 10 MB or higher.
AmazonOpenSearchServerlessDestinationConfigurationProperty
- class CfnDeliveryStream.AmazonOpenSearchServerlessDestinationConfigurationProperty(*, index_name, role_arn, s3_configuration, buffering_hints=None, cloud_watch_logging_options=None, collection_endpoint=None, processing_configuration=None, retry_options=None, s3_backup_mode=None, vpc_configuration=None)
Bases:
object
Describes the configuration of a destination in the Serverless offering for Amazon OpenSearch Service.
- Parameters:
index_name (
str
) – The Serverless offering for Amazon OpenSearch Service index name.role_arn (
str
) – The Amazon Resource Name (ARN) of the IAM role to be assumed by Firehose for calling the Serverless offering for Amazon OpenSearch Service Configuration API and for indexing documents.s3_configuration (
Union
[IResolvable
,S3DestinationConfigurationProperty
,Dict
[str
,Any
]]) –buffering_hints (
Union
[IResolvable
,AmazonOpenSearchServerlessBufferingHintsProperty
,Dict
[str
,Any
],None
]) – The buffering options. If no value is specified, the default values for AmazonopensearchserviceBufferingHints are used.cloud_watch_logging_options (
Union
[IResolvable
,CloudWatchLoggingOptionsProperty
,Dict
[str
,Any
],None
]) –collection_endpoint (
Optional
[str
]) – The endpoint to use when communicating with the collection in the Serverless offering for Amazon OpenSearch Service.processing_configuration (
Union
[IResolvable
,ProcessingConfigurationProperty
,Dict
[str
,Any
],None
]) –retry_options (
Union
[IResolvable
,AmazonOpenSearchServerlessRetryOptionsProperty
,Dict
[str
,Any
],None
]) – The retry behavior in case Firehose is unable to deliver documents to the Serverless offering for Amazon OpenSearch Service. The default value is 300 (5 minutes).s3_backup_mode (
Optional
[str
]) – Defines how documents should be delivered to Amazon S3. When it is set to FailedDocumentsOnly, Firehose writes any documents that could not be indexed to the configured Amazon S3 destination, with AmazonOpenSearchService-failed/ appended to the key prefix. When set to AllDocuments, Firehose delivers all incoming records to Amazon S3, and also writes failed documents with AmazonOpenSearchService-failed/ appended to the prefix.vpc_configuration (
Union
[IResolvable
,VpcConfigurationProperty
,Dict
[str
,Any
],None
]) –
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose amazon_open_search_serverless_destination_configuration_property = kinesisfirehose.CfnDeliveryStream.AmazonOpenSearchServerlessDestinationConfigurationProperty( index_name="indexName", role_arn="roleArn", s3_configuration=kinesisfirehose.CfnDeliveryStream.S3DestinationConfigurationProperty( bucket_arn="bucketArn", role_arn="roleArn", # the properties below are optional buffering_hints=kinesisfirehose.CfnDeliveryStream.BufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 ), cloud_watch_logging_options=kinesisfirehose.CfnDeliveryStream.CloudWatchLoggingOptionsProperty( enabled=False, log_group_name="logGroupName", log_stream_name="logStreamName" ), compression_format="compressionFormat", encryption_configuration=kinesisfirehose.CfnDeliveryStream.EncryptionConfigurationProperty( kms_encryption_config=kinesisfirehose.CfnDeliveryStream.KMSEncryptionConfigProperty( awskms_key_arn="awskmsKeyArn" ), no_encryption_config="noEncryptionConfig" ), error_output_prefix="errorOutputPrefix", prefix="prefix" ), # the properties below are optional buffering_hints=kinesisfirehose.CfnDeliveryStream.AmazonOpenSearchServerlessBufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 ), cloud_watch_logging_options=kinesisfirehose.CfnDeliveryStream.CloudWatchLoggingOptionsProperty( enabled=False, log_group_name="logGroupName", log_stream_name="logStreamName" ), collection_endpoint="collectionEndpoint", processing_configuration=kinesisfirehose.CfnDeliveryStream.ProcessingConfigurationProperty( enabled=False, processors=[kinesisfirehose.CfnDeliveryStream.ProcessorProperty( type="type", # the properties below are optional parameters=[kinesisfirehose.CfnDeliveryStream.ProcessorParameterProperty( parameter_name="parameterName", parameter_value="parameterValue" )] )] ), retry_options=kinesisfirehose.CfnDeliveryStream.AmazonOpenSearchServerlessRetryOptionsProperty( duration_in_seconds=123 ), s3_backup_mode="s3BackupMode", vpc_configuration=kinesisfirehose.CfnDeliveryStream.VpcConfigurationProperty( role_arn="roleArn", security_group_ids=["securityGroupIds"], subnet_ids=["subnetIds"] ) )
Attributes
- buffering_hints
The buffering options.
If no value is specified, the default values for AmazonopensearchserviceBufferingHints are used.
- cloud_watch_logging_options
-
- Type:
see
- collection_endpoint
The endpoint to use when communicating with the collection in the Serverless offering for Amazon OpenSearch Service.
- index_name
The Serverless offering for Amazon OpenSearch Service index name.
- processing_configuration
-
- Type:
see
- retry_options
The retry behavior in case Firehose is unable to deliver documents to the Serverless offering for Amazon OpenSearch Service.
The default value is 300 (5 minutes).
- role_arn
The Amazon Resource Name (ARN) of the IAM role to be assumed by Firehose for calling the Serverless offering for Amazon OpenSearch Service Configuration API and for indexing documents.
- s3_backup_mode
Defines how documents should be delivered to Amazon S3.
When it is set to FailedDocumentsOnly, Firehose writes any documents that could not be indexed to the configured Amazon S3 destination, with AmazonOpenSearchService-failed/ appended to the key prefix. When set to AllDocuments, Firehose delivers all incoming records to Amazon S3, and also writes failed documents with AmazonOpenSearchService-failed/ appended to the prefix.
- s3_configuration
-
- Type:
see
AmazonOpenSearchServerlessRetryOptionsProperty
- class CfnDeliveryStream.AmazonOpenSearchServerlessRetryOptionsProperty(*, duration_in_seconds=None)
Bases:
object
Configures retry behavior in case Firehose is unable to deliver documents to the Serverless offering for Amazon OpenSearch Service.
- Parameters:
duration_in_seconds (
Union
[int
,float
,None
]) – After an initial failure to deliver to the Serverless offering for Amazon OpenSearch Service, the total amount of time during which Firehose retries delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. Default value is 300 seconds (5 minutes). A value of 0 (zero) results in no retries.- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose amazon_open_search_serverless_retry_options_property = kinesisfirehose.CfnDeliveryStream.AmazonOpenSearchServerlessRetryOptionsProperty( duration_in_seconds=123 )
Attributes
- duration_in_seconds
After an initial failure to deliver to the Serverless offering for Amazon OpenSearch Service, the total amount of time during which Firehose retries delivery (including the first attempt).
After this time has elapsed, the failed documents are written to Amazon S3. Default value is 300 seconds (5 minutes). A value of 0 (zero) results in no retries.
AmazonopensearchserviceBufferingHintsProperty
- class CfnDeliveryStream.AmazonopensearchserviceBufferingHintsProperty(*, interval_in_seconds=None, size_in_m_bs=None)
Bases:
object
Describes the buffering to perform before delivering data to the Amazon OpenSearch Service destination.
- Parameters:
interval_in_seconds (
Union
[int
,float
,None
]) – Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300 (5 minutes).size_in_m_bs (
Union
[int
,float
,None
]) – Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. We recommend setting this parameter to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec, the value should be 10 MB or higher.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose amazonopensearchservice_buffering_hints_property = kinesisfirehose.CfnDeliveryStream.AmazonopensearchserviceBufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 )
Attributes
- interval_in_seconds
Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination.
The default value is 300 (5 minutes).
- size_in_m_bs
Buffer incoming data to the specified size, in MBs, before delivering it to the destination.
The default value is 5. We recommend setting this parameter to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec, the value should be 10 MB or higher.
AmazonopensearchserviceDestinationConfigurationProperty
- class CfnDeliveryStream.AmazonopensearchserviceDestinationConfigurationProperty(*, index_name, role_arn, s3_configuration, buffering_hints=None, cloud_watch_logging_options=None, cluster_endpoint=None, document_id_options=None, domain_arn=None, index_rotation_period=None, processing_configuration=None, retry_options=None, s3_backup_mode=None, type_name=None, vpc_configuration=None)
Bases:
object
Describes the configuration of a destination in Amazon OpenSearch Service.
- Parameters:
index_name (
str
) – The Amazon OpenSearch Service index name.role_arn (
str
) – The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data Firehose for calling the Amazon OpenSearch Service Configuration API and for indexing documents.s3_configuration (
Union
[IResolvable
,S3DestinationConfigurationProperty
,Dict
[str
,Any
]]) – Describes the configuration of a destination in Amazon S3.buffering_hints (
Union
[IResolvable
,AmazonopensearchserviceBufferingHintsProperty
,Dict
[str
,Any
],None
]) – The buffering options. If no value is specified, the default values for AmazonopensearchserviceBufferingHints are used.cloud_watch_logging_options (
Union
[IResolvable
,CloudWatchLoggingOptionsProperty
,Dict
[str
,Any
],None
]) – Describes the Amazon CloudWatch logging options for your delivery stream.cluster_endpoint (
Optional
[str
]) – The endpoint to use when communicating with the cluster. Specify either this ClusterEndpoint or the DomainARN field.document_id_options (
Union
[IResolvable
,DocumentIdOptionsProperty
,Dict
[str
,Any
],None
]) – Indicates the method for setting up document ID. The supported methods are Firehose generated document ID and OpenSearch Service generated document ID.domain_arn (
Optional
[str
]) – The ARN of the Amazon OpenSearch Service domain.index_rotation_period (
Optional
[str
]) – The Amazon OpenSearch Service index rotation period. Index rotation appends a timestamp to the IndexName to facilitate the expiration of old data.processing_configuration (
Union
[IResolvable
,ProcessingConfigurationProperty
,Dict
[str
,Any
],None
]) – Describes a data processing configuration.retry_options (
Union
[IResolvable
,AmazonopensearchserviceRetryOptionsProperty
,Dict
[str
,Any
],None
]) – The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon OpenSearch Service. The default value is 300 (5 minutes).s3_backup_mode (
Optional
[str
]) – Defines how documents should be delivered to Amazon S3.type_name (
Optional
[str
]) – The Amazon OpenSearch Service type name.vpc_configuration (
Union
[IResolvable
,VpcConfigurationProperty
,Dict
[str
,Any
],None
]) – The details of the VPC of the Amazon OpenSearch Service destination.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose amazonopensearchservice_destination_configuration_property = kinesisfirehose.CfnDeliveryStream.AmazonopensearchserviceDestinationConfigurationProperty( index_name="indexName", role_arn="roleArn", s3_configuration=kinesisfirehose.CfnDeliveryStream.S3DestinationConfigurationProperty( bucket_arn="bucketArn", role_arn="roleArn", # the properties below are optional buffering_hints=kinesisfirehose.CfnDeliveryStream.BufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 ), cloud_watch_logging_options=kinesisfirehose.CfnDeliveryStream.CloudWatchLoggingOptionsProperty( enabled=False, log_group_name="logGroupName", log_stream_name="logStreamName" ), compression_format="compressionFormat", encryption_configuration=kinesisfirehose.CfnDeliveryStream.EncryptionConfigurationProperty( kms_encryption_config=kinesisfirehose.CfnDeliveryStream.KMSEncryptionConfigProperty( awskms_key_arn="awskmsKeyArn" ), no_encryption_config="noEncryptionConfig" ), error_output_prefix="errorOutputPrefix", prefix="prefix" ), # the properties below are optional buffering_hints=kinesisfirehose.CfnDeliveryStream.AmazonopensearchserviceBufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 ), cloud_watch_logging_options=kinesisfirehose.CfnDeliveryStream.CloudWatchLoggingOptionsProperty( enabled=False, log_group_name="logGroupName", log_stream_name="logStreamName" ), cluster_endpoint="clusterEndpoint", document_id_options=kinesisfirehose.CfnDeliveryStream.DocumentIdOptionsProperty( default_document_id_format="defaultDocumentIdFormat" ), domain_arn="domainArn", index_rotation_period="indexRotationPeriod", processing_configuration=kinesisfirehose.CfnDeliveryStream.ProcessingConfigurationProperty( enabled=False, processors=[kinesisfirehose.CfnDeliveryStream.ProcessorProperty( type="type", # the properties below are optional parameters=[kinesisfirehose.CfnDeliveryStream.ProcessorParameterProperty( parameter_name="parameterName", parameter_value="parameterValue" )] )] ), retry_options=kinesisfirehose.CfnDeliveryStream.AmazonopensearchserviceRetryOptionsProperty( duration_in_seconds=123 ), s3_backup_mode="s3BackupMode", type_name="typeName", vpc_configuration=kinesisfirehose.CfnDeliveryStream.VpcConfigurationProperty( role_arn="roleArn", security_group_ids=["securityGroupIds"], subnet_ids=["subnetIds"] ) )
Attributes
- buffering_hints
The buffering options.
If no value is specified, the default values for AmazonopensearchserviceBufferingHints are used.
- cloud_watch_logging_options
Describes the Amazon CloudWatch logging options for your delivery stream.
- cluster_endpoint
The endpoint to use when communicating with the cluster.
Specify either this ClusterEndpoint or the DomainARN field.
- document_id_options
Indicates the method for setting up document ID.
The supported methods are Firehose generated document ID and OpenSearch Service generated document ID.
- domain_arn
The ARN of the Amazon OpenSearch Service domain.
- index_name
The Amazon OpenSearch Service index name.
- index_rotation_period
The Amazon OpenSearch Service index rotation period.
Index rotation appends a timestamp to the IndexName to facilitate the expiration of old data.
- processing_configuration
Describes a data processing configuration.
- retry_options
The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon OpenSearch Service.
The default value is 300 (5 minutes).
- role_arn
The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data Firehose for calling the Amazon OpenSearch Service Configuration API and for indexing documents.
- s3_backup_mode
Defines how documents should be delivered to Amazon S3.
- s3_configuration
Describes the configuration of a destination in Amazon S3.
- type_name
The Amazon OpenSearch Service type name.
- vpc_configuration
The details of the VPC of the Amazon OpenSearch Service destination.
AmazonopensearchserviceRetryOptionsProperty
- class CfnDeliveryStream.AmazonopensearchserviceRetryOptionsProperty(*, duration_in_seconds=None)
Bases:
object
Configures retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon OpenSearch Service.
- Parameters:
duration_in_seconds (
Union
[int
,float
,None
]) – After an initial failure to deliver to Amazon OpenSearch Service, the total amount of time during which Kinesis Data Firehose retries delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. Default value is 300 seconds (5 minutes). A value of 0 (zero) results in no retries.- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose amazonopensearchservice_retry_options_property = kinesisfirehose.CfnDeliveryStream.AmazonopensearchserviceRetryOptionsProperty( duration_in_seconds=123 )
Attributes
- duration_in_seconds
After an initial failure to deliver to Amazon OpenSearch Service, the total amount of time during which Kinesis Data Firehose retries delivery (including the first attempt).
After this time has elapsed, the failed documents are written to Amazon S3. Default value is 300 seconds (5 minutes). A value of 0 (zero) results in no retries.
AuthenticationConfigurationProperty
- class CfnDeliveryStream.AuthenticationConfigurationProperty(*, connectivity, role_arn)
Bases:
object
The authentication configuration of the Amazon MSK cluster.
- Parameters:
connectivity (
str
) – The type of connectivity used to access the Amazon MSK cluster.role_arn (
str
) – The ARN of the role used to access the Amazon MSK cluster.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose authentication_configuration_property = kinesisfirehose.CfnDeliveryStream.AuthenticationConfigurationProperty( connectivity="connectivity", role_arn="roleArn" )
Attributes
- connectivity
The type of connectivity used to access the Amazon MSK cluster.
- role_arn
The ARN of the role used to access the Amazon MSK cluster.
BufferingHintsProperty
- class CfnDeliveryStream.BufferingHintsProperty(*, interval_in_seconds=None, size_in_m_bs=None)
Bases:
object
The
BufferingHints
property type specifies how Amazon Kinesis Data Firehose (Kinesis Data Firehose) buffers incoming data before delivering it to the destination.The first buffer condition that is satisfied triggers Kinesis Data Firehose to deliver the data.
- Parameters:
interval_in_seconds (
Union
[int
,float
,None
]) – The length of time, in seconds, that Kinesis Data Firehose buffers incoming data before delivering it to the destination. For valid values, see theIntervalInSeconds
content for the BufferingHints data type in the Amazon Kinesis Data Firehose API Reference .size_in_m_bs (
Union
[int
,float
,None
]) –The size of the buffer, in MBs, that Kinesis Data Firehose uses for incoming data before delivering it to the destination. For valid values, see the
SizeInMBs
content for the BufferingHints data type in the Amazon Kinesis Data Firehose API Reference .
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose buffering_hints_property = kinesisfirehose.CfnDeliveryStream.BufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 )
Attributes
- interval_in_seconds
The length of time, in seconds, that Kinesis Data Firehose buffers incoming data before delivering it to the destination.
For valid values, see the
IntervalInSeconds
content for the BufferingHints data type in the Amazon Kinesis Data Firehose API Reference .
- size_in_m_bs
The size of the buffer, in MBs, that Kinesis Data Firehose uses for incoming data before delivering it to the destination.
For valid values, see the
SizeInMBs
content for the BufferingHints data type in the Amazon Kinesis Data Firehose API Reference .
CatalogConfigurationProperty
- class CfnDeliveryStream.CatalogConfigurationProperty(*, catalog_arn=None)
Bases:
object
Describes the containers where the destination Apache Iceberg Tables are persisted.
- Parameters:
catalog_arn (
Optional
[str
]) – Specifies the Glue catalog ARN identifier of the destination Apache Iceberg Tables. You must specify the ARN in the formatarn:aws:glue:region:account-id:catalog
.- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose catalog_configuration_property = kinesisfirehose.CfnDeliveryStream.CatalogConfigurationProperty( catalog_arn="catalogArn" )
Attributes
- catalog_arn
Specifies the Glue catalog ARN identifier of the destination Apache Iceberg Tables.
You must specify the ARN in the format
arn:aws:glue:region:account-id:catalog
.
CloudWatchLoggingOptionsProperty
- class CfnDeliveryStream.CloudWatchLoggingOptionsProperty(*, enabled=None, log_group_name=None, log_stream_name=None)
Bases:
object
The
CloudWatchLoggingOptions
property type specifies Amazon CloudWatch Logs (CloudWatch Logs) logging options that Amazon Kinesis Data Firehose (Kinesis Data Firehose) uses for the delivery stream.- Parameters:
enabled (
Union
[bool
,IResolvable
,None
]) – Indicates whether CloudWatch Logs logging is enabled.log_group_name (
Optional
[str
]) – The name of the CloudWatch Logs log group that contains the log stream that Kinesis Data Firehose will use. Conditional. If you enable logging, you must specify this property.log_stream_name (
Optional
[str
]) – The name of the CloudWatch Logs log stream that Kinesis Data Firehose uses to send logs about data delivery. Conditional. If you enable logging, you must specify this property.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose cloud_watch_logging_options_property = kinesisfirehose.CfnDeliveryStream.CloudWatchLoggingOptionsProperty( enabled=False, log_group_name="logGroupName", log_stream_name="logStreamName" )
Attributes
- enabled
Indicates whether CloudWatch Logs logging is enabled.
- log_group_name
The name of the CloudWatch Logs log group that contains the log stream that Kinesis Data Firehose will use.
Conditional. If you enable logging, you must specify this property.
- log_stream_name
The name of the CloudWatch Logs log stream that Kinesis Data Firehose uses to send logs about data delivery.
Conditional. If you enable logging, you must specify this property.
CopyCommandProperty
- class CfnDeliveryStream.CopyCommandProperty(*, data_table_name, copy_options=None, data_table_columns=None)
Bases:
object
The
CopyCommand
property type configures the Amazon RedshiftCOPY
command that Amazon Kinesis Data Firehose (Kinesis Data Firehose) uses to load data into an Amazon Redshift cluster from an Amazon S3 bucket.- Parameters:
data_table_name (
str
) – The name of the target table. The table must already exist in the database.copy_options (
Optional
[str
]) – Parameters to use with the Amazon RedshiftCOPY
command. For examples, see theCopyOptions
content for the CopyCommand data type in the Amazon Kinesis Data Firehose API Reference .data_table_columns (
Optional
[str
]) – A comma-separated list of column names.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose copy_command_property = kinesisfirehose.CfnDeliveryStream.CopyCommandProperty( data_table_name="dataTableName", # the properties below are optional copy_options="copyOptions", data_table_columns="dataTableColumns" )
Attributes
- copy_options
Parameters to use with the Amazon Redshift
COPY
command.For examples, see the
CopyOptions
content for the CopyCommand data type in the Amazon Kinesis Data Firehose API Reference .
- data_table_columns
A comma-separated list of column names.
- data_table_name
The name of the target table.
The table must already exist in the database.
DataFormatConversionConfigurationProperty
- class CfnDeliveryStream.DataFormatConversionConfigurationProperty(*, enabled=None, input_format_configuration=None, output_format_configuration=None, schema_configuration=None)
Bases:
object
Specifies that you want Kinesis Data Firehose to convert data from the JSON format to the Parquet or ORC format before writing it to Amazon S3.
Kinesis Data Firehose uses the serializer and deserializer that you specify, in addition to the column information from the AWS Glue table, to deserialize your input data from JSON and then serialize it to the Parquet or ORC format. For more information, see Kinesis Data Firehose Record Format Conversion .
- Parameters:
enabled (
Union
[bool
,IResolvable
,None
]) – Defaults totrue
. Set it tofalse
if you want to disable format conversion while preserving the configuration details.input_format_configuration (
Union
[IResolvable
,InputFormatConfigurationProperty
,Dict
[str
,Any
],None
]) – Specifies the deserializer that you want Firehose to use to convert the format of your data from JSON. This parameter is required ifEnabled
is set to true.output_format_configuration (
Union
[IResolvable
,OutputFormatConfigurationProperty
,Dict
[str
,Any
],None
]) – Specifies the serializer that you want Firehose to use to convert the format of your data to the Parquet or ORC format. This parameter is required ifEnabled
is set to true.schema_configuration (
Union
[IResolvable
,SchemaConfigurationProperty
,Dict
[str
,Any
],None
]) – Specifies the AWS Glue Data Catalog table that contains the column information. This parameter is required ifEnabled
is set to true.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose data_format_conversion_configuration_property = kinesisfirehose.CfnDeliveryStream.DataFormatConversionConfigurationProperty( enabled=False, input_format_configuration=kinesisfirehose.CfnDeliveryStream.InputFormatConfigurationProperty( deserializer=kinesisfirehose.CfnDeliveryStream.DeserializerProperty( hive_json_ser_de=kinesisfirehose.CfnDeliveryStream.HiveJsonSerDeProperty( timestamp_formats=["timestampFormats"] ), open_xJson_ser_de=kinesisfirehose.CfnDeliveryStream.OpenXJsonSerDeProperty( case_insensitive=False, column_to_json_key_mappings={ "column_to_json_key_mappings_key": "columnToJsonKeyMappings" }, convert_dots_in_json_keys_to_underscores=False ) ) ), output_format_configuration=kinesisfirehose.CfnDeliveryStream.OutputFormatConfigurationProperty( serializer=kinesisfirehose.CfnDeliveryStream.SerializerProperty( orc_ser_de=kinesisfirehose.CfnDeliveryStream.OrcSerDeProperty( block_size_bytes=123, bloom_filter_columns=["bloomFilterColumns"], bloom_filter_false_positive_probability=123, compression="compression", dictionary_key_threshold=123, enable_padding=False, format_version="formatVersion", padding_tolerance=123, row_index_stride=123, stripe_size_bytes=123 ), parquet_ser_de=kinesisfirehose.CfnDeliveryStream.ParquetSerDeProperty( block_size_bytes=123, compression="compression", enable_dictionary_compression=False, max_padding_bytes=123, page_size_bytes=123, writer_version="writerVersion" ) ) ), schema_configuration=kinesisfirehose.CfnDeliveryStream.SchemaConfigurationProperty( catalog_id="catalogId", database_name="databaseName", region="region", role_arn="roleArn", table_name="tableName", version_id="versionId" ) )
Attributes
- enabled
Defaults to
true
.Set it to
false
if you want to disable format conversion while preserving the configuration details.
- input_format_configuration
Specifies the deserializer that you want Firehose to use to convert the format of your data from JSON.
This parameter is required if
Enabled
is set to true.
- output_format_configuration
Specifies the serializer that you want Firehose to use to convert the format of your data to the Parquet or ORC format.
This parameter is required if
Enabled
is set to true.
- schema_configuration
Specifies the AWS Glue Data Catalog table that contains the column information.
This parameter is required if
Enabled
is set to true.
DeliveryStreamEncryptionConfigurationInputProperty
- class CfnDeliveryStream.DeliveryStreamEncryptionConfigurationInputProperty(*, key_type, key_arn=None)
Bases:
object
Specifies the type and Amazon Resource Name (ARN) of the CMK to use for Server-Side Encryption (SSE).
- Parameters:
key_type (
str
) – Indicates the type of customer master key (CMK) to use for encryption. The default setting isAWS_OWNED_CMK
. For more information about CMKs, see Customer Master Keys (CMKs) . You can use a CMK of type CUSTOMER_MANAGED_CMK to encrypt up to 500 delivery streams. .. epigraph:: To encrypt your delivery stream, use symmetric CMKs. Kinesis Data Firehose doesn’t support asymmetric CMKs. For information about symmetric and asymmetric CMKs, see About Symmetric and Asymmetric CMKs in the AWS Key Management Service developer guide.key_arn (
Optional
[str
]) – If you setKeyType
toCUSTOMER_MANAGED_CMK
, you must specify the Amazon Resource Name (ARN) of the CMK. If you setKeyType
toAWS _OWNED_CMK
, Firehose uses a service-account CMK.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose delivery_stream_encryption_configuration_input_property = kinesisfirehose.CfnDeliveryStream.DeliveryStreamEncryptionConfigurationInputProperty( key_type="keyType", # the properties below are optional key_arn="keyArn" )
Attributes
- key_arn
If you set
KeyType
toCUSTOMER_MANAGED_CMK
, you must specify the Amazon Resource Name (ARN) of the CMK.If you set
KeyType
toAWS _OWNED_CMK
, Firehose uses a service-account CMK.
- key_type
Indicates the type of customer master key (CMK) to use for encryption.
The default setting is
AWS_OWNED_CMK
. For more information about CMKs, see Customer Master Keys (CMKs) .You can use a CMK of type CUSTOMER_MANAGED_CMK to encrypt up to 500 delivery streams. .. epigraph:
To encrypt your delivery stream, use symmetric CMKs. Kinesis Data Firehose doesn't support asymmetric CMKs. For information about symmetric and asymmetric CMKs, see `About Symmetric and Asymmetric CMKs <https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html>`_ in the AWS Key Management Service developer guide.
DeserializerProperty
- class CfnDeliveryStream.DeserializerProperty(*, hive_json_ser_de=None, open_x_json_ser_de=None)
Bases:
object
The deserializer you want Kinesis Data Firehose to use for converting the input data from JSON.
Kinesis Data Firehose then serializes the data to its final format using the
Serializer
. Kinesis Data Firehose supports two types of deserializers: the Apache Hive JSON SerDe and the OpenX JSON SerDe .- Parameters:
hive_json_ser_de (
Union
[IResolvable
,HiveJsonSerDeProperty
,Dict
[str
,Any
],None
]) – The native Hive / HCatalog JsonSerDe. Used by Firehose for deserializing data, which means converting it from the JSON format in preparation for serializing it to the Parquet or ORC format. This is one of two deserializers you can choose, depending on which one offers the functionality you need. The other option is the OpenX SerDe.open_x_json_ser_de (
Union
[IResolvable
,OpenXJsonSerDeProperty
,Dict
[str
,Any
],None
]) – The OpenX SerDe. Used by Firehose for deserializing data, which means converting it from the JSON format in preparation for serializing it to the Parquet or ORC format. This is one of two deserializers you can choose, depending on which one offers the functionality you need. The other option is the native Hive / HCatalog JsonSerDe.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose deserializer_property = kinesisfirehose.CfnDeliveryStream.DeserializerProperty( hive_json_ser_de=kinesisfirehose.CfnDeliveryStream.HiveJsonSerDeProperty( timestamp_formats=["timestampFormats"] ), open_xJson_ser_de=kinesisfirehose.CfnDeliveryStream.OpenXJsonSerDeProperty( case_insensitive=False, column_to_json_key_mappings={ "column_to_json_key_mappings_key": "columnToJsonKeyMappings" }, convert_dots_in_json_keys_to_underscores=False ) )
Attributes
- hive_json_ser_de
The native Hive / HCatalog JsonSerDe.
Used by Firehose for deserializing data, which means converting it from the JSON format in preparation for serializing it to the Parquet or ORC format. This is one of two deserializers you can choose, depending on which one offers the functionality you need. The other option is the OpenX SerDe.
- open_x_json_ser_de
The OpenX SerDe.
Used by Firehose for deserializing data, which means converting it from the JSON format in preparation for serializing it to the Parquet or ORC format. This is one of two deserializers you can choose, depending on which one offers the functionality you need. The other option is the native Hive / HCatalog JsonSerDe.
DestinationTableConfigurationProperty
- class CfnDeliveryStream.DestinationTableConfigurationProperty(*, destination_database_name, destination_table_name, s3_error_output_prefix=None, unique_keys=None)
Bases:
object
Describes the configuration of a destination in Apache Iceberg Tables.
- Parameters:
destination_database_name (
str
) – The name of the Apache Iceberg database.destination_table_name (
str
) – Specifies the name of the Apache Iceberg Table.s3_error_output_prefix (
Optional
[str
]) – The table specific S3 error output prefix. All the errors that occurred while delivering to this table will be prefixed with this value in S3 destination.unique_keys (
Optional
[Sequence
[str
]]) – A list of unique keys for a given Apache Iceberg table. Firehose will use these for running Create, Update, or Delete operations on the given Iceberg table.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose destination_table_configuration_property = kinesisfirehose.CfnDeliveryStream.DestinationTableConfigurationProperty( destination_database_name="destinationDatabaseName", destination_table_name="destinationTableName", # the properties below are optional s3_error_output_prefix="s3ErrorOutputPrefix", unique_keys=["uniqueKeys"] )
Attributes
- destination_database_name
The name of the Apache Iceberg database.
- destination_table_name
Specifies the name of the Apache Iceberg Table.
- s3_error_output_prefix
The table specific S3 error output prefix.
All the errors that occurred while delivering to this table will be prefixed with this value in S3 destination.
- unique_keys
A list of unique keys for a given Apache Iceberg table.
Firehose will use these for running Create, Update, or Delete operations on the given Iceberg table.
DocumentIdOptionsProperty
- class CfnDeliveryStream.DocumentIdOptionsProperty(*, default_document_id_format)
Bases:
object
Indicates the method for setting up document ID.
The supported methods are Firehose generated document ID and OpenSearch Service generated document ID.
- Parameters:
default_document_id_format (
str
) – When theFIREHOSE_DEFAULT
option is chosen, Firehose generates a unique document ID for each record based on a unique internal identifier. The generated document ID is stable across multiple delivery attempts, which helps prevent the same record from being indexed multiple times with different document IDs. When theNO_DOCUMENT_ID
option is chosen, Firehose does not include any document IDs in the requests it sends to the Amazon OpenSearch Service. This causes the Amazon OpenSearch Service domain to generate document IDs. In case of multiple delivery attempts, this may cause the same record to be indexed more than once with different document IDs. This option enables write-heavy operations, such as the ingestion of logs and observability data, to consume less resources in the Amazon OpenSearch Service domain, resulting in improved performance.- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose document_id_options_property = kinesisfirehose.CfnDeliveryStream.DocumentIdOptionsProperty( default_document_id_format="defaultDocumentIdFormat" )
Attributes
- default_document_id_format
When the
FIREHOSE_DEFAULT
option is chosen, Firehose generates a unique document ID for each record based on a unique internal identifier.The generated document ID is stable across multiple delivery attempts, which helps prevent the same record from being indexed multiple times with different document IDs.
When the
NO_DOCUMENT_ID
option is chosen, Firehose does not include any document IDs in the requests it sends to the Amazon OpenSearch Service. This causes the Amazon OpenSearch Service domain to generate document IDs. In case of multiple delivery attempts, this may cause the same record to be indexed more than once with different document IDs. This option enables write-heavy operations, such as the ingestion of logs and observability data, to consume less resources in the Amazon OpenSearch Service domain, resulting in improved performance.
DynamicPartitioningConfigurationProperty
- class CfnDeliveryStream.DynamicPartitioningConfigurationProperty(*, enabled=None, retry_options=None)
Bases:
object
The
DynamicPartitioningConfiguration
property type specifies the configuration of the dynamic partitioning mechanism that creates targeted data sets from the streaming data by partitioning it based on partition keys.- Parameters:
enabled (
Union
[bool
,IResolvable
,None
]) – Specifies whether dynamic partitioning is enabled for this Kinesis Data Firehose delivery stream.retry_options (
Union
[IResolvable
,RetryOptionsProperty
,Dict
[str
,Any
],None
]) – Specifies the retry behavior in case Kinesis Data Firehose is unable to deliver data to an Amazon S3 prefix.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose dynamic_partitioning_configuration_property = kinesisfirehose.CfnDeliveryStream.DynamicPartitioningConfigurationProperty( enabled=False, retry_options=kinesisfirehose.CfnDeliveryStream.RetryOptionsProperty( duration_in_seconds=123 ) )
Attributes
- enabled
Specifies whether dynamic partitioning is enabled for this Kinesis Data Firehose delivery stream.
- retry_options
Specifies the retry behavior in case Kinesis Data Firehose is unable to deliver data to an Amazon S3 prefix.
ElasticsearchBufferingHintsProperty
- class CfnDeliveryStream.ElasticsearchBufferingHintsProperty(*, interval_in_seconds=None, size_in_m_bs=None)
Bases:
object
The
ElasticsearchBufferingHints
property type specifies how Amazon Kinesis Data Firehose (Kinesis Data Firehose) buffers incoming data while delivering it to the destination.The first buffer condition that is satisfied triggers Kinesis Data Firehose to deliver the data.
ElasticsearchBufferingHints is the property type for the
BufferingHints
property of the Amazon Kinesis Data Firehose DeliveryStream ElasticsearchDestinationConfiguration property type.- Parameters:
interval_in_seconds (
Union
[int
,float
,None
]) –The length of time, in seconds, that Kinesis Data Firehose buffers incoming data before delivering it to the destination. For valid values, see the
IntervalInSeconds
content for the BufferingHints data type in the Amazon Kinesis Data Firehose API Reference .size_in_m_bs (
Union
[int
,float
,None
]) –The size of the buffer, in MBs, that Kinesis Data Firehose uses for incoming data before delivering it to the destination. For valid values, see the
SizeInMBs
content for the BufferingHints data type in the Amazon Kinesis Data Firehose API Reference .
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose elasticsearch_buffering_hints_property = kinesisfirehose.CfnDeliveryStream.ElasticsearchBufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 )
Attributes
- interval_in_seconds
The length of time, in seconds, that Kinesis Data Firehose buffers incoming data before delivering it to the destination.
For valid values, see the
IntervalInSeconds
content for the BufferingHints data type in the Amazon Kinesis Data Firehose API Reference .
- size_in_m_bs
The size of the buffer, in MBs, that Kinesis Data Firehose uses for incoming data before delivering it to the destination.
For valid values, see the
SizeInMBs
content for the BufferingHints data type in the Amazon Kinesis Data Firehose API Reference .
ElasticsearchDestinationConfigurationProperty
- class CfnDeliveryStream.ElasticsearchDestinationConfigurationProperty(*, index_name, role_arn, s3_configuration, buffering_hints=None, cloud_watch_logging_options=None, cluster_endpoint=None, document_id_options=None, domain_arn=None, index_rotation_period=None, processing_configuration=None, retry_options=None, s3_backup_mode=None, type_name=None, vpc_configuration=None)
Bases:
object
The
ElasticsearchDestinationConfiguration
property type specifies an Amazon Elasticsearch Service (Amazon ES) domain that Amazon Kinesis Data Firehose (Kinesis Data Firehose) delivers data to.- Parameters:
index_name (
str
) – The name of the Elasticsearch index to which Kinesis Data Firehose adds data for indexing.role_arn (
str
) – The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see Controlling Access with Amazon Kinesis Data Firehose .s3_configuration (
Union
[IResolvable
,S3DestinationConfigurationProperty
,Dict
[str
,Any
]]) – The S3 bucket where Kinesis Data Firehose backs up incoming data.buffering_hints (
Union
[IResolvable
,ElasticsearchBufferingHintsProperty
,Dict
[str
,Any
],None
]) – Configures how Kinesis Data Firehose buffers incoming data while delivering it to the Amazon ES domain.cloud_watch_logging_options (
Union
[IResolvable
,CloudWatchLoggingOptionsProperty
,Dict
[str
,Any
],None
]) – The Amazon CloudWatch Logs logging options for the delivery stream.cluster_endpoint (
Optional
[str
]) – The endpoint to use when communicating with the cluster. Specify either thisClusterEndpoint
or theDomainARN
field.document_id_options (
Union
[IResolvable
,DocumentIdOptionsProperty
,Dict
[str
,Any
],None
]) – Indicates the method for setting up document ID. The supported methods are Firehose generated document ID and OpenSearch Service generated document ID.domain_arn (
Optional
[str
]) – The ARN of the Amazon ES domain. The IAM role must have permissions forDescribeElasticsearchDomain
,DescribeElasticsearchDomains
, andDescribeElasticsearchDomainConfig
after assuming the role specified in RoleARN . Specify eitherClusterEndpoint
orDomainARN
.index_rotation_period (
Optional
[str
]) – The frequency of Elasticsearch index rotation. If you enable index rotation, Kinesis Data Firehose appends a portion of the UTC arrival timestamp to the specified index name, and rotates the appended timestamp accordingly. For more information, see Index Rotation for the Amazon ES Destination in the Amazon Kinesis Data Firehose Developer Guide .processing_configuration (
Union
[IResolvable
,ProcessingConfigurationProperty
,Dict
[str
,Any
],None
]) – The data processing configuration for the Kinesis Data Firehose delivery stream.retry_options (
Union
[IResolvable
,ElasticsearchRetryOptionsProperty
,Dict
[str
,Any
],None
]) – The retry behavior when Kinesis Data Firehose is unable to deliver data to Amazon ES.s3_backup_mode (
Optional
[str
]) – The condition under which Kinesis Data Firehose delivers data to Amazon Simple Storage Service (Amazon S3). You can send Amazon S3 all documents (all data) or only the documents that Kinesis Data Firehose could not deliver to the Amazon ES destination. For more information and valid values, see theS3BackupMode
content for the ElasticsearchDestinationConfiguration data type in the Amazon Kinesis Data Firehose API Reference .type_name (
Optional
[str
]) – The Elasticsearch type name that Amazon ES adds to documents when indexing data.vpc_configuration (
Union
[IResolvable
,VpcConfigurationProperty
,Dict
[str
,Any
],None
]) – The details of the VPC of the Amazon ES destination.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose elasticsearch_destination_configuration_property = kinesisfirehose.CfnDeliveryStream.ElasticsearchDestinationConfigurationProperty( index_name="indexName", role_arn="roleArn", s3_configuration=kinesisfirehose.CfnDeliveryStream.S3DestinationConfigurationProperty( bucket_arn="bucketArn", role_arn="roleArn", # the properties below are optional buffering_hints=kinesisfirehose.CfnDeliveryStream.BufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 ), cloud_watch_logging_options=kinesisfirehose.CfnDeliveryStream.CloudWatchLoggingOptionsProperty( enabled=False, log_group_name="logGroupName", log_stream_name="logStreamName" ), compression_format="compressionFormat", encryption_configuration=kinesisfirehose.CfnDeliveryStream.EncryptionConfigurationProperty( kms_encryption_config=kinesisfirehose.CfnDeliveryStream.KMSEncryptionConfigProperty( awskms_key_arn="awskmsKeyArn" ), no_encryption_config="noEncryptionConfig" ), error_output_prefix="errorOutputPrefix", prefix="prefix" ), # the properties below are optional buffering_hints=kinesisfirehose.CfnDeliveryStream.ElasticsearchBufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 ), cloud_watch_logging_options=kinesisfirehose.CfnDeliveryStream.CloudWatchLoggingOptionsProperty( enabled=False, log_group_name="logGroupName", log_stream_name="logStreamName" ), cluster_endpoint="clusterEndpoint", document_id_options=kinesisfirehose.CfnDeliveryStream.DocumentIdOptionsProperty( default_document_id_format="defaultDocumentIdFormat" ), domain_arn="domainArn", index_rotation_period="indexRotationPeriod", processing_configuration=kinesisfirehose.CfnDeliveryStream.ProcessingConfigurationProperty( enabled=False, processors=[kinesisfirehose.CfnDeliveryStream.ProcessorProperty( type="type", # the properties below are optional parameters=[kinesisfirehose.CfnDeliveryStream.ProcessorParameterProperty( parameter_name="parameterName", parameter_value="parameterValue" )] )] ), retry_options=kinesisfirehose.CfnDeliveryStream.ElasticsearchRetryOptionsProperty( duration_in_seconds=123 ), s3_backup_mode="s3BackupMode", type_name="typeName", vpc_configuration=kinesisfirehose.CfnDeliveryStream.VpcConfigurationProperty( role_arn="roleArn", security_group_ids=["securityGroupIds"], subnet_ids=["subnetIds"] ) )
Attributes
- buffering_hints
Configures how Kinesis Data Firehose buffers incoming data while delivering it to the Amazon ES domain.
- cloud_watch_logging_options
The Amazon CloudWatch Logs logging options for the delivery stream.
- cluster_endpoint
The endpoint to use when communicating with the cluster.
Specify either this
ClusterEndpoint
or theDomainARN
field.
- document_id_options
Indicates the method for setting up document ID.
The supported methods are Firehose generated document ID and OpenSearch Service generated document ID.
- domain_arn
The ARN of the Amazon ES domain.
The IAM role must have permissions for
DescribeElasticsearchDomain
,DescribeElasticsearchDomains
, andDescribeElasticsearchDomainConfig
after assuming the role specified in RoleARN .Specify either
ClusterEndpoint
orDomainARN
.
- index_name
The name of the Elasticsearch index to which Kinesis Data Firehose adds data for indexing.
- index_rotation_period
The frequency of Elasticsearch index rotation.
If you enable index rotation, Kinesis Data Firehose appends a portion of the UTC arrival timestamp to the specified index name, and rotates the appended timestamp accordingly. For more information, see Index Rotation for the Amazon ES Destination in the Amazon Kinesis Data Firehose Developer Guide .
- processing_configuration
The data processing configuration for the Kinesis Data Firehose delivery stream.
- retry_options
The retry behavior when Kinesis Data Firehose is unable to deliver data to Amazon ES.
- role_arn
The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data Firehose for calling the Amazon ES Configuration API and for indexing documents.
For more information, see Controlling Access with Amazon Kinesis Data Firehose .
- s3_backup_mode
The condition under which Kinesis Data Firehose delivers data to Amazon Simple Storage Service (Amazon S3).
You can send Amazon S3 all documents (all data) or only the documents that Kinesis Data Firehose could not deliver to the Amazon ES destination. For more information and valid values, see the
S3BackupMode
content for the ElasticsearchDestinationConfiguration data type in the Amazon Kinesis Data Firehose API Reference .
- s3_configuration
The S3 bucket where Kinesis Data Firehose backs up incoming data.
- type_name
The Elasticsearch type name that Amazon ES adds to documents when indexing data.
- vpc_configuration
The details of the VPC of the Amazon ES destination.
ElasticsearchRetryOptionsProperty
- class CfnDeliveryStream.ElasticsearchRetryOptionsProperty(*, duration_in_seconds=None)
Bases:
object
The
ElasticsearchRetryOptions
property type configures the retry behavior for when Amazon Kinesis Data Firehose (Kinesis Data Firehose) can’t deliver data to Amazon Elasticsearch Service (Amazon ES).- Parameters:
duration_in_seconds (
Union
[int
,float
,None
]) – After an initial failure to deliver to Amazon ES, the total amount of time during which Kinesis Data Firehose re-attempts delivery (including the first attempt). If Kinesis Data Firehose can’t deliver the data within the specified time, it writes the data to the backup S3 bucket. For valid values, see theDurationInSeconds
content for the ElasticsearchRetryOptions data type in the Amazon Kinesis Data Firehose API Reference .- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose elasticsearch_retry_options_property = kinesisfirehose.CfnDeliveryStream.ElasticsearchRetryOptionsProperty( duration_in_seconds=123 )
Attributes
- duration_in_seconds
After an initial failure to deliver to Amazon ES, the total amount of time during which Kinesis Data Firehose re-attempts delivery (including the first attempt).
If Kinesis Data Firehose can’t deliver the data within the specified time, it writes the data to the backup S3 bucket. For valid values, see the
DurationInSeconds
content for the ElasticsearchRetryOptions data type in the Amazon Kinesis Data Firehose API Reference .
EncryptionConfigurationProperty
- class CfnDeliveryStream.EncryptionConfigurationProperty(*, kms_encryption_config=None, no_encryption_config=None)
Bases:
object
The
EncryptionConfiguration
property type specifies the encryption settings that Amazon Kinesis Data Firehose (Kinesis Data Firehose) uses when delivering data to Amazon Simple Storage Service (Amazon S3).- Parameters:
kms_encryption_config (
Union
[IResolvable
,KMSEncryptionConfigProperty
,Dict
[str
,Any
],None
]) – The AWS Key Management Service ( AWS KMS) encryption key that Amazon S3 uses to encrypt your data.no_encryption_config (
Optional
[str
]) – Disables encryption. For valid values, see theNoEncryptionConfig
content for the EncryptionConfiguration data type in the Amazon Kinesis Data Firehose API Reference .
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose encryption_configuration_property = kinesisfirehose.CfnDeliveryStream.EncryptionConfigurationProperty( kms_encryption_config=kinesisfirehose.CfnDeliveryStream.KMSEncryptionConfigProperty( awskms_key_arn="awskmsKeyArn" ), no_encryption_config="noEncryptionConfig" )
Attributes
- kms_encryption_config
The AWS Key Management Service ( AWS KMS) encryption key that Amazon S3 uses to encrypt your data.
- no_encryption_config
Disables encryption.
For valid values, see the
NoEncryptionConfig
content for the EncryptionConfiguration data type in the Amazon Kinesis Data Firehose API Reference .
ExtendedS3DestinationConfigurationProperty
- class CfnDeliveryStream.ExtendedS3DestinationConfigurationProperty(*, bucket_arn, role_arn, buffering_hints=None, cloud_watch_logging_options=None, compression_format=None, custom_time_zone=None, data_format_conversion_configuration=None, dynamic_partitioning_configuration=None, encryption_configuration=None, error_output_prefix=None, file_extension=None, prefix=None, processing_configuration=None, s3_backup_configuration=None, s3_backup_mode=None)
Bases:
object
The
ExtendedS3DestinationConfiguration
property type configures an Amazon S3 destination for an Amazon Kinesis Data Firehose delivery stream.- Parameters:
bucket_arn (
str
) – The Amazon Resource Name (ARN) of the Amazon S3 bucket. For constraints, see ExtendedS3DestinationConfiguration in the Amazon Kinesis Data Firehose API Reference .role_arn (
str
) –The Amazon Resource Name (ARN) of the AWS credentials. For constraints, see ExtendedS3DestinationConfiguration in the Amazon Kinesis Data Firehose API Reference .
buffering_hints (
Union
[IResolvable
,BufferingHintsProperty
,Dict
[str
,Any
],None
]) – The buffering option.cloud_watch_logging_options (
Union
[IResolvable
,CloudWatchLoggingOptionsProperty
,Dict
[str
,Any
],None
]) – The Amazon CloudWatch logging options for your Firehose stream.compression_format (
Optional
[str
]) – The compression format. If no value is specified, the default isUNCOMPRESSED
.custom_time_zone (
Optional
[str
]) – The time zone you prefer. UTC is the default.data_format_conversion_configuration (
Union
[IResolvable
,DataFormatConversionConfigurationProperty
,Dict
[str
,Any
],None
]) – The serializer, deserializer, and schema for converting data from the JSON format to the Parquet or ORC format before writing it to Amazon S3.dynamic_partitioning_configuration (
Union
[IResolvable
,DynamicPartitioningConfigurationProperty
,Dict
[str
,Any
],None
]) – The configuration of the dynamic partitioning mechanism that creates targeted data sets from the streaming data by partitioning it based on partition keys.encryption_configuration (
Union
[IResolvable
,EncryptionConfigurationProperty
,Dict
[str
,Any
],None
]) – The encryption configuration for the Kinesis Data Firehose delivery stream. The default value isNoEncryption
.error_output_prefix (
Optional
[str
]) – 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. For information about how to specify this prefix, see Custom Prefixes for Amazon S3 Objects .file_extension (
Optional
[str
]) – Specify a file extension. It will override the default file extensionprefix (
Optional
[str
]) –The
YYYY/MM/DD/HH
time format prefix is automatically used for delivered Amazon S3 files. For more information, see ExtendedS3DestinationConfiguration in the Amazon Kinesis Data Firehose API Reference .processing_configuration (
Union
[IResolvable
,ProcessingConfigurationProperty
,Dict
[str
,Any
],None
]) – The data processing configuration for the Kinesis Data Firehose delivery stream.s3_backup_configuration (
Union
[IResolvable
,S3DestinationConfigurationProperty
,Dict
[str
,Any
],None
]) – The configuration for backup in Amazon S3.s3_backup_mode (
Optional
[str
]) – The Amazon S3 backup mode. After you create a Firehose stream, you can update it to enable Amazon S3 backup if it is disabled. If backup is enabled, you can’t update the Firehose stream to disable it.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose extended_s3_destination_configuration_property = kinesisfirehose.CfnDeliveryStream.ExtendedS3DestinationConfigurationProperty( bucket_arn="bucketArn", role_arn="roleArn", # the properties below are optional buffering_hints=kinesisfirehose.CfnDeliveryStream.BufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 ), cloud_watch_logging_options=kinesisfirehose.CfnDeliveryStream.CloudWatchLoggingOptionsProperty( enabled=False, log_group_name="logGroupName", log_stream_name="logStreamName" ), compression_format="compressionFormat", custom_time_zone="customTimeZone", data_format_conversion_configuration=kinesisfirehose.CfnDeliveryStream.DataFormatConversionConfigurationProperty( enabled=False, input_format_configuration=kinesisfirehose.CfnDeliveryStream.InputFormatConfigurationProperty( deserializer=kinesisfirehose.CfnDeliveryStream.DeserializerProperty( hive_json_ser_de=kinesisfirehose.CfnDeliveryStream.HiveJsonSerDeProperty( timestamp_formats=["timestampFormats"] ), open_xJson_ser_de=kinesisfirehose.CfnDeliveryStream.OpenXJsonSerDeProperty( case_insensitive=False, column_to_json_key_mappings={ "column_to_json_key_mappings_key": "columnToJsonKeyMappings" }, convert_dots_in_json_keys_to_underscores=False ) ) ), output_format_configuration=kinesisfirehose.CfnDeliveryStream.OutputFormatConfigurationProperty( serializer=kinesisfirehose.CfnDeliveryStream.SerializerProperty( orc_ser_de=kinesisfirehose.CfnDeliveryStream.OrcSerDeProperty( block_size_bytes=123, bloom_filter_columns=["bloomFilterColumns"], bloom_filter_false_positive_probability=123, compression="compression", dictionary_key_threshold=123, enable_padding=False, format_version="formatVersion", padding_tolerance=123, row_index_stride=123, stripe_size_bytes=123 ), parquet_ser_de=kinesisfirehose.CfnDeliveryStream.ParquetSerDeProperty( block_size_bytes=123, compression="compression", enable_dictionary_compression=False, max_padding_bytes=123, page_size_bytes=123, writer_version="writerVersion" ) ) ), schema_configuration=kinesisfirehose.CfnDeliveryStream.SchemaConfigurationProperty( catalog_id="catalogId", database_name="databaseName", region="region", role_arn="roleArn", table_name="tableName", version_id="versionId" ) ), dynamic_partitioning_configuration=kinesisfirehose.CfnDeliveryStream.DynamicPartitioningConfigurationProperty( enabled=False, retry_options=kinesisfirehose.CfnDeliveryStream.RetryOptionsProperty( duration_in_seconds=123 ) ), encryption_configuration=kinesisfirehose.CfnDeliveryStream.EncryptionConfigurationProperty( kms_encryption_config=kinesisfirehose.CfnDeliveryStream.KMSEncryptionConfigProperty( awskms_key_arn="awskmsKeyArn" ), no_encryption_config="noEncryptionConfig" ), error_output_prefix="errorOutputPrefix", file_extension="fileExtension", prefix="prefix", processing_configuration=kinesisfirehose.CfnDeliveryStream.ProcessingConfigurationProperty( enabled=False, processors=[kinesisfirehose.CfnDeliveryStream.ProcessorProperty( type="type", # the properties below are optional parameters=[kinesisfirehose.CfnDeliveryStream.ProcessorParameterProperty( parameter_name="parameterName", parameter_value="parameterValue" )] )] ), s3_backup_configuration=kinesisfirehose.CfnDeliveryStream.S3DestinationConfigurationProperty( bucket_arn="bucketArn", role_arn="roleArn", # the properties below are optional buffering_hints=kinesisfirehose.CfnDeliveryStream.BufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 ), cloud_watch_logging_options=kinesisfirehose.CfnDeliveryStream.CloudWatchLoggingOptionsProperty( enabled=False, log_group_name="logGroupName", log_stream_name="logStreamName" ), compression_format="compressionFormat", encryption_configuration=kinesisfirehose.CfnDeliveryStream.EncryptionConfigurationProperty( kms_encryption_config=kinesisfirehose.CfnDeliveryStream.KMSEncryptionConfigProperty( awskms_key_arn="awskmsKeyArn" ), no_encryption_config="noEncryptionConfig" ), error_output_prefix="errorOutputPrefix", prefix="prefix" ), s3_backup_mode="s3BackupMode" )
Attributes
- bucket_arn
The Amazon Resource Name (ARN) of the Amazon S3 bucket.
For constraints, see ExtendedS3DestinationConfiguration in the Amazon Kinesis Data Firehose API Reference .
- buffering_hints
The buffering option.
- cloud_watch_logging_options
The Amazon CloudWatch logging options for your Firehose stream.
- compression_format
The compression format.
If no value is specified, the default is
UNCOMPRESSED
.
- custom_time_zone
The time zone you prefer.
UTC is the default.
- data_format_conversion_configuration
The serializer, deserializer, and schema for converting data from the JSON format to the Parquet or ORC format before writing it to Amazon S3.
- dynamic_partitioning_configuration
The configuration of the dynamic partitioning mechanism that creates targeted data sets from the streaming data by partitioning it based on partition keys.
- encryption_configuration
The encryption configuration for the Kinesis Data Firehose delivery stream.
The default value is
NoEncryption
.
- error_output_prefix
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. For information about how to specify this prefix, see Custom Prefixes for Amazon S3 Objects .
- file_extension
Specify a file extension.
It will override the default file extension
- prefix
The
YYYY/MM/DD/HH
time format prefix is automatically used for delivered Amazon S3 files.For more information, see ExtendedS3DestinationConfiguration in the Amazon Kinesis Data Firehose API Reference .
- processing_configuration
The data processing configuration for the Kinesis Data Firehose delivery stream.
- role_arn
The Amazon Resource Name (ARN) of the AWS credentials.
For constraints, see ExtendedS3DestinationConfiguration in the Amazon Kinesis Data Firehose API Reference .
- s3_backup_configuration
The configuration for backup in Amazon S3.
- s3_backup_mode
The Amazon S3 backup mode.
After you create a Firehose stream, you can update it to enable Amazon S3 backup if it is disabled. If backup is enabled, you can’t update the Firehose stream to disable it.
HiveJsonSerDeProperty
- class CfnDeliveryStream.HiveJsonSerDeProperty(*, timestamp_formats=None)
Bases:
object
The native Hive / HCatalog JsonSerDe.
Used by Firehose for deserializing data, which means converting it from the JSON format in preparation for serializing it to the Parquet or ORC format. This is one of two deserializers you can choose, depending on which one offers the functionality you need. The other option is the OpenX SerDe.
- Parameters:
timestamp_formats (
Optional
[Sequence
[str
]]) – Indicates how you want Firehose to parse the date and timestamps that may be present in your input data JSON. To specify these format strings, follow the pattern syntax of JodaTime’s DateTimeFormat format strings. For more information, see Class DateTimeFormat . You can also use the special valuemillis
to parse timestamps in epoch milliseconds. If you don’t specify a format, Firehose usesjava.sql.Timestamp::valueOf
by default.- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose hive_json_ser_de_property = kinesisfirehose.CfnDeliveryStream.HiveJsonSerDeProperty( timestamp_formats=["timestampFormats"] )
Attributes
- timestamp_formats
Indicates how you want Firehose to parse the date and timestamps that may be present in your input data JSON.
To specify these format strings, follow the pattern syntax of JodaTime’s DateTimeFormat format strings. For more information, see Class DateTimeFormat . You can also use the special value
millis
to parse timestamps in epoch milliseconds. If you don’t specify a format, Firehose usesjava.sql.Timestamp::valueOf
by default.
HttpEndpointCommonAttributeProperty
- class CfnDeliveryStream.HttpEndpointCommonAttributeProperty(*, attribute_name, attribute_value)
Bases:
object
Describes the metadata that’s delivered to the specified HTTP endpoint destination.
Kinesis Firehose supports any custom HTTP endpoint or HTTP endpoints owned by supported third-party service providers, including Datadog, MongoDB, and New Relic.
- Parameters:
attribute_name (
str
) – The name of the HTTP endpoint common attribute.attribute_value (
str
) – The value of the HTTP endpoint common attribute.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose http_endpoint_common_attribute_property = kinesisfirehose.CfnDeliveryStream.HttpEndpointCommonAttributeProperty( attribute_name="attributeName", attribute_value="attributeValue" )
Attributes
- attribute_name
The name of the HTTP endpoint common attribute.
- attribute_value
The value of the HTTP endpoint common attribute.
HttpEndpointConfigurationProperty
- class CfnDeliveryStream.HttpEndpointConfigurationProperty(*, url, access_key=None, name=None)
Bases:
object
Describes the configuration of the HTTP endpoint to which Kinesis Firehose delivers data.
Kinesis Firehose supports any custom HTTP endpoint or HTTP endpoints owned by supported third-party service providers, including Datadog, MongoDB, and New Relic.
- Parameters:
url (
str
) – The URL of the HTTP endpoint selected as the destination.access_key (
Optional
[str
]) – The access key required for Kinesis Firehose to authenticate with the HTTP endpoint selected as the destination.name (
Optional
[str
]) – The name of the HTTP endpoint selected as the destination.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose http_endpoint_configuration_property = kinesisfirehose.CfnDeliveryStream.HttpEndpointConfigurationProperty( url="url", # the properties below are optional access_key="accessKey", name="name" )
Attributes
- access_key
The access key required for Kinesis Firehose to authenticate with the HTTP endpoint selected as the destination.
- name
The name of the HTTP endpoint selected as the destination.
- url
The URL of the HTTP endpoint selected as the destination.
HttpEndpointDestinationConfigurationProperty
- class CfnDeliveryStream.HttpEndpointDestinationConfigurationProperty(*, endpoint_configuration, s3_configuration, buffering_hints=None, cloud_watch_logging_options=None, processing_configuration=None, request_configuration=None, retry_options=None, role_arn=None, s3_backup_mode=None, secrets_manager_configuration=None)
Bases:
object
Describes the configuration of the HTTP endpoint destination.
Kinesis Firehose supports any custom HTTP endpoint or HTTP endpoints owned by supported third-party service providers, including Datadog, MongoDB, and New Relic.
- Parameters:
endpoint_configuration (
Union
[IResolvable
,HttpEndpointConfigurationProperty
,Dict
[str
,Any
]]) – The configuration of the HTTP endpoint selected as the destination.s3_configuration (
Union
[IResolvable
,S3DestinationConfigurationProperty
,Dict
[str
,Any
]]) – Describes the configuration of a destination in Amazon S3.buffering_hints (
Union
[IResolvable
,BufferingHintsProperty
,Dict
[str
,Any
],None
]) – The buffering options that can be used before data is delivered to the specified destination. Kinesis Data Firehose treats these options as hints, and it might choose to use more optimal values. The SizeInMBs and IntervalInSeconds parameters are optional. However, if you specify a value for one of them, you must also provide a value for the other.cloud_watch_logging_options (
Union
[IResolvable
,CloudWatchLoggingOptionsProperty
,Dict
[str
,Any
],None
]) – Describes the Amazon CloudWatch logging options for your delivery stream.processing_configuration (
Union
[IResolvable
,ProcessingConfigurationProperty
,Dict
[str
,Any
],None
]) – Describes the data processing configuration.request_configuration (
Union
[IResolvable
,HttpEndpointRequestConfigurationProperty
,Dict
[str
,Any
],None
]) – The configuration of the request sent to the HTTP endpoint specified as the destination.retry_options (
Union
[IResolvable
,RetryOptionsProperty
,Dict
[str
,Any
],None
]) – Describes the retry behavior in case Kinesis Data Firehose is unable to deliver data to the specified HTTP endpoint destination, or if it doesn’t receive a valid acknowledgment of receipt from the specified HTTP endpoint destination.role_arn (
Optional
[str
]) – Kinesis Data Firehose uses this IAM role for all the permissions that the delivery stream needs.s3_backup_mode (
Optional
[str
]) – Describes the S3 bucket backup options for the data that Kinesis Data Firehose delivers to the HTTP endpoint destination. You can back up all documents (AllData) or only the documents that Kinesis Data Firehose could not deliver to the specified HTTP endpoint destination (FailedDataOnly).secrets_manager_configuration (
Union
[IResolvable
,SecretsManagerConfigurationProperty
,Dict
[str
,Any
],None
]) – The configuration that defines how you access secrets for HTTP Endpoint destination.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose http_endpoint_destination_configuration_property = kinesisfirehose.CfnDeliveryStream.HttpEndpointDestinationConfigurationProperty( endpoint_configuration=kinesisfirehose.CfnDeliveryStream.HttpEndpointConfigurationProperty( url="url", # the properties below are optional access_key="accessKey", name="name" ), s3_configuration=kinesisfirehose.CfnDeliveryStream.S3DestinationConfigurationProperty( bucket_arn="bucketArn", role_arn="roleArn", # the properties below are optional buffering_hints=kinesisfirehose.CfnDeliveryStream.BufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 ), cloud_watch_logging_options=kinesisfirehose.CfnDeliveryStream.CloudWatchLoggingOptionsProperty( enabled=False, log_group_name="logGroupName", log_stream_name="logStreamName" ), compression_format="compressionFormat", encryption_configuration=kinesisfirehose.CfnDeliveryStream.EncryptionConfigurationProperty( kms_encryption_config=kinesisfirehose.CfnDeliveryStream.KMSEncryptionConfigProperty( awskms_key_arn="awskmsKeyArn" ), no_encryption_config="noEncryptionConfig" ), error_output_prefix="errorOutputPrefix", prefix="prefix" ), # the properties below are optional buffering_hints=kinesisfirehose.CfnDeliveryStream.BufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 ), cloud_watch_logging_options=kinesisfirehose.CfnDeliveryStream.CloudWatchLoggingOptionsProperty( enabled=False, log_group_name="logGroupName", log_stream_name="logStreamName" ), processing_configuration=kinesisfirehose.CfnDeliveryStream.ProcessingConfigurationProperty( enabled=False, processors=[kinesisfirehose.CfnDeliveryStream.ProcessorProperty( type="type", # the properties below are optional parameters=[kinesisfirehose.CfnDeliveryStream.ProcessorParameterProperty( parameter_name="parameterName", parameter_value="parameterValue" )] )] ), request_configuration=kinesisfirehose.CfnDeliveryStream.HttpEndpointRequestConfigurationProperty( common_attributes=[kinesisfirehose.CfnDeliveryStream.HttpEndpointCommonAttributeProperty( attribute_name="attributeName", attribute_value="attributeValue" )], content_encoding="contentEncoding" ), retry_options=kinesisfirehose.CfnDeliveryStream.RetryOptionsProperty( duration_in_seconds=123 ), role_arn="roleArn", s3_backup_mode="s3BackupMode", secrets_manager_configuration=kinesisfirehose.CfnDeliveryStream.SecretsManagerConfigurationProperty( enabled=False, # the properties below are optional role_arn="roleArn", secret_arn="secretArn" ) )
Attributes
- buffering_hints
The buffering options that can be used before data is delivered to the specified destination.
Kinesis Data Firehose treats these options as hints, and it might choose to use more optimal values. The SizeInMBs and IntervalInSeconds parameters are optional. However, if you specify a value for one of them, you must also provide a value for the other.
- cloud_watch_logging_options
Describes the Amazon CloudWatch logging options for your delivery stream.
- endpoint_configuration
The configuration of the HTTP endpoint selected as the destination.
- processing_configuration
Describes the data processing configuration.
- request_configuration
The configuration of the request sent to the HTTP endpoint specified as the destination.
- retry_options
Describes the retry behavior in case Kinesis Data Firehose is unable to deliver data to the specified HTTP endpoint destination, or if it doesn’t receive a valid acknowledgment of receipt from the specified HTTP endpoint destination.
- role_arn
Kinesis Data Firehose uses this IAM role for all the permissions that the delivery stream needs.
- s3_backup_mode
Describes the S3 bucket backup options for the data that Kinesis Data Firehose delivers to the HTTP endpoint destination.
You can back up all documents (AllData) or only the documents that Kinesis Data Firehose could not deliver to the specified HTTP endpoint destination (FailedDataOnly).
- s3_configuration
Describes the configuration of a destination in Amazon S3.
- secrets_manager_configuration
The configuration that defines how you access secrets for HTTP Endpoint destination.
HttpEndpointRequestConfigurationProperty
- class CfnDeliveryStream.HttpEndpointRequestConfigurationProperty(*, common_attributes=None, content_encoding=None)
Bases:
object
The configuration of the HTTP endpoint request.
Kinesis Firehose supports any custom HTTP endpoint or HTTP endpoints owned by supported third-party service providers, including Datadog, MongoDB, and New Relic.
- Parameters:
common_attributes (
Union
[IResolvable
,Sequence
[Union
[IResolvable
,HttpEndpointCommonAttributeProperty
,Dict
[str
,Any
]]],None
]) – Describes the metadata sent to the HTTP endpoint destination.content_encoding (
Optional
[str
]) – Kinesis Data Firehose uses the content encoding to compress the body of a request before sending the request to the destination. For more information, see Content-Encoding in MDN Web Docs, the official Mozilla documentation.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose http_endpoint_request_configuration_property = kinesisfirehose.CfnDeliveryStream.HttpEndpointRequestConfigurationProperty( common_attributes=[kinesisfirehose.CfnDeliveryStream.HttpEndpointCommonAttributeProperty( attribute_name="attributeName", attribute_value="attributeValue" )], content_encoding="contentEncoding" )
Attributes
- common_attributes
Describes the metadata sent to the HTTP endpoint destination.
- content_encoding
Kinesis Data Firehose uses the content encoding to compress the body of a request before sending the request to the destination.
For more information, see Content-Encoding in MDN Web Docs, the official Mozilla documentation.
IcebergDestinationConfigurationProperty
- class CfnDeliveryStream.IcebergDestinationConfigurationProperty(*, catalog_configuration, role_arn, s3_configuration, buffering_hints=None, cloud_watch_logging_options=None, destination_table_configuration_list=None, processing_configuration=None, retry_options=None, s3_backup_mode=None)
Bases:
object
Specifies the destination configure settings for Apache Iceberg Table.
- Parameters:
catalog_configuration (
Union
[IResolvable
,CatalogConfigurationProperty
,Dict
[str
,Any
]]) – Configuration describing where the destination Apache Iceberg Tables are persisted.role_arn (
str
) – The Amazon Resource Name (ARN) of the IAM role to be assumed by Firehose for calling Apache Iceberg Tables.s3_configuration (
Union
[IResolvable
,S3DestinationConfigurationProperty
,Dict
[str
,Any
]]) –buffering_hints (
Union
[IResolvable
,BufferingHintsProperty
,Dict
[str
,Any
],None
]) –cloud_watch_logging_options (
Union
[IResolvable
,CloudWatchLoggingOptionsProperty
,Dict
[str
,Any
],None
]) –destination_table_configuration_list (
Union
[IResolvable
,Sequence
[Union
[IResolvable
,DestinationTableConfigurationProperty
,Dict
[str
,Any
]]],None
]) – Provides a list ofDestinationTableConfigurations
which Firehose uses to deliver data to Apache Iceberg Tables. Firehose will write data with insert if table specific configuration is not provided here.processing_configuration (
Union
[IResolvable
,ProcessingConfigurationProperty
,Dict
[str
,Any
],None
]) –retry_options (
Union
[IResolvable
,RetryOptionsProperty
,Dict
[str
,Any
],None
]) –s3_backup_mode (
Optional
[str
]) – Describes how Firehose will backup records. Currently,S3 backup only supportsFailedDataOnly
.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose iceberg_destination_configuration_property = kinesisfirehose.CfnDeliveryStream.IcebergDestinationConfigurationProperty( catalog_configuration=kinesisfirehose.CfnDeliveryStream.CatalogConfigurationProperty( catalog_arn="catalogArn" ), role_arn="roleArn", s3_configuration=kinesisfirehose.CfnDeliveryStream.S3DestinationConfigurationProperty( bucket_arn="bucketArn", role_arn="roleArn", # the properties below are optional buffering_hints=kinesisfirehose.CfnDeliveryStream.BufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 ), cloud_watch_logging_options=kinesisfirehose.CfnDeliveryStream.CloudWatchLoggingOptionsProperty( enabled=False, log_group_name="logGroupName", log_stream_name="logStreamName" ), compression_format="compressionFormat", encryption_configuration=kinesisfirehose.CfnDeliveryStream.EncryptionConfigurationProperty( kms_encryption_config=kinesisfirehose.CfnDeliveryStream.KMSEncryptionConfigProperty( awskms_key_arn="awskmsKeyArn" ), no_encryption_config="noEncryptionConfig" ), error_output_prefix="errorOutputPrefix", prefix="prefix" ), # the properties below are optional buffering_hints=kinesisfirehose.CfnDeliveryStream.BufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 ), cloud_watch_logging_options=kinesisfirehose.CfnDeliveryStream.CloudWatchLoggingOptionsProperty( enabled=False, log_group_name="logGroupName", log_stream_name="logStreamName" ), destination_table_configuration_list=[kinesisfirehose.CfnDeliveryStream.DestinationTableConfigurationProperty( destination_database_name="destinationDatabaseName", destination_table_name="destinationTableName", # the properties below are optional s3_error_output_prefix="s3ErrorOutputPrefix", unique_keys=["uniqueKeys"] )], processing_configuration=kinesisfirehose.CfnDeliveryStream.ProcessingConfigurationProperty( enabled=False, processors=[kinesisfirehose.CfnDeliveryStream.ProcessorProperty( type="type", # the properties below are optional parameters=[kinesisfirehose.CfnDeliveryStream.ProcessorParameterProperty( parameter_name="parameterName", parameter_value="parameterValue" )] )] ), retry_options=kinesisfirehose.CfnDeliveryStream.RetryOptionsProperty( duration_in_seconds=123 ), s3_backup_mode="s3BackupMode" )
Attributes
- buffering_hints
-
- Type:
see
- catalog_configuration
Configuration describing where the destination Apache Iceberg Tables are persisted.
- cloud_watch_logging_options
-
- Type:
see
- destination_table_configuration_list
Provides a list of
DestinationTableConfigurations
which Firehose uses to deliver data to Apache Iceberg Tables.Firehose will write data with insert if table specific configuration is not provided here.
- processing_configuration
-
- Type:
see
- retry_options
-
- Type:
see
- role_arn
The Amazon Resource Name (ARN) of the IAM role to be assumed by Firehose for calling Apache Iceberg Tables.
- s3_backup_mode
Describes how Firehose will backup records.
Currently,S3 backup only supports
FailedDataOnly
.
InputFormatConfigurationProperty
- class CfnDeliveryStream.InputFormatConfigurationProperty(*, deserializer=None)
Bases:
object
Specifies the deserializer you want to use to convert the format of the input data.
This parameter is required if
Enabled
is set to true.- Parameters:
deserializer (
Union
[IResolvable
,DeserializerProperty
,Dict
[str
,Any
],None
]) – Specifies which deserializer to use. You can choose either the Apache Hive JSON SerDe or the OpenX JSON SerDe. If both are non-null, the server rejects the request.- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose input_format_configuration_property = kinesisfirehose.CfnDeliveryStream.InputFormatConfigurationProperty( deserializer=kinesisfirehose.CfnDeliveryStream.DeserializerProperty( hive_json_ser_de=kinesisfirehose.CfnDeliveryStream.HiveJsonSerDeProperty( timestamp_formats=["timestampFormats"] ), open_xJson_ser_de=kinesisfirehose.CfnDeliveryStream.OpenXJsonSerDeProperty( case_insensitive=False, column_to_json_key_mappings={ "column_to_json_key_mappings_key": "columnToJsonKeyMappings" }, convert_dots_in_json_keys_to_underscores=False ) ) )
Attributes
- deserializer
Specifies which deserializer to use.
You can choose either the Apache Hive JSON SerDe or the OpenX JSON SerDe. If both are non-null, the server rejects the request.
KMSEncryptionConfigProperty
- class CfnDeliveryStream.KMSEncryptionConfigProperty(*, awskms_key_arn)
Bases:
object
The
KMSEncryptionConfig
property type specifies the AWS Key Management Service ( AWS KMS) encryption key that Amazon Simple Storage Service (Amazon S3) uses to encrypt data delivered by the Amazon Kinesis Data Firehose (Kinesis Data Firehose) stream.- Parameters:
awskms_key_arn (
str
) – The Amazon Resource Name (ARN) of the AWS KMS encryption key that Amazon S3 uses to encrypt data delivered by the Kinesis Data Firehose stream. The key must belong to the same region as the destination S3 bucket.- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose k_mSEncryption_config_property = kinesisfirehose.CfnDeliveryStream.KMSEncryptionConfigProperty( awskms_key_arn="awskmsKeyArn" )
Attributes
- awskms_key_arn
The Amazon Resource Name (ARN) of the AWS KMS encryption key that Amazon S3 uses to encrypt data delivered by the Kinesis Data Firehose stream.
The key must belong to the same region as the destination S3 bucket.
KinesisStreamSourceConfigurationProperty
- class CfnDeliveryStream.KinesisStreamSourceConfigurationProperty(*, kinesis_stream_arn, role_arn)
Bases:
object
The
KinesisStreamSourceConfiguration
property type specifies the stream and role Amazon Resource Names (ARNs) for a Kinesis stream used as the source for a delivery stream.- Parameters:
kinesis_stream_arn (
str
) – The ARN of the source Kinesis data stream.role_arn (
str
) – The ARN of the role that provides access to the source Kinesis data stream.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose kinesis_stream_source_configuration_property = kinesisfirehose.CfnDeliveryStream.KinesisStreamSourceConfigurationProperty( kinesis_stream_arn="kinesisStreamArn", role_arn="roleArn" )
Attributes
- kinesis_stream_arn
The ARN of the source Kinesis data stream.
- role_arn
The ARN of the role that provides access to the source Kinesis data stream.
MSKSourceConfigurationProperty
- class CfnDeliveryStream.MSKSourceConfigurationProperty(*, authentication_configuration, msk_cluster_arn, topic_name, read_from_timestamp=None)
Bases:
object
The configuration for the Amazon MSK cluster to be used as the source for a delivery stream.
- Parameters:
authentication_configuration (
Union
[IResolvable
,AuthenticationConfigurationProperty
,Dict
[str
,Any
]]) – The authentication configuration of the Amazon MSK cluster.msk_cluster_arn (
str
) – The ARN of the Amazon MSK cluster.topic_name (
str
) – The topic name within the Amazon MSK cluster.read_from_timestamp (
Optional
[str
]) – The start date and time in UTC for the offset position within your MSK topic from where Firehose begins to read. By default, this is set to timestamp when Firehose becomes Active. If you want to create a Firehose stream with Earliest start position from SDK or CLI, you need to set theReadFromTimestamp
parameter to Epoch (1970-01-01T00:00:00Z).
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose m_sKSource_configuration_property = kinesisfirehose.CfnDeliveryStream.MSKSourceConfigurationProperty( authentication_configuration=kinesisfirehose.CfnDeliveryStream.AuthenticationConfigurationProperty( connectivity="connectivity", role_arn="roleArn" ), msk_cluster_arn="mskClusterArn", topic_name="topicName", # the properties below are optional read_from_timestamp="readFromTimestamp" )
Attributes
- authentication_configuration
The authentication configuration of the Amazon MSK cluster.
- msk_cluster_arn
The ARN of the Amazon MSK cluster.
- read_from_timestamp
The start date and time in UTC for the offset position within your MSK topic from where Firehose begins to read.
By default, this is set to timestamp when Firehose becomes Active.
If you want to create a Firehose stream with Earliest start position from SDK or CLI, you need to set the
ReadFromTimestamp
parameter to Epoch (1970-01-01T00:00:00Z).
- topic_name
The topic name within the Amazon MSK cluster.
OpenXJsonSerDeProperty
- class CfnDeliveryStream.OpenXJsonSerDeProperty(*, case_insensitive=None, column_to_json_key_mappings=None, convert_dots_in_json_keys_to_underscores=None)
Bases:
object
The OpenX SerDe.
Used by Firehose for deserializing data, which means converting it from the JSON format in preparation for serializing it to the Parquet or ORC format. This is one of two deserializers you can choose, depending on which one offers the functionality you need. The other option is the native Hive / HCatalog JsonSerDe.
- Parameters:
case_insensitive (
Union
[bool
,IResolvable
,None
]) – When set totrue
, which is the default, Firehose converts JSON keys to lowercase before deserializing them.column_to_json_key_mappings (
Union
[IResolvable
,Mapping
[str
,str
],None
]) – Maps column names to JSON keys that aren’t identical to the column names. This is useful when the JSON contains keys that are Hive keywords. For example,timestamp
is a Hive keyword. If you have a JSON key namedtimestamp
, set this parameter to{"ts": "timestamp"}
to map this key to a column namedts
.convert_dots_in_json_keys_to_underscores (
Union
[bool
,IResolvable
,None
]) – When set totrue
, specifies that the names of the keys include dots and that you want Firehose to replace them with underscores. This is useful because Apache Hive does not allow dots in column names. For example, if the JSON contains a key whose name is “a.b”, you can define the column name to be “a_b” when using this option. The default isfalse
.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose open_xJson_ser_de_property = kinesisfirehose.CfnDeliveryStream.OpenXJsonSerDeProperty( case_insensitive=False, column_to_json_key_mappings={ "column_to_json_key_mappings_key": "columnToJsonKeyMappings" }, convert_dots_in_json_keys_to_underscores=False )
Attributes
- case_insensitive
When set to
true
, which is the default, Firehose converts JSON keys to lowercase before deserializing them.
- column_to_json_key_mappings
Maps column names to JSON keys that aren’t identical to the column names.
This is useful when the JSON contains keys that are Hive keywords. For example,
timestamp
is a Hive keyword. If you have a JSON key namedtimestamp
, set this parameter to{"ts": "timestamp"}
to map this key to a column namedts
.
- convert_dots_in_json_keys_to_underscores
When set to
true
, specifies that the names of the keys include dots and that you want Firehose to replace them with underscores.This is useful because Apache Hive does not allow dots in column names. For example, if the JSON contains a key whose name is “a.b”, you can define the column name to be “a_b” when using this option.
The default is
false
.
OrcSerDeProperty
- class CfnDeliveryStream.OrcSerDeProperty(*, block_size_bytes=None, bloom_filter_columns=None, bloom_filter_false_positive_probability=None, compression=None, dictionary_key_threshold=None, enable_padding=None, format_version=None, padding_tolerance=None, row_index_stride=None, stripe_size_bytes=None)
Bases:
object
A serializer to use for converting data to the ORC format before storing it in Amazon S3.
For more information, see Apache ORC .
- Parameters:
block_size_bytes (
Union
[int
,float
,None
]) – The Hadoop Distributed File System (HDFS) block size. This is useful if you intend to copy the data from Amazon S3 to HDFS before querying. The default is 256 MiB and the minimum is 64 MiB. Firehose uses this value for padding calculations.bloom_filter_columns (
Optional
[Sequence
[str
]]) – The column names for which you want Firehose to create bloom filters. The default isnull
.bloom_filter_false_positive_probability (
Union
[int
,float
,None
]) – The Bloom filter false positive probability (FPP). The lower the FPP, the bigger the Bloom filter. The default value is 0.05, the minimum is 0, and the maximum is 1.compression (
Optional
[str
]) – The compression code to use over data blocks. The default isSNAPPY
.dictionary_key_threshold (
Union
[int
,float
,None
]) – Represents the fraction of the total number of non-null rows. To turn off dictionary encoding, set this fraction to a number that is less than the number of distinct keys in a dictionary. To always use dictionary encoding, set this threshold to 1.enable_padding (
Union
[bool
,IResolvable
,None
]) – Set this totrue
to indicate that you want stripes to be padded to the HDFS block boundaries. This is useful if you intend to copy the data from Amazon S3 to HDFS before querying. The default isfalse
.format_version (
Optional
[str
]) – The version of the file to write. The possible values areV0_11
andV0_12
. The default isV0_12
.padding_tolerance (
Union
[int
,float
,None
]) – A number between 0 and 1 that defines the tolerance for block padding as a decimal fraction of stripe size. The default value is 0.05, which means 5 percent of stripe size. For the default values of 64 MiB ORC stripes and 256 MiB HDFS blocks, the default block padding tolerance of 5 percent reserves a maximum of 3.2 MiB for padding within the 256 MiB block. In such a case, if the available size within the block is more than 3.2 MiB, a new, smaller stripe is inserted to fit within that space. This ensures that no stripe crosses block boundaries and causes remote reads within a node-local task. Kinesis Data Firehose ignores this parameter whenEnablePadding
isfalse
.row_index_stride (
Union
[int
,float
,None
]) – The number of rows between index entries. The default is 10,000 and the minimum is 1,000.stripe_size_bytes (
Union
[int
,float
,None
]) – The number of bytes in each stripe. The default is 64 MiB and the minimum is 8 MiB.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose orc_ser_de_property = kinesisfirehose.CfnDeliveryStream.OrcSerDeProperty( block_size_bytes=123, bloom_filter_columns=["bloomFilterColumns"], bloom_filter_false_positive_probability=123, compression="compression", dictionary_key_threshold=123, enable_padding=False, format_version="formatVersion", padding_tolerance=123, row_index_stride=123, stripe_size_bytes=123 )
Attributes
- block_size_bytes
The Hadoop Distributed File System (HDFS) block size.
This is useful if you intend to copy the data from Amazon S3 to HDFS before querying. The default is 256 MiB and the minimum is 64 MiB. Firehose uses this value for padding calculations.
- bloom_filter_columns
The column names for which you want Firehose to create bloom filters.
The default is
null
.
- bloom_filter_false_positive_probability
The Bloom filter false positive probability (FPP).
The lower the FPP, the bigger the Bloom filter. The default value is 0.05, the minimum is 0, and the maximum is 1.
- compression
The compression code to use over data blocks.
The default is
SNAPPY
.
- dictionary_key_threshold
Represents the fraction of the total number of non-null rows.
To turn off dictionary encoding, set this fraction to a number that is less than the number of distinct keys in a dictionary. To always use dictionary encoding, set this threshold to 1.
- enable_padding
Set this to
true
to indicate that you want stripes to be padded to the HDFS block boundaries.This is useful if you intend to copy the data from Amazon S3 to HDFS before querying. The default is
false
.
- format_version
The version of the file to write.
The possible values are
V0_11
andV0_12
. The default isV0_12
.
- padding_tolerance
A number between 0 and 1 that defines the tolerance for block padding as a decimal fraction of stripe size.
The default value is 0.05, which means 5 percent of stripe size.
For the default values of 64 MiB ORC stripes and 256 MiB HDFS blocks, the default block padding tolerance of 5 percent reserves a maximum of 3.2 MiB for padding within the 256 MiB block. In such a case, if the available size within the block is more than 3.2 MiB, a new, smaller stripe is inserted to fit within that space. This ensures that no stripe crosses block boundaries and causes remote reads within a node-local task.
Kinesis Data Firehose ignores this parameter when
EnablePadding
isfalse
.
- row_index_stride
The number of rows between index entries.
The default is 10,000 and the minimum is 1,000.
- stripe_size_bytes
The number of bytes in each stripe.
The default is 64 MiB and the minimum is 8 MiB.
OutputFormatConfigurationProperty
- class CfnDeliveryStream.OutputFormatConfigurationProperty(*, serializer=None)
Bases:
object
Specifies the serializer that you want Firehose to use to convert the format of your data before it writes it to Amazon S3.
This parameter is required if
Enabled
is set to true.- Parameters:
serializer (
Union
[IResolvable
,SerializerProperty
,Dict
[str
,Any
],None
]) – Specifies which serializer to use. You can choose either the ORC SerDe or the Parquet SerDe. If both are non-null, the server rejects the request.- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose output_format_configuration_property = kinesisfirehose.CfnDeliveryStream.OutputFormatConfigurationProperty( serializer=kinesisfirehose.CfnDeliveryStream.SerializerProperty( orc_ser_de=kinesisfirehose.CfnDeliveryStream.OrcSerDeProperty( block_size_bytes=123, bloom_filter_columns=["bloomFilterColumns"], bloom_filter_false_positive_probability=123, compression="compression", dictionary_key_threshold=123, enable_padding=False, format_version="formatVersion", padding_tolerance=123, row_index_stride=123, stripe_size_bytes=123 ), parquet_ser_de=kinesisfirehose.CfnDeliveryStream.ParquetSerDeProperty( block_size_bytes=123, compression="compression", enable_dictionary_compression=False, max_padding_bytes=123, page_size_bytes=123, writer_version="writerVersion" ) ) )
Attributes
- serializer
Specifies which serializer to use.
You can choose either the ORC SerDe or the Parquet SerDe. If both are non-null, the server rejects the request.
ParquetSerDeProperty
- class CfnDeliveryStream.ParquetSerDeProperty(*, block_size_bytes=None, compression=None, enable_dictionary_compression=None, max_padding_bytes=None, page_size_bytes=None, writer_version=None)
Bases:
object
A serializer to use for converting data to the Parquet format before storing it in Amazon S3.
For more information, see Apache Parquet .
- Parameters:
block_size_bytes (
Union
[int
,float
,None
]) – The Hadoop Distributed File System (HDFS) block size. This is useful if you intend to copy the data from Amazon S3 to HDFS before querying. The default is 256 MiB and the minimum is 64 MiB. Firehose uses this value for padding calculations.compression (
Optional
[str
]) – The compression code to use over data blocks. The possible values areUNCOMPRESSED
,SNAPPY
, andGZIP
, with the default beingSNAPPY
. UseSNAPPY
for higher decompression speed. UseGZIP
if the compression ratio is more important than speed.enable_dictionary_compression (
Union
[bool
,IResolvable
,None
]) – Indicates whether to enable dictionary compression.max_padding_bytes (
Union
[int
,float
,None
]) – The maximum amount of padding to apply. This is useful if you intend to copy the data from Amazon S3 to HDFS before querying. The default is 0.page_size_bytes (
Union
[int
,float
,None
]) – The Parquet page size. Column chunks are divided into pages. A page is conceptually an indivisible unit (in terms of compression and encoding). The minimum value is 64 KiB and the default is 1 MiB.writer_version (
Optional
[str
]) – Indicates the version of row format to output. The possible values areV1
andV2
. The default isV1
.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose parquet_ser_de_property = kinesisfirehose.CfnDeliveryStream.ParquetSerDeProperty( block_size_bytes=123, compression="compression", enable_dictionary_compression=False, max_padding_bytes=123, page_size_bytes=123, writer_version="writerVersion" )
Attributes
- block_size_bytes
The Hadoop Distributed File System (HDFS) block size.
This is useful if you intend to copy the data from Amazon S3 to HDFS before querying. The default is 256 MiB and the minimum is 64 MiB. Firehose uses this value for padding calculations.
- compression
The compression code to use over data blocks.
The possible values are
UNCOMPRESSED
,SNAPPY
, andGZIP
, with the default beingSNAPPY
. UseSNAPPY
for higher decompression speed. UseGZIP
if the compression ratio is more important than speed.
- enable_dictionary_compression
Indicates whether to enable dictionary compression.
- max_padding_bytes
The maximum amount of padding to apply.
This is useful if you intend to copy the data from Amazon S3 to HDFS before querying. The default is 0.
- page_size_bytes
The Parquet page size.
Column chunks are divided into pages. A page is conceptually an indivisible unit (in terms of compression and encoding). The minimum value is 64 KiB and the default is 1 MiB.
- writer_version
Indicates the version of row format to output.
The possible values are
V1
andV2
. The default isV1
.
ProcessingConfigurationProperty
- class CfnDeliveryStream.ProcessingConfigurationProperty(*, enabled=None, processors=None)
Bases:
object
The
ProcessingConfiguration
property configures data processing for an Amazon Kinesis Data Firehose delivery stream.- Parameters:
enabled (
Union
[bool
,IResolvable
,None
]) – Indicates whether data processing is enabled (true) or disabled (false).processors (
Union
[IResolvable
,Sequence
[Union
[IResolvable
,ProcessorProperty
,Dict
[str
,Any
]]],None
]) – The data processors.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose processing_configuration_property = kinesisfirehose.CfnDeliveryStream.ProcessingConfigurationProperty( enabled=False, processors=[kinesisfirehose.CfnDeliveryStream.ProcessorProperty( type="type", # the properties below are optional parameters=[kinesisfirehose.CfnDeliveryStream.ProcessorParameterProperty( parameter_name="parameterName", parameter_value="parameterValue" )] )] )
Attributes
- enabled
Indicates whether data processing is enabled (true) or disabled (false).
ProcessorParameterProperty
- class CfnDeliveryStream.ProcessorParameterProperty(*, parameter_name, parameter_value)
Bases:
object
The
ProcessorParameter
property specifies a processor parameter in a data processor for an Amazon Kinesis Data Firehose delivery stream.- Parameters:
parameter_name (
str
) – The name of the parameter. Currently the following default values are supported: 3 forNumberOfRetries
and 60 for theBufferIntervalInSeconds
. TheBufferSizeInMBs
ranges between 0.2 MB and up to 3MB. The default buffering hint is 1MB for all destinations, except Splunk. For Splunk, the default buffering hint is 256 KB.parameter_value (
str
) – The parameter value.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose processor_parameter_property = kinesisfirehose.CfnDeliveryStream.ProcessorParameterProperty( parameter_name="parameterName", parameter_value="parameterValue" )
Attributes
- parameter_name
The name of the parameter.
Currently the following default values are supported: 3 for
NumberOfRetries
and 60 for theBufferIntervalInSeconds
. TheBufferSizeInMBs
ranges between 0.2 MB and up to 3MB. The default buffering hint is 1MB for all destinations, except Splunk. For Splunk, the default buffering hint is 256 KB.
ProcessorProperty
- class CfnDeliveryStream.ProcessorProperty(*, type, parameters=None)
Bases:
object
The
Processor
property specifies a data processor for an Amazon Kinesis Data Firehose delivery stream.- Parameters:
type (
str
) – The type of processor. Valid values:Lambda
.parameters (
Union
[IResolvable
,Sequence
[Union
[IResolvable
,ProcessorParameterProperty
,Dict
[str
,Any
]]],None
]) – The processor parameters.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose processor_property = kinesisfirehose.CfnDeliveryStream.ProcessorProperty( type="type", # the properties below are optional parameters=[kinesisfirehose.CfnDeliveryStream.ProcessorParameterProperty( parameter_name="parameterName", parameter_value="parameterValue" )] )
Attributes
- parameters
The processor parameters.
- type
The type of processor.
Valid values:
Lambda
.
RedshiftDestinationConfigurationProperty
- class CfnDeliveryStream.RedshiftDestinationConfigurationProperty(*, cluster_jdbcurl, copy_command, role_arn, s3_configuration, cloud_watch_logging_options=None, password=None, processing_configuration=None, retry_options=None, s3_backup_configuration=None, s3_backup_mode=None, secrets_manager_configuration=None, username=None)
Bases:
object
The
RedshiftDestinationConfiguration
property type specifies an Amazon Redshift cluster to which Amazon Kinesis Data Firehose (Kinesis Data Firehose) delivers data.- Parameters:
cluster_jdbcurl (
str
) – The connection string that Kinesis Data Firehose uses to connect to the Amazon Redshift cluster.copy_command (
Union
[IResolvable
,CopyCommandProperty
,Dict
[str
,Any
]]) – Configures the Amazon RedshiftCOPY
command that Kinesis Data Firehose uses to load data into the cluster from the Amazon S3 bucket.role_arn (
str
) – The ARN of the AWS Identity and Access Management (IAM) role that grants Kinesis Data Firehose access to your Amazon S3 bucket and AWS KMS (if you enable data encryption). For more information, see Grant Kinesis Data Firehose Access to an Amazon Redshift Destination in the Amazon Kinesis Data Firehose Developer Guide .s3_configuration (
Union
[IResolvable
,S3DestinationConfigurationProperty
,Dict
[str
,Any
]]) – The S3 bucket where Kinesis Data Firehose first delivers data. After the data is in the bucket, Kinesis Data Firehose uses theCOPY
command to load the data into the Amazon Redshift cluster. For the Amazon S3 bucket’s compression format, don’t specifySNAPPY
orZIP
because the Amazon RedshiftCOPY
command doesn’t support them.cloud_watch_logging_options (
Union
[IResolvable
,CloudWatchLoggingOptionsProperty
,Dict
[str
,Any
],None
]) – The CloudWatch logging options for your Firehose stream.password (
Optional
[str
]) – The password for the Amazon Redshift user that you specified in theUsername
property.processing_configuration (
Union
[IResolvable
,ProcessingConfigurationProperty
,Dict
[str
,Any
],None
]) – The data processing configuration for the Kinesis Data Firehose delivery stream.retry_options (
Union
[IResolvable
,RedshiftRetryOptionsProperty
,Dict
[str
,Any
],None
]) – The retry behavior in case Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).s3_backup_configuration (
Union
[IResolvable
,S3DestinationConfigurationProperty
,Dict
[str
,Any
],None
]) – The configuration for backup in Amazon S3.s3_backup_mode (
Optional
[str
]) – The Amazon S3 backup mode. After you create a Firehose stream, you can update it to enable Amazon S3 backup if it is disabled. If backup is enabled, you can’t update the Firehose stream to disable it.secrets_manager_configuration (
Union
[IResolvable
,SecretsManagerConfigurationProperty
,Dict
[str
,Any
],None
]) – The configuration that defines how you access secrets for Amazon Redshift.username (
Optional
[str
]) – The Amazon Redshift user that has permission to access the Amazon Redshift cluster. This user must haveINSERT
privileges for copying data from the Amazon S3 bucket to the cluster.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose redshift_destination_configuration_property = kinesisfirehose.CfnDeliveryStream.RedshiftDestinationConfigurationProperty( cluster_jdbcurl="clusterJdbcurl", copy_command=kinesisfirehose.CfnDeliveryStream.CopyCommandProperty( data_table_name="dataTableName", # the properties below are optional copy_options="copyOptions", data_table_columns="dataTableColumns" ), role_arn="roleArn", s3_configuration=kinesisfirehose.CfnDeliveryStream.S3DestinationConfigurationProperty( bucket_arn="bucketArn", role_arn="roleArn", # the properties below are optional buffering_hints=kinesisfirehose.CfnDeliveryStream.BufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 ), cloud_watch_logging_options=kinesisfirehose.CfnDeliveryStream.CloudWatchLoggingOptionsProperty( enabled=False, log_group_name="logGroupName", log_stream_name="logStreamName" ), compression_format="compressionFormat", encryption_configuration=kinesisfirehose.CfnDeliveryStream.EncryptionConfigurationProperty( kms_encryption_config=kinesisfirehose.CfnDeliveryStream.KMSEncryptionConfigProperty( awskms_key_arn="awskmsKeyArn" ), no_encryption_config="noEncryptionConfig" ), error_output_prefix="errorOutputPrefix", prefix="prefix" ), # the properties below are optional cloud_watch_logging_options=kinesisfirehose.CfnDeliveryStream.CloudWatchLoggingOptionsProperty( enabled=False, log_group_name="logGroupName", log_stream_name="logStreamName" ), password="password", processing_configuration=kinesisfirehose.CfnDeliveryStream.ProcessingConfigurationProperty( enabled=False, processors=[kinesisfirehose.CfnDeliveryStream.ProcessorProperty( type="type", # the properties below are optional parameters=[kinesisfirehose.CfnDeliveryStream.ProcessorParameterProperty( parameter_name="parameterName", parameter_value="parameterValue" )] )] ), retry_options=kinesisfirehose.CfnDeliveryStream.RedshiftRetryOptionsProperty( duration_in_seconds=123 ), s3_backup_configuration=kinesisfirehose.CfnDeliveryStream.S3DestinationConfigurationProperty( bucket_arn="bucketArn", role_arn="roleArn", # the properties below are optional buffering_hints=kinesisfirehose.CfnDeliveryStream.BufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 ), cloud_watch_logging_options=kinesisfirehose.CfnDeliveryStream.CloudWatchLoggingOptionsProperty( enabled=False, log_group_name="logGroupName", log_stream_name="logStreamName" ), compression_format="compressionFormat", encryption_configuration=kinesisfirehose.CfnDeliveryStream.EncryptionConfigurationProperty( kms_encryption_config=kinesisfirehose.CfnDeliveryStream.KMSEncryptionConfigProperty( awskms_key_arn="awskmsKeyArn" ), no_encryption_config="noEncryptionConfig" ), error_output_prefix="errorOutputPrefix", prefix="prefix" ), s3_backup_mode="s3BackupMode", secrets_manager_configuration=kinesisfirehose.CfnDeliveryStream.SecretsManagerConfigurationProperty( enabled=False, # the properties below are optional role_arn="roleArn", secret_arn="secretArn" ), username="username" )
Attributes
- cloud_watch_logging_options
The CloudWatch logging options for your Firehose stream.
- cluster_jdbcurl
The connection string that Kinesis Data Firehose uses to connect to the Amazon Redshift cluster.
- copy_command
Configures the Amazon Redshift
COPY
command that Kinesis Data Firehose uses to load data into the cluster from the Amazon S3 bucket.
- password
The password for the Amazon Redshift user that you specified in the
Username
property.
- processing_configuration
The data processing configuration for the Kinesis Data Firehose delivery stream.
- retry_options
The retry behavior in case Firehose is unable to deliver documents to Amazon Redshift.
Default value is 3600 (60 minutes).
- role_arn
The ARN of the AWS Identity and Access Management (IAM) role that grants Kinesis Data Firehose access to your Amazon S3 bucket and AWS KMS (if you enable data encryption).
For more information, see Grant Kinesis Data Firehose Access to an Amazon Redshift Destination in the Amazon Kinesis Data Firehose Developer Guide .
- s3_backup_configuration
The configuration for backup in Amazon S3.
- s3_backup_mode
The Amazon S3 backup mode.
After you create a Firehose stream, you can update it to enable Amazon S3 backup if it is disabled. If backup is enabled, you can’t update the Firehose stream to disable it.
- s3_configuration
The S3 bucket where Kinesis Data Firehose first delivers data.
After the data is in the bucket, Kinesis Data Firehose uses the
COPY
command to load the data into the Amazon Redshift cluster. For the Amazon S3 bucket’s compression format, don’t specifySNAPPY
orZIP
because the Amazon RedshiftCOPY
command doesn’t support them.
- secrets_manager_configuration
The configuration that defines how you access secrets for Amazon Redshift.
- username
The Amazon Redshift user that has permission to access the Amazon Redshift cluster.
This user must have
INSERT
privileges for copying data from the Amazon S3 bucket to the cluster.
RedshiftRetryOptionsProperty
- class CfnDeliveryStream.RedshiftRetryOptionsProperty(*, duration_in_seconds=None)
Bases:
object
Configures retry behavior in case Firehose is unable to deliver documents to Amazon Redshift.
- Parameters:
duration_in_seconds (
Union
[int
,float
,None
]) – The length of time during which Firehose retries delivery after a failure, starting from the initial request and including the first attempt. The default value is 3600 seconds (60 minutes). Firehose does not retry if the value ofDurationInSeconds
is 0 (zero) or if the first delivery attempt takes longer than the current value.- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose redshift_retry_options_property = kinesisfirehose.CfnDeliveryStream.RedshiftRetryOptionsProperty( duration_in_seconds=123 )
Attributes
- duration_in_seconds
The length of time during which Firehose retries delivery after a failure, starting from the initial request and including the first attempt.
The default value is 3600 seconds (60 minutes). Firehose does not retry if the value of
DurationInSeconds
is 0 (zero) or if the first delivery attempt takes longer than the current value.
RetryOptionsProperty
- class CfnDeliveryStream.RetryOptionsProperty(*, duration_in_seconds=None)
Bases:
object
Describes the retry behavior in case Kinesis Data Firehose is unable to deliver data to the specified HTTP endpoint destination, or if it doesn’t receive a valid acknowledgment of receipt from the specified HTTP endpoint destination.
Kinesis Firehose supports any custom HTTP endpoint or HTTP endpoints owned by supported third-party service providers, including Datadog, MongoDB, and New Relic.
- Parameters:
duration_in_seconds (
Union
[int
,float
,None
]) – The total amount of time that Kinesis Data Firehose spends on retries. This duration starts after the initial attempt to send data to the custom destination via HTTPS endpoint fails. It doesn’t include the periods during which Kinesis Data Firehose waits for acknowledgment from the specified destination after each attempt.- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose retry_options_property = kinesisfirehose.CfnDeliveryStream.RetryOptionsProperty( duration_in_seconds=123 )
Attributes
- duration_in_seconds
The total amount of time that Kinesis Data Firehose spends on retries.
This duration starts after the initial attempt to send data to the custom destination via HTTPS endpoint fails. It doesn’t include the periods during which Kinesis Data Firehose waits for acknowledgment from the specified destination after each attempt.
S3DestinationConfigurationProperty
- class CfnDeliveryStream.S3DestinationConfigurationProperty(*, bucket_arn, role_arn, buffering_hints=None, cloud_watch_logging_options=None, compression_format=None, encryption_configuration=None, error_output_prefix=None, prefix=None)
Bases:
object
The
S3DestinationConfiguration
property type specifies an Amazon Simple Storage Service (Amazon S3) destination to which Amazon Kinesis Data Firehose (Kinesis Data Firehose) delivers data.- Parameters:
bucket_arn (
str
) – The Amazon Resource Name (ARN) of the Amazon S3 bucket to send data to.role_arn (
str
) – The ARN of an AWS Identity and Access Management (IAM) role that grants Kinesis Data Firehose access to your Amazon S3 bucket and AWS KMS (if you enable data encryption). For more information, see Grant Kinesis Data Firehose Access to an Amazon S3 Destination in the Amazon Kinesis Data Firehose Developer Guide .buffering_hints (
Union
[IResolvable
,BufferingHintsProperty
,Dict
[str
,Any
],None
]) – Configures how Kinesis Data Firehose buffers incoming data while delivering it to the Amazon S3 bucket.cloud_watch_logging_options (
Union
[IResolvable
,CloudWatchLoggingOptionsProperty
,Dict
[str
,Any
],None
]) – The CloudWatch logging options for your Firehose stream.compression_format (
Optional
[str
]) – The type of compression that Kinesis Data Firehose uses to compress the data that it delivers to the Amazon S3 bucket. For valid values, see theCompressionFormat
content for the S3DestinationConfiguration data type in the Amazon Kinesis Data Firehose API Reference .encryption_configuration (
Union
[IResolvable
,EncryptionConfigurationProperty
,Dict
[str
,Any
],None
]) – Configures Amazon Simple Storage Service (Amazon S3) server-side encryption. Kinesis Data Firehose uses AWS Key Management Service ( AWS KMS) to encrypt the data that it delivers to your Amazon S3 bucket.error_output_prefix (
Optional
[str
]) –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. For information about how to specify this prefix, see Custom Prefixes for Amazon S3 Objects .
prefix (
Optional
[str
]) – A prefix that Kinesis Data Firehose adds to the files that it delivers to the Amazon S3 bucket. The prefix helps you identify the files that Kinesis Data Firehose delivered.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose s3_destination_configuration_property = kinesisfirehose.CfnDeliveryStream.S3DestinationConfigurationProperty( bucket_arn="bucketArn", role_arn="roleArn", # the properties below are optional buffering_hints=kinesisfirehose.CfnDeliveryStream.BufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 ), cloud_watch_logging_options=kinesisfirehose.CfnDeliveryStream.CloudWatchLoggingOptionsProperty( enabled=False, log_group_name="logGroupName", log_stream_name="logStreamName" ), compression_format="compressionFormat", encryption_configuration=kinesisfirehose.CfnDeliveryStream.EncryptionConfigurationProperty( kms_encryption_config=kinesisfirehose.CfnDeliveryStream.KMSEncryptionConfigProperty( awskms_key_arn="awskmsKeyArn" ), no_encryption_config="noEncryptionConfig" ), error_output_prefix="errorOutputPrefix", prefix="prefix" )
Attributes
- bucket_arn
The Amazon Resource Name (ARN) of the Amazon S3 bucket to send data to.
- buffering_hints
Configures how Kinesis Data Firehose buffers incoming data while delivering it to the Amazon S3 bucket.
- cloud_watch_logging_options
The CloudWatch logging options for your Firehose stream.
- compression_format
The type of compression that Kinesis Data Firehose uses to compress the data that it delivers to the Amazon S3 bucket.
For valid values, see the
CompressionFormat
content for the S3DestinationConfiguration data type in the Amazon Kinesis Data Firehose API Reference .
- encryption_configuration
Configures Amazon Simple Storage Service (Amazon S3) server-side encryption.
Kinesis Data Firehose uses AWS Key Management Service ( AWS KMS) to encrypt the data that it delivers to your Amazon S3 bucket.
- error_output_prefix
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. For information about how to specify this prefix, see Custom Prefixes for Amazon S3 Objects .
- prefix
A prefix that Kinesis Data Firehose adds to the files that it delivers to the Amazon S3 bucket.
The prefix helps you identify the files that Kinesis Data Firehose delivered.
- role_arn
The ARN of an AWS Identity and Access Management (IAM) role that grants Kinesis Data Firehose access to your Amazon S3 bucket and AWS KMS (if you enable data encryption).
For more information, see Grant Kinesis Data Firehose Access to an Amazon S3 Destination in the Amazon Kinesis Data Firehose Developer Guide .
SchemaConfigurationProperty
- class CfnDeliveryStream.SchemaConfigurationProperty(*, catalog_id=None, database_name=None, region=None, role_arn=None, table_name=None, version_id=None)
Bases:
object
Specifies the schema to which you want Firehose to configure your data before it writes it to Amazon S3.
This parameter is required if
Enabled
is set to true.- Parameters:
catalog_id (
Optional
[str
]) – The ID of the AWS Glue Data Catalog. If you don’t supply this, the AWS account ID is used by default.database_name (
Optional
[str
]) – Specifies the name of the AWS Glue database that contains the schema for the output data. .. epigraph:: If theSchemaConfiguration
request parameter is used as part of invoking theCreateDeliveryStream
API, then theDatabaseName
property is required and its value must be specified.region (
Optional
[str
]) – If you don’t specify an AWS Region, the default is the current Region.role_arn (
Optional
[str
]) – The role that Firehose can use to access AWS Glue. This role must be in the same account you use for Firehose. Cross-account roles aren’t allowed. .. epigraph:: If theSchemaConfiguration
request parameter is used as part of invoking theCreateDeliveryStream
API, then theRoleARN
property is required and its value must be specified.table_name (
Optional
[str
]) – Specifies the AWS Glue table that contains the column information that constitutes your data schema. .. epigraph:: If theSchemaConfiguration
request parameter is used as part of invoking theCreateDeliveryStream
API, then theTableName
property is required and its value must be specified.version_id (
Optional
[str
]) – Specifies the table version for the output data schema. If you don’t specify this version ID, or if you set it toLATEST
, Firehose uses the most recent version. This means that any updates to the table are automatically picked up.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose schema_configuration_property = kinesisfirehose.CfnDeliveryStream.SchemaConfigurationProperty( catalog_id="catalogId", database_name="databaseName", region="region", role_arn="roleArn", table_name="tableName", version_id="versionId" )
Attributes
- catalog_id
The ID of the AWS Glue Data Catalog.
If you don’t supply this, the AWS account ID is used by default.
- database_name
Specifies the name of the AWS Glue database that contains the schema for the output data.
If the
SchemaConfiguration
request parameter is used as part of invoking theCreateDeliveryStream
API, then theDatabaseName
property is required and its value must be specified.
- region
If you don’t specify an AWS Region, the default is the current Region.
- role_arn
The role that Firehose can use to access AWS Glue.
This role must be in the same account you use for Firehose. Cross-account roles aren’t allowed. .. epigraph:
If the ``SchemaConfiguration`` request parameter is used as part of invoking the ``CreateDeliveryStream`` API, then the ``RoleARN`` property is required and its value must be specified.
- table_name
Specifies the AWS Glue table that contains the column information that constitutes your data schema.
If the
SchemaConfiguration
request parameter is used as part of invoking theCreateDeliveryStream
API, then theTableName
property is required and its value must be specified.
- version_id
Specifies the table version for the output data schema.
If you don’t specify this version ID, or if you set it to
LATEST
, Firehose uses the most recent version. This means that any updates to the table are automatically picked up.
SecretsManagerConfigurationProperty
- class CfnDeliveryStream.SecretsManagerConfigurationProperty(*, enabled, role_arn=None, secret_arn=None)
Bases:
object
The structure that defines how Firehose accesses the secret.
- Parameters:
enabled (
Union
[bool
,IResolvable
]) – Specifies whether you want to use the secrets manager feature. When set asTrue
the secrets manager configuration overwrites the existing secrets in the destination configuration. When it’s set toFalse
Firehose falls back to the credentials in the destination configuration.role_arn (
Optional
[str
]) – Specifies the role that Firehose assumes when calling the Secrets Manager API operation. When you provide the role, it overrides any destination specific role defined in the destination configuration. If you do not provide the then we use the destination specific role. This parameter is required for Splunk.secret_arn (
Optional
[str
]) – The ARN of the secret that stores your credentials. It must be in the same region as the Firehose stream and the role. The secret ARN can reside in a different account than the Firehose stream and role as Firehose supports cross-account secret access. This parameter is required when Enabled is set toTrue
.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose secrets_manager_configuration_property = kinesisfirehose.CfnDeliveryStream.SecretsManagerConfigurationProperty( enabled=False, # the properties below are optional role_arn="roleArn", secret_arn="secretArn" )
Attributes
- enabled
Specifies whether you want to use the secrets manager feature.
When set as
True
the secrets manager configuration overwrites the existing secrets in the destination configuration. When it’s set toFalse
Firehose falls back to the credentials in the destination configuration.
- role_arn
Specifies the role that Firehose assumes when calling the Secrets Manager API operation.
When you provide the role, it overrides any destination specific role defined in the destination configuration. If you do not provide the then we use the destination specific role. This parameter is required for Splunk.
- secret_arn
The ARN of the secret that stores your credentials.
It must be in the same region as the Firehose stream and the role. The secret ARN can reside in a different account than the Firehose stream and role as Firehose supports cross-account secret access. This parameter is required when Enabled is set to
True
.
SerializerProperty
- class CfnDeliveryStream.SerializerProperty(*, orc_ser_de=None, parquet_ser_de=None)
Bases:
object
The serializer that you want Firehose to use to convert data to the target format before writing it to Amazon S3.
Firehose supports two types of serializers: the ORC SerDe and the Parquet SerDe .
- Parameters:
orc_ser_de (
Union
[IResolvable
,OrcSerDeProperty
,Dict
[str
,Any
],None
]) –A serializer to use for converting data to the ORC format before storing it in Amazon S3. For more information, see Apache ORC .
parquet_ser_de (
Union
[IResolvable
,ParquetSerDeProperty
,Dict
[str
,Any
],None
]) –A serializer to use for converting data to the Parquet format before storing it in Amazon S3. For more information, see Apache Parquet .
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose serializer_property = kinesisfirehose.CfnDeliveryStream.SerializerProperty( orc_ser_de=kinesisfirehose.CfnDeliveryStream.OrcSerDeProperty( block_size_bytes=123, bloom_filter_columns=["bloomFilterColumns"], bloom_filter_false_positive_probability=123, compression="compression", dictionary_key_threshold=123, enable_padding=False, format_version="formatVersion", padding_tolerance=123, row_index_stride=123, stripe_size_bytes=123 ), parquet_ser_de=kinesisfirehose.CfnDeliveryStream.ParquetSerDeProperty( block_size_bytes=123, compression="compression", enable_dictionary_compression=False, max_padding_bytes=123, page_size_bytes=123, writer_version="writerVersion" ) )
Attributes
- orc_ser_de
A serializer to use for converting data to the ORC format before storing it in Amazon S3.
For more information, see Apache ORC .
- parquet_ser_de
A serializer to use for converting data to the Parquet format before storing it in Amazon S3.
For more information, see Apache Parquet .
SnowflakeBufferingHintsProperty
- class CfnDeliveryStream.SnowflakeBufferingHintsProperty(*, interval_in_seconds=None, size_in_m_bs=None)
Bases:
object
Describes the buffering to perform before delivering data to the Snowflake destination.
If you do not specify any value, Firehose uses the default values.
- Parameters:
interval_in_seconds (
Union
[int
,float
,None
]) – Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 0.size_in_m_bs (
Union
[int
,float
,None
]) – Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 128.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose snowflake_buffering_hints_property = kinesisfirehose.CfnDeliveryStream.SnowflakeBufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 )
Attributes
- interval_in_seconds
Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination.
The default value is 0.
- size_in_m_bs
Buffer incoming data to the specified size, in MBs, before delivering it to the destination.
The default value is 128.
SnowflakeDestinationConfigurationProperty
- class CfnDeliveryStream.SnowflakeDestinationConfigurationProperty(*, account_url, database, role_arn, s3_configuration, schema, table, buffering_hints=None, cloud_watch_logging_options=None, content_column_name=None, data_loading_option=None, key_passphrase=None, meta_data_column_name=None, private_key=None, processing_configuration=None, retry_options=None, s3_backup_mode=None, secrets_manager_configuration=None, snowflake_role_configuration=None, snowflake_vpc_configuration=None, user=None)
Bases:
object
Configure Snowflake destination.
- Parameters:
account_url (
str
) – URL for accessing your Snowflake account. This URL must include your account identifier . Note that the protocol (https://) and port number are optional.database (
str
) – All data in Snowflake is maintained in databases.role_arn (
str
) – The Amazon Resource Name (ARN) of the Snowflake role.s3_configuration (
Union
[IResolvable
,S3DestinationConfigurationProperty
,Dict
[str
,Any
]]) –schema (
str
) – Each database consists of one or more schemas, which are logical groupings of database objects, such as tables and views.table (
str
) – All data in Snowflake is stored in database tables, logically structured as collections of columns and rows.buffering_hints (
Union
[IResolvable
,SnowflakeBufferingHintsProperty
,Dict
[str
,Any
],None
]) – Describes the buffering to perform before delivering data to the Snowflake destination. If you do not specify any value, Firehose uses the default values.cloud_watch_logging_options (
Union
[IResolvable
,CloudWatchLoggingOptionsProperty
,Dict
[str
,Any
],None
]) –content_column_name (
Optional
[str
]) – The name of the record content column.data_loading_option (
Optional
[str
]) – Choose to load JSON keys mapped to table column names or choose to split the JSON payload where content is mapped to a record content column and source metadata is mapped to a record metadata column.key_passphrase (
Optional
[str
]) – Passphrase to decrypt the private key when the key is encrypted. For information, see Using Key Pair Authentication & Key Rotation .meta_data_column_name (
Optional
[str
]) – The name of the record metadata column.private_key (
Optional
[str
]) –The private key used to encrypt your Snowflake client. For information, see Using Key Pair Authentication & Key Rotation .
processing_configuration (
Union
[IResolvable
,ProcessingConfigurationProperty
,Dict
[str
,Any
],None
]) – Specifies configuration for Snowflake.retry_options (
Union
[IResolvable
,SnowflakeRetryOptionsProperty
,Dict
[str
,Any
],None
]) – The time period where Firehose will retry sending data to the chosen HTTP endpoint.s3_backup_mode (
Optional
[str
]) – Choose an S3 backup mode.secrets_manager_configuration (
Union
[IResolvable
,SecretsManagerConfigurationProperty
,Dict
[str
,Any
],None
]) – The configuration that defines how you access secrets for Snowflake.snowflake_role_configuration (
Union
[IResolvable
,SnowflakeRoleConfigurationProperty
,Dict
[str
,Any
],None
]) – Optionally configure a Snowflake role. Otherwise the default user role will be used.snowflake_vpc_configuration (
Union
[IResolvable
,SnowflakeVpcConfigurationProperty
,Dict
[str
,Any
],None
]) – The VPCE ID for Firehose to privately connect with Snowflake. The ID format is com.amazonaws.vpce.[region].vpce-svc-<[id]>. For more information, see Amazon PrivateLink & Snowflakeuser (
Optional
[str
]) – User login name for the Snowflake account.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose snowflake_destination_configuration_property = kinesisfirehose.CfnDeliveryStream.SnowflakeDestinationConfigurationProperty( account_url="accountUrl", database="database", role_arn="roleArn", s3_configuration=kinesisfirehose.CfnDeliveryStream.S3DestinationConfigurationProperty( bucket_arn="bucketArn", role_arn="roleArn", # the properties below are optional buffering_hints=kinesisfirehose.CfnDeliveryStream.BufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 ), cloud_watch_logging_options=kinesisfirehose.CfnDeliveryStream.CloudWatchLoggingOptionsProperty( enabled=False, log_group_name="logGroupName", log_stream_name="logStreamName" ), compression_format="compressionFormat", encryption_configuration=kinesisfirehose.CfnDeliveryStream.EncryptionConfigurationProperty( kms_encryption_config=kinesisfirehose.CfnDeliveryStream.KMSEncryptionConfigProperty( awskms_key_arn="awskmsKeyArn" ), no_encryption_config="noEncryptionConfig" ), error_output_prefix="errorOutputPrefix", prefix="prefix" ), schema="schema", table="table", # the properties below are optional buffering_hints=kinesisfirehose.CfnDeliveryStream.SnowflakeBufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 ), cloud_watch_logging_options=kinesisfirehose.CfnDeliveryStream.CloudWatchLoggingOptionsProperty( enabled=False, log_group_name="logGroupName", log_stream_name="logStreamName" ), content_column_name="contentColumnName", data_loading_option="dataLoadingOption", key_passphrase="keyPassphrase", meta_data_column_name="metaDataColumnName", private_key="privateKey", processing_configuration=kinesisfirehose.CfnDeliveryStream.ProcessingConfigurationProperty( enabled=False, processors=[kinesisfirehose.CfnDeliveryStream.ProcessorProperty( type="type", # the properties below are optional parameters=[kinesisfirehose.CfnDeliveryStream.ProcessorParameterProperty( parameter_name="parameterName", parameter_value="parameterValue" )] )] ), retry_options=kinesisfirehose.CfnDeliveryStream.SnowflakeRetryOptionsProperty( duration_in_seconds=123 ), s3_backup_mode="s3BackupMode", secrets_manager_configuration=kinesisfirehose.CfnDeliveryStream.SecretsManagerConfigurationProperty( enabled=False, # the properties below are optional role_arn="roleArn", secret_arn="secretArn" ), snowflake_role_configuration=kinesisfirehose.CfnDeliveryStream.SnowflakeRoleConfigurationProperty( enabled=False, snowflake_role="snowflakeRole" ), snowflake_vpc_configuration=kinesisfirehose.CfnDeliveryStream.SnowflakeVpcConfigurationProperty( private_link_vpce_id="privateLinkVpceId" ), user="user" )
Attributes
- account_url
URL for accessing your Snowflake account.
This URL must include your account identifier . Note that the protocol (https://) and port number are optional.
- buffering_hints
Describes the buffering to perform before delivering data to the Snowflake destination.
If you do not specify any value, Firehose uses the default values.
- cloud_watch_logging_options
-
- Type:
see
- content_column_name
The name of the record content column.
- data_loading_option
Choose to load JSON keys mapped to table column names or choose to split the JSON payload where content is mapped to a record content column and source metadata is mapped to a record metadata column.
- database
All data in Snowflake is maintained in databases.
- key_passphrase
Passphrase to decrypt the private key when the key is encrypted.
For information, see Using Key Pair Authentication & Key Rotation .
- meta_data_column_name
The name of the record metadata column.
- private_key
The private key used to encrypt your Snowflake client.
For information, see Using Key Pair Authentication & Key Rotation .
- processing_configuration
Specifies configuration for Snowflake.
- retry_options
The time period where Firehose will retry sending data to the chosen HTTP endpoint.
- role_arn
The Amazon Resource Name (ARN) of the Snowflake role.
- s3_backup_mode
Choose an S3 backup mode.
- s3_configuration
-
- Type:
see
- schema
Each database consists of one or more schemas, which are logical groupings of database objects, such as tables and views.
- secrets_manager_configuration
The configuration that defines how you access secrets for Snowflake.
- snowflake_role_configuration
Optionally configure a Snowflake role.
Otherwise the default user role will be used.
- snowflake_vpc_configuration
The VPCE ID for Firehose to privately connect with Snowflake.
The ID format is com.amazonaws.vpce.[region].vpce-svc-<[id]>. For more information, see Amazon PrivateLink & Snowflake
- table
All data in Snowflake is stored in database tables, logically structured as collections of columns and rows.
SnowflakeRetryOptionsProperty
- class CfnDeliveryStream.SnowflakeRetryOptionsProperty(*, duration_in_seconds=None)
Bases:
object
Specify how long Firehose retries sending data to the New Relic HTTP endpoint.
After sending data, Firehose first waits for an acknowledgment from the HTTP endpoint. If an error occurs or the acknowledgment doesn’t arrive within the acknowledgment timeout period, Firehose starts the retry duration counter. It keeps retrying until the retry duration expires. After that, Firehose considers it a data delivery failure and backs up the data to your Amazon S3 bucket. Every time that Firehose sends data to the HTTP endpoint (either the initial attempt or a retry), it restarts the acknowledgement timeout counter and waits for an acknowledgement from the HTTP endpoint. Even if the retry duration expires, Firehose still waits for the acknowledgment until it receives it or the acknowledgement timeout period is reached. If the acknowledgment times out, Firehose determines whether there’s time left in the retry counter. If there is time left, it retries again and repeats the logic until it receives an acknowledgment or determines that the retry time has expired. If you don’t want Firehose to retry sending data, set this value to 0.
- Parameters:
duration_in_seconds (
Union
[int
,float
,None
]) – the time period where Firehose will retry sending data to the chosen HTTP endpoint.- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose snowflake_retry_options_property = kinesisfirehose.CfnDeliveryStream.SnowflakeRetryOptionsProperty( duration_in_seconds=123 )
Attributes
- duration_in_seconds
the time period where Firehose will retry sending data to the chosen HTTP endpoint.
SnowflakeRoleConfigurationProperty
- class CfnDeliveryStream.SnowflakeRoleConfigurationProperty(*, enabled=None, snowflake_role=None)
Bases:
object
Optionally configure a Snowflake role.
Otherwise the default user role will be used.
- Parameters:
enabled (
Union
[bool
,IResolvable
,None
]) – Enable Snowflake role.snowflake_role (
Optional
[str
]) – The Snowflake role you wish to configure.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose snowflake_role_configuration_property = kinesisfirehose.CfnDeliveryStream.SnowflakeRoleConfigurationProperty( enabled=False, snowflake_role="snowflakeRole" )
Attributes
- enabled
Enable Snowflake role.
- snowflake_role
The Snowflake role you wish to configure.
SnowflakeVpcConfigurationProperty
- class CfnDeliveryStream.SnowflakeVpcConfigurationProperty(*, private_link_vpce_id)
Bases:
object
Configure a Snowflake VPC.
- Parameters:
private_link_vpce_id (
str
) –The VPCE ID for Firehose to privately connect with Snowflake. The ID format is com.amazonaws.vpce.[region].vpce-svc-<[id]>. For more information, see Amazon PrivateLink & Snowflake
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose snowflake_vpc_configuration_property = kinesisfirehose.CfnDeliveryStream.SnowflakeVpcConfigurationProperty( private_link_vpce_id="privateLinkVpceId" )
Attributes
- private_link_vpce_id
The VPCE ID for Firehose to privately connect with Snowflake.
The ID format is com.amazonaws.vpce.[region].vpce-svc-<[id]>. For more information, see Amazon PrivateLink & Snowflake
SplunkBufferingHintsProperty
- class CfnDeliveryStream.SplunkBufferingHintsProperty(*, interval_in_seconds=None, size_in_m_bs=None)
Bases:
object
The buffering options.
If no value is specified, the default values for Splunk are used.
- Parameters:
interval_in_seconds (
Union
[int
,float
,None
]) – Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 60 (1 minute).size_in_m_bs (
Union
[int
,float
,None
]) – Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose splunk_buffering_hints_property = kinesisfirehose.CfnDeliveryStream.SplunkBufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 )
Attributes
- interval_in_seconds
Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination.
The default value is 60 (1 minute).
- size_in_m_bs
Buffer incoming data to the specified size, in MBs, before delivering it to the destination.
The default value is 5.
SplunkDestinationConfigurationProperty
- class CfnDeliveryStream.SplunkDestinationConfigurationProperty(*, hec_endpoint, hec_endpoint_type, s3_configuration, buffering_hints=None, cloud_watch_logging_options=None, hec_acknowledgment_timeout_in_seconds=None, hec_token=None, processing_configuration=None, retry_options=None, s3_backup_mode=None, secrets_manager_configuration=None)
Bases:
object
The
SplunkDestinationConfiguration
property type specifies the configuration of a destination in Splunk for a Kinesis Data Firehose delivery stream.- Parameters:
hec_endpoint (
str
) – The HTTP Event Collector (HEC) endpoint to which Firehose sends your data.hec_endpoint_type (
str
) – This type can be eitherRaw
orEvent
.s3_configuration (
Union
[IResolvable
,S3DestinationConfigurationProperty
,Dict
[str
,Any
]]) – The configuration for the backup Amazon S3 location.buffering_hints (
Union
[IResolvable
,SplunkBufferingHintsProperty
,Dict
[str
,Any
],None
]) – The buffering options. If no value is specified, the default values for Splunk are used.cloud_watch_logging_options (
Union
[IResolvable
,CloudWatchLoggingOptionsProperty
,Dict
[str
,Any
],None
]) – The Amazon CloudWatch logging options for your Firehose stream.hec_acknowledgment_timeout_in_seconds (
Union
[int
,float
,None
]) – The amount of time that Firehose waits to receive an acknowledgment from Splunk after it sends it data. At the end of the timeout period, Firehose either tries to send the data again or considers it an error, based on your retry settings.hec_token (
Optional
[str
]) – This is a GUID that you obtain from your Splunk cluster when you create a new HEC endpoint.processing_configuration (
Union
[IResolvable
,ProcessingConfigurationProperty
,Dict
[str
,Any
],None
]) – The data processing configuration.retry_options (
Union
[IResolvable
,SplunkRetryOptionsProperty
,Dict
[str
,Any
],None
]) – The retry behavior in case Firehose is unable to deliver data to Splunk, or if it doesn’t receive an acknowledgment of receipt from Splunk.s3_backup_mode (
Optional
[str
]) – Defines how documents should be delivered to Amazon S3. When set toFailedEventsOnly
, Firehose writes any data that could not be indexed to the configured Amazon S3 destination. When set toAllEvents
, Firehose delivers all incoming records to Amazon S3, and also writes failed documents to Amazon S3. The default value isFailedEventsOnly
. You can update this backup mode fromFailedEventsOnly
toAllEvents
. You can’t update it fromAllEvents
toFailedEventsOnly
.secrets_manager_configuration (
Union
[IResolvable
,SecretsManagerConfigurationProperty
,Dict
[str
,Any
],None
]) – The configuration that defines how you access secrets for Splunk.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose splunk_destination_configuration_property = kinesisfirehose.CfnDeliveryStream.SplunkDestinationConfigurationProperty( hec_endpoint="hecEndpoint", hec_endpoint_type="hecEndpointType", s3_configuration=kinesisfirehose.CfnDeliveryStream.S3DestinationConfigurationProperty( bucket_arn="bucketArn", role_arn="roleArn", # the properties below are optional buffering_hints=kinesisfirehose.CfnDeliveryStream.BufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 ), cloud_watch_logging_options=kinesisfirehose.CfnDeliveryStream.CloudWatchLoggingOptionsProperty( enabled=False, log_group_name="logGroupName", log_stream_name="logStreamName" ), compression_format="compressionFormat", encryption_configuration=kinesisfirehose.CfnDeliveryStream.EncryptionConfigurationProperty( kms_encryption_config=kinesisfirehose.CfnDeliveryStream.KMSEncryptionConfigProperty( awskms_key_arn="awskmsKeyArn" ), no_encryption_config="noEncryptionConfig" ), error_output_prefix="errorOutputPrefix", prefix="prefix" ), # the properties below are optional buffering_hints=kinesisfirehose.CfnDeliveryStream.SplunkBufferingHintsProperty( interval_in_seconds=123, size_in_mBs=123 ), cloud_watch_logging_options=kinesisfirehose.CfnDeliveryStream.CloudWatchLoggingOptionsProperty( enabled=False, log_group_name="logGroupName", log_stream_name="logStreamName" ), hec_acknowledgment_timeout_in_seconds=123, hec_token="hecToken", processing_configuration=kinesisfirehose.CfnDeliveryStream.ProcessingConfigurationProperty( enabled=False, processors=[kinesisfirehose.CfnDeliveryStream.ProcessorProperty( type="type", # the properties below are optional parameters=[kinesisfirehose.CfnDeliveryStream.ProcessorParameterProperty( parameter_name="parameterName", parameter_value="parameterValue" )] )] ), retry_options=kinesisfirehose.CfnDeliveryStream.SplunkRetryOptionsProperty( duration_in_seconds=123 ), s3_backup_mode="s3BackupMode", secrets_manager_configuration=kinesisfirehose.CfnDeliveryStream.SecretsManagerConfigurationProperty( enabled=False, # the properties below are optional role_arn="roleArn", secret_arn="secretArn" ) )
Attributes
- buffering_hints
The buffering options.
If no value is specified, the default values for Splunk are used.
- cloud_watch_logging_options
The Amazon CloudWatch logging options for your Firehose stream.
- hec_acknowledgment_timeout_in_seconds
The amount of time that Firehose waits to receive an acknowledgment from Splunk after it sends it data.
At the end of the timeout period, Firehose either tries to send the data again or considers it an error, based on your retry settings.
- hec_endpoint
The HTTP Event Collector (HEC) endpoint to which Firehose sends your data.
- hec_endpoint_type
This type can be either
Raw
orEvent
.
- hec_token
This is a GUID that you obtain from your Splunk cluster when you create a new HEC endpoint.
- processing_configuration
The data processing configuration.
- retry_options
The retry behavior in case Firehose is unable to deliver data to Splunk, or if it doesn’t receive an acknowledgment of receipt from Splunk.
- s3_backup_mode
Defines how documents should be delivered to Amazon S3.
When set to
FailedEventsOnly
, Firehose writes any data that could not be indexed to the configured Amazon S3 destination. When set toAllEvents
, Firehose delivers all incoming records to Amazon S3, and also writes failed documents to Amazon S3. The default value isFailedEventsOnly
.You can update this backup mode from
FailedEventsOnly
toAllEvents
. You can’t update it fromAllEvents
toFailedEventsOnly
.
- s3_configuration
The configuration for the backup Amazon S3 location.
- secrets_manager_configuration
The configuration that defines how you access secrets for Splunk.
SplunkRetryOptionsProperty
- class CfnDeliveryStream.SplunkRetryOptionsProperty(*, duration_in_seconds=None)
Bases:
object
The
SplunkRetryOptions
property type specifies retry behavior in case Kinesis Data Firehose is unable to deliver documents to Splunk or if it doesn’t receive an acknowledgment from Splunk.- Parameters:
duration_in_seconds (
Union
[int
,float
,None
]) – The total amount of time that Firehose spends on retries. This duration starts after the initial attempt to send data to Splunk fails. It doesn’t include the periods during which Firehose waits for acknowledgment from Splunk after each attempt.- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose splunk_retry_options_property = kinesisfirehose.CfnDeliveryStream.SplunkRetryOptionsProperty( duration_in_seconds=123 )
Attributes
- duration_in_seconds
The total amount of time that Firehose spends on retries.
This duration starts after the initial attempt to send data to Splunk fails. It doesn’t include the periods during which Firehose waits for acknowledgment from Splunk after each attempt.
VpcConfigurationProperty
- class CfnDeliveryStream.VpcConfigurationProperty(*, role_arn, security_group_ids, subnet_ids)
Bases:
object
The details of the VPC of the Amazon ES destination.
- Parameters:
role_arn (
str
) – The ARN of the IAM role that you want the delivery stream to use to create endpoints in the destination VPC. You can use your existing Kinesis Data Firehose delivery role or you can specify a new role. In either case, make sure that the role trusts the Kinesis Data Firehose service principal and that it grants the following permissions: -ec2:DescribeVpcs
-ec2:DescribeVpcAttribute
-ec2:DescribeSubnets
-ec2:DescribeSecurityGroups
-ec2:DescribeNetworkInterfaces
-ec2:CreateNetworkInterface
-ec2:CreateNetworkInterfacePermission
-ec2:DeleteNetworkInterface
If you revoke these permissions after you create the delivery stream, Kinesis Data Firehose can’t scale out by creating more ENIs when necessary. You might therefore see a degradation in performance.security_group_ids (
Sequence
[str
]) – The IDs of the security groups that you want Kinesis Data Firehose to use when it creates ENIs in the VPC of the Amazon ES destination. You can use the same security group that the Amazon ES domain uses or different ones. If you specify different security groups here, ensure that they allow outbound HTTPS traffic to the Amazon ES domain’s security group. Also ensure that the Amazon ES domain’s security group allows HTTPS traffic from the security groups specified here. If you use the same security group for both your delivery stream and the Amazon ES domain, make sure the security group inbound rule allows HTTPS traffic.subnet_ids (
Sequence
[str
]) – The IDs of the subnets that Kinesis Data Firehose uses to create ENIs in the VPC of the Amazon ES destination. Make sure that the routing tables and inbound and outbound rules allow traffic to flow from the subnets whose IDs are specified here to the subnets that have the destination Amazon ES endpoints. Kinesis Data Firehose creates at least one ENI in each of the subnets that are specified here. Do not delete or modify these ENIs. The number of ENIs that Kinesis Data Firehose creates in the subnets specified here scales up and down automatically based on throughput. To enable Kinesis Data Firehose to scale up the number of ENIs to match throughput, ensure that you have sufficient quota. To help you calculate the quota you need, assume that Kinesis Data Firehose can create up to three ENIs for this delivery stream for each of the subnets specified here.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesisfirehose as kinesisfirehose vpc_configuration_property = kinesisfirehose.CfnDeliveryStream.VpcConfigurationProperty( role_arn="roleArn", security_group_ids=["securityGroupIds"], subnet_ids=["subnetIds"] )
Attributes
- role_arn
The ARN of the IAM role that you want the delivery stream to use to create endpoints in the destination VPC.
You can use your existing Kinesis Data Firehose delivery role or you can specify a new role. In either case, make sure that the role trusts the Kinesis Data Firehose service principal and that it grants the following permissions:
ec2:DescribeVpcs
ec2:DescribeVpcAttribute
ec2:DescribeSubnets
ec2:DescribeSecurityGroups
ec2:DescribeNetworkInterfaces
ec2:CreateNetworkInterface
ec2:CreateNetworkInterfacePermission
ec2:DeleteNetworkInterface
If you revoke these permissions after you create the delivery stream, Kinesis Data Firehose can’t scale out by creating more ENIs when necessary. You might therefore see a degradation in performance.
- security_group_ids
The IDs of the security groups that you want Kinesis Data Firehose to use when it creates ENIs in the VPC of the Amazon ES destination.
You can use the same security group that the Amazon ES domain uses or different ones. If you specify different security groups here, ensure that they allow outbound HTTPS traffic to the Amazon ES domain’s security group. Also ensure that the Amazon ES domain’s security group allows HTTPS traffic from the security groups specified here. If you use the same security group for both your delivery stream and the Amazon ES domain, make sure the security group inbound rule allows HTTPS traffic.
- subnet_ids
The IDs of the subnets that Kinesis Data Firehose uses to create ENIs in the VPC of the Amazon ES destination.
Make sure that the routing tables and inbound and outbound rules allow traffic to flow from the subnets whose IDs are specified here to the subnets that have the destination Amazon ES endpoints. Kinesis Data Firehose creates at least one ENI in each of the subnets that are specified here. Do not delete or modify these ENIs.
The number of ENIs that Kinesis Data Firehose creates in the subnets specified here scales up and down automatically based on throughput. To enable Kinesis Data Firehose to scale up the number of ENIs to match throughput, ensure that you have sufficient quota. To help you calculate the quota you need, assume that Kinesis Data Firehose can create up to three ENIs for this delivery stream for each of the subnets specified here.