CfnChannel
- class aws_cdk.aws_kinesis.CfnChannel(scope, id, *, channel_name, service_execution_role_arn, stream_configuration_list, encryption_configuration=None, logging_configuration=None, s3_destination_configuration=None, s3_tables_destination_configuration=None, tags=None)
Bases:
CfnResourceResource Type definition for AWS::Kinesis::Channel.
- See:
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-channel.html
- CloudformationResource:
AWS::Kinesis::Channel
- ExampleMetadata:
fixture=_generated
Example:
from aws_cdk import CfnTag # The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_kinesis as kinesis cfn_channel = kinesis.CfnChannel(self, "MyCfnChannel", channel_name="channelName", service_execution_role_arn="serviceExecutionRoleArn", stream_configuration_list=[kinesis.CfnChannel.StreamConfigurationProperty( record_configuration=kinesis.CfnChannel.RecordConfigurationProperty( record_format_type="recordFormatType", # the properties below are optional gsr_schema_arn="gsrSchemaArn" ), stream_arn="streamArn" )], # the properties below are optional encryption_configuration=kinesis.CfnChannel.EncryptionConfigurationProperty( encryption_type="encryptionType", key_id="keyId" ), logging_configuration=kinesis.CfnChannel.LoggingConfigurationProperty( cloud_watch_logs=kinesis.CfnChannel.CloudWatchLogsConfigurationProperty( enabled=False, # the properties below are optional log_group_name="logGroupName", log_stream_name="logStreamName" ) ), s3_destination_configuration=kinesis.CfnChannel.S3DestinationConfigurationProperty( storage_configuration=kinesis.CfnChannel.S3StorageConfigurationProperty( bucket_arn="bucketArn", compression_type="compressionType", expected_bucket_owner="expectedBucketOwner", # the properties below are optional output_key_template="outputKeyTemplate", storage_class="storageClass" ), # the properties below are optional data_freshness_in_seconds=123, dead_letter_queue_s3_configuration=kinesis.CfnChannel.DeadLetterQueueS3ConfigurationProperty( bucket_arn="bucketArn", expected_bucket_owner="expectedBucketOwner", # the properties below are optional error_output_prefix="errorOutputPrefix" ) ), s3_tables_destination_configuration=kinesis.CfnChannel.S3TablesDestinationConfigurationProperty( dead_letter_queue_s3_configuration=kinesis.CfnChannel.DeadLetterQueueS3ConfigurationProperty( bucket_arn="bucketArn", expected_bucket_owner="expectedBucketOwner", # the properties below are optional error_output_prefix="errorOutputPrefix" ), s3_tables_configuration_list=[kinesis.CfnChannel.S3TableConfigurationProperty( compression_type="compressionType", namespace="namespace", table_bucket_arn="tableBucketArn", table_name="tableName", # the properties below are optional partition_spec=kinesis.CfnChannel.PartitionSpecProperty( partition_fields=[kinesis.CfnChannel.PartitionFieldProperty( source_name="sourceName", transform="transform" )] ) )], # the properties below are optional data_freshness_in_seconds=123 ), tags=[CfnTag( key="key", value="value" )] )
Create a new
AWS::Kinesis::Channel.- Parameters:
scope (
Construct) – Scope in which this resource is defined.id (
str) – Construct identifier for this resource (unique in its scope).channel_name (
str) – The name of the channel. The name’s uniqueness is scoped per AWS account and region.service_execution_role_arn (
str) – The ARN of the IAM role that the channel assumes to read from the source stream, deliver records to the destination, and (when enabled) write CloudWatch Logs.stream_configuration_list (
Union[IResolvable,Sequence[Union[IResolvable,StreamConfigurationProperty,Dict[str,Any]]]]) – List of stream configurations associated with the channel. v1 supports a single element; the list shape allows future extensibility to fan in from multiple streams.encryption_configuration (
Union[IResolvable,EncryptionConfigurationProperty,Dict[str,Any],None]) – Server-side encryption configuration for data at rest in the destination. Data delivered to S3 / S3 Tables is encrypted with the same key.logging_configuration (
Union[IResolvable,LoggingConfigurationProperty,Dict[str,Any],None]) – Configuration for delivering channel operational logs.s3_destination_configuration (
Union[IResolvable,S3DestinationConfigurationProperty,Dict[str,Any],None]) – Configuration for delivery to a vanilla S3 bucket destination. Exactly one of S3DestinationConfiguration and S3TablesDestinationConfiguration must be specified on the channel.s3_tables_destination_configuration (
Union[IResolvable,S3TablesDestinationConfigurationProperty,Dict[str,Any],None]) – Configuration for delivery to S3 Tables destinations. Exactly one of S3DestinationConfiguration and S3TablesDestinationConfiguration must be specified on the channel.tags (
Optional[Sequence[Union[CfnTag,Dict[str,Any]]]]) – An arbitrary set of tags (key-value pairs) to associate with the Kinesis channel.
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)
(deprecated) Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
This method has been renamed to
addResourceDependencyto more clearly set it apart fromconstruct.node.addDependency. See the documentation of that function for more details.- Parameters:
target (
CfnResource)- Deprecated:
Use
addResourceDependencyinstead.- Stability:
deprecated
- 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.
This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.
This method has been renamed to
addResourceDependency, which makes it more clear that this method operates at a different level from the construct-levelconstruct.node.addDependency()mechanism.- Parameters:
target (
CfnResource)- Deprecated:
Use
addResourceDependencyinstead.- 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
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
addPropertyOverrideor prefixpathwith “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
valueargument toaddOverridewill 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
- add_resource_dependency(target, reason=None)
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.
This method only adds dependencies between L1 resources. If you are looking for a generic construct-to-construct dependency mechanism that works for all constructs including L2s, use
construct.node.addDependencyinstead.- Parameters:
target (
CfnResource)reason (
Optional[str])
- Return type:
None
- apply_cross_stack_reference_strength(strength)
Sets the cross-stack reference strength for this resource.
When set, any cross-stack reference to this resource will use the specified strength instead of the global default from the consuming stack’s context.
- Parameters:
strength (
ReferenceStrength) –The reference strength to use for this resource.
- 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
- cfn_property_name(cdk_property_name)
- Parameters:
cdk_property_name (
str)- Return type:
Optional[str]
- 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
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 and stacks this resource depends on.
For resources depended on directly, returns the
CfnResourceobject. For dependencies on other stacks, returns theStackobject. The order of the array is not guaranteed.- Return type:
List[Union[Stack,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)
(deprecated) 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)- Deprecated:
Use
removeResourceDependencyinstead- Stability:
deprecated
- Return type:
None
- remove_resource_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
- with_(*mixins)
Applies one or more mixins to this construct.
Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited. Use multiple
with()calls if subsequent mixins should apply to added constructs.- Parameters:
mixins (
IMixin)- Return type:
Attributes
- CFN_RESOURCE_TYPE_NAME = 'AWS::Kinesis::Channel'
- attr_channel_arn
The ARN of the channel.
- CloudformationAttribute:
ChannelARN
- attr_channel_creation_timestamp
Timestamp of when the channel was created.
- CloudformationAttribute:
ChannelCreationTimestamp
- attr_channel_id
The service-generated unique identifier for the channel.
- CloudformationAttribute:
ChannelId
- attr_channel_status
The status of the channel.
- CloudformationAttribute:
ChannelStatus
- cdk_tag_manager
Tag Manager which manages the tags for this resource.
- cfn_options
Options for this resource, such as condition, update policy etc.
- cfn_resource_type
AWS resource type.
- channel_name
The name of the channel.
- channel_ref
A reference to a Channel resource.
- 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.
- encryption_configuration
Server-side encryption configuration for data at rest in the destination.
- env
- logging_configuration
Configuration for delivering channel operational logs.
- 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.
- node
The tree node.
- 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
Configuration for delivery to a vanilla S3 bucket destination.
- s3_tables_destination_configuration
Configuration for delivery to S3 Tables destinations.
- service_execution_role_arn
The ARN of the IAM role that the channel assumes to read from the source stream, deliver records to the destination, and (when enabled) write CloudWatch Logs.
- stack
The stack in which this element is defined.
CfnElements must be defined within a stack scope (directly or indirectly).
- stream_configuration_list
List of stream configurations associated with the channel.
- tags
An arbitrary set of tags (key-value pairs) to associate with the Kinesis channel.
Static Methods
- classmethod arn_for_channel(resource)
- Parameters:
resource (
IChannelRef)- Return type:
str
- classmethod is_cfn_channel(x)
Checks whether the given object is a CfnChannel.
- Parameters:
x (
Any)- Return type:
bool
- classmethod is_cfn_element(x)
Returns
trueif a construct is a stack element (i.e. part of the synthesized cloudformation template).Uses duck-typing instead of
instanceofto 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
xis a construct.Use this method instead of
instanceofto properly detectConstructinstances, even when the construct library is symlinked.Explanation: in JavaScript, multiple copies of the
constructslibrary on disk are seen as independent, completely different libraries. As a consequence, the classConstructin each copy of theconstructslibrary is seen as a different class, and an instance of one class will not test asinstanceofthe other class.npm installwill not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of theconstructslibrary can be accidentally installed, andinstanceofwill 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
xis an object created from a class which extendsConstruct.
CloudWatchLogsConfigurationProperty
- class CfnChannel.CloudWatchLogsConfigurationProperty(*, enabled, log_group_name=None, log_stream_name=None)
Bases:
objectCloudWatch Logs configuration for the channel.
When Enabled is true and LogGroupName is omitted, the service uses a default group derived from the channel name and id; LogStreamName defaults to the literal string ‘DestinationDelivery’.
- Parameters:
enabled (
Union[bool,IResolvable]) – Whether CloudWatch Logs delivery is enabled.log_group_name (
Optional[str]) – The CloudWatch log group name. When Enabled is true and LogGroupName is omitted, the service uses the default ‘/aws/kinesis//’.log_stream_name (
Optional[str]) – The CloudWatch log stream name. Defaults to the literal string ‘DestinationDelivery’ when omitted. Default: - “DestinationDelivery”
- 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_kinesis as kinesis cloud_watch_logs_configuration_property = kinesis.CfnChannel.CloudWatchLogsConfigurationProperty( enabled=False, # the properties below are optional log_group_name="logGroupName", log_stream_name="logStreamName" )
Attributes
- enabled
Whether CloudWatch Logs delivery is enabled.
- log_group_name
The CloudWatch log group name.
When Enabled is true and LogGroupName is omitted, the service uses the default ‘/aws/kinesis//’.
- log_stream_name
The CloudWatch log stream name.
Defaults to the literal string ‘DestinationDelivery’ when omitted.
DeadLetterQueueS3ConfigurationProperty
- class CfnChannel.DeadLetterQueueS3ConfigurationProperty(*, bucket_arn, expected_bucket_owner, error_output_prefix=None)
Bases:
objectConfiguration of the S3 bucket used to capture records that cannot be delivered to the primary destination.
- Parameters:
bucket_arn (
str) – The ARN of the S3 bucket for storing failed records.expected_bucket_owner (
str) – The AWS account ID of the expected owner of the dead-letter queue S3 bucket. Used to verify bucket ownership before delivery.error_output_prefix (
Optional[str]) – Optional S3 key prefix under which error records are organized. When omitted, the service uses the default ‘kinesis-channel/errors///’.
- 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_kinesis as kinesis dead_letter_queue_s3_configuration_property = kinesis.CfnChannel.DeadLetterQueueS3ConfigurationProperty( bucket_arn="bucketArn", expected_bucket_owner="expectedBucketOwner", # the properties below are optional error_output_prefix="errorOutputPrefix" )
Attributes
- bucket_arn
The ARN of the S3 bucket for storing failed records.
- error_output_prefix
Optional S3 key prefix under which error records are organized.
When omitted, the service uses the default ‘kinesis-channel/errors///’.
- expected_bucket_owner
The AWS account ID of the expected owner of the dead-letter queue S3 bucket.
Used to verify bucket ownership before delivery.
EncryptionConfigurationProperty
- class CfnChannel.EncryptionConfigurationProperty(*, encryption_type, key_id)
Bases:
objectServer-side encryption configuration for data at rest in the destination.
Data delivered to S3 / S3 Tables is encrypted with the same key.
- Parameters:
encryption_type (
str) – The encryption type. KMS is the only supported value.key_id (
str) – The customer-managed AWS KMS key. Accepts a key GUID, key ARN, alias ARN, or alias name prefixed by ‘alias/’. The Kinesis Data Streams managed alias ‘aws/kinesis’ is not accepted - the key must be customer-owned so it can also be used by readers of 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_kinesis as kinesis encryption_configuration_property = kinesis.CfnChannel.EncryptionConfigurationProperty( encryption_type="encryptionType", key_id="keyId" )
Attributes
- encryption_type
The encryption type.
KMS is the only supported value.
- key_id
The customer-managed AWS KMS key.
Accepts a key GUID, key ARN, alias ARN, or alias name prefixed by ‘alias/’. The Kinesis Data Streams managed alias ‘aws/kinesis’ is not accepted - the key must be customer-owned so it can also be used by readers of the destination.
LoggingConfigurationProperty
- class CfnChannel.LoggingConfigurationProperty(*, cloud_watch_logs)
Bases:
objectConfiguration for delivering channel operational logs.
- Parameters:
cloud_watch_logs (
Union[IResolvable,CloudWatchLogsConfigurationProperty,Dict[str,Any]]) – CloudWatch Logs configuration for the channel. When Enabled is true and LogGroupName is omitted, the service uses a default group derived from the channel name and id; LogStreamName defaults to the literal string ‘DestinationDelivery’.- 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_kinesis as kinesis logging_configuration_property = kinesis.CfnChannel.LoggingConfigurationProperty( cloud_watch_logs=kinesis.CfnChannel.CloudWatchLogsConfigurationProperty( enabled=False, # the properties below are optional log_group_name="logGroupName", log_stream_name="logStreamName" ) )
Attributes
- cloud_watch_logs
CloudWatch Logs configuration for the channel.
When Enabled is true and LogGroupName is omitted, the service uses a default group derived from the channel name and id; LogStreamName defaults to the literal string ‘DestinationDelivery’.
PartitionFieldProperty
- class CfnChannel.PartitionFieldProperty(*, source_name, transform)
Bases:
objectA single partition field consisting of a transform applied to a source column.
- Parameters:
source_name (
str) – The name of the source column on which the transform is applied.transform (
str) – The partitioning transform applied to the SourceName column.
- 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_kinesis as kinesis partition_field_property = kinesis.CfnChannel.PartitionFieldProperty( source_name="sourceName", transform="transform" )
Attributes
- source_name
The name of the source column on which the transform is applied.
- transform
The partitioning transform applied to the SourceName column.
PartitionSpecProperty
- class CfnChannel.PartitionSpecProperty(*, partition_fields)
Bases:
objectPartitioning specification for the destination Iceberg table.
Follows the S3 Tables / Iceberg PartitionSpec format.
- Parameters:
partition_fields (
Union[IResolvable,Sequence[Union[IResolvable,PartitionFieldProperty,Dict[str,Any]]]]) – List of partition fields that define how records are partitioned when written to the destination 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_kinesis as kinesis partition_spec_property = kinesis.CfnChannel.PartitionSpecProperty( partition_fields=[kinesis.CfnChannel.PartitionFieldProperty( source_name="sourceName", transform="transform" )] )
Attributes
- partition_fields
List of partition fields that define how records are partitioned when written to the destination table.
RecordConfigurationProperty
- class CfnChannel.RecordConfigurationProperty(*, record_format_type, gsr_schema_arn=None)
Bases:
objectThe configuration that describes how records on the source stream are encoded.
- Parameters:
record_format_type (
str) – The format used to interpret records read from the source stream.gsr_schema_arn (
Optional[str]) – The ARN of the AWS Glue Schema Registry (GSR) schema. Required for the S3 Tables destination, where it is used to create the S3 Table and to validate that the record format matches the table schema. Also used when RecordFormatType is GSR_JSON to interpret records read from the source stream. Vanilla S3 delivery writes records as S3 objects and does not need a schema. The schema must be in the same account and region as the channel.
- 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_kinesis as kinesis record_configuration_property = kinesis.CfnChannel.RecordConfigurationProperty( record_format_type="recordFormatType", # the properties below are optional gsr_schema_arn="gsrSchemaArn" )
Attributes
- gsr_schema_arn
The ARN of the AWS Glue Schema Registry (GSR) schema.
Required for the S3 Tables destination, where it is used to create the S3 Table and to validate that the record format matches the table schema. Also used when RecordFormatType is GSR_JSON to interpret records read from the source stream. Vanilla S3 delivery writes records as S3 objects and does not need a schema. The schema must be in the same account and region as the channel.
- record_format_type
The format used to interpret records read from the source stream.
S3DestinationConfigurationProperty
- class CfnChannel.S3DestinationConfigurationProperty(*, storage_configuration, data_freshness_in_seconds=None, dead_letter_queue_s3_configuration=None)
Bases:
objectConfiguration for delivery to a vanilla S3 bucket destination.
Exactly one of S3DestinationConfiguration and S3TablesDestinationConfiguration must be specified on the channel.
- Parameters:
storage_configuration (
Union[IResolvable,S3StorageConfigurationProperty,Dict[str,Any]]) – S3 storage configuration that describes the destination bucket and how delivered objects are stored.data_freshness_in_seconds (
Union[int,float,None]) – The maximum time in seconds the channel buffers records before delivery if the minimum target file size is not reached. Default: - 300dead_letter_queue_s3_configuration (
Union[IResolvable,DeadLetterQueueS3ConfigurationProperty,Dict[str,Any],None]) – Configuration of the S3 bucket used to capture records that cannot be delivered to the primary 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_kinesis as kinesis s3_destination_configuration_property = kinesis.CfnChannel.S3DestinationConfigurationProperty( storage_configuration=kinesis.CfnChannel.S3StorageConfigurationProperty( bucket_arn="bucketArn", compression_type="compressionType", expected_bucket_owner="expectedBucketOwner", # the properties below are optional output_key_template="outputKeyTemplate", storage_class="storageClass" ), # the properties below are optional data_freshness_in_seconds=123, dead_letter_queue_s3_configuration=kinesis.CfnChannel.DeadLetterQueueS3ConfigurationProperty( bucket_arn="bucketArn", expected_bucket_owner="expectedBucketOwner", # the properties below are optional error_output_prefix="errorOutputPrefix" ) )
Attributes
- data_freshness_in_seconds
The maximum time in seconds the channel buffers records before delivery if the minimum target file size is not reached.
- dead_letter_queue_s3_configuration
Configuration of the S3 bucket used to capture records that cannot be delivered to the primary destination.
- storage_configuration
S3 storage configuration that describes the destination bucket and how delivered objects are stored.
S3StorageConfigurationProperty
- class CfnChannel.S3StorageConfigurationProperty(*, bucket_arn, compression_type, expected_bucket_owner, output_key_template=None, storage_class=None)
Bases:
objectS3 storage configuration that describes the destination bucket and how delivered objects are stored.
- Parameters:
bucket_arn (
str) – The ARN of the S3 bucket for record delivery. Different channels can deliver to the same bucket. Buckets can be cross-account but must be in the same region as the channel.compression_type (
str) – The compression algorithm applied to delivered objects.expected_bucket_owner (
str) – The AWS account ID of the expected owner of the destination S3 bucket. Used to verify bucket ownership before delivery.output_key_template (
Optional[str]) – Optional template for the S3 object key path. Supports placeholders in the form !{name}: !{channel-name}, !{channel-id}, !{stream-name}, !{yyyy}, !{yy}, !{MM}, !{dd}, !{HH}, !{mm}, and !{extension} (a literal file extension can be supplied as !{extension:.json.gz}). When omitted, the service uses the default ‘kinesis-channel/!{channel-name}/!{channel-id}/!{yyyy}/!{MM}/!{dd}/!{HH}/!{channel-name}-!{channel-id}-!{yyyy}-!{MM}-!{dd}-!{HH}-!{mm}!{extension}’.storage_class (
Optional[str]) – The S3 storage class for delivered objects. Default: - “STANDARD”
- 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_kinesis as kinesis s3_storage_configuration_property = kinesis.CfnChannel.S3StorageConfigurationProperty( bucket_arn="bucketArn", compression_type="compressionType", expected_bucket_owner="expectedBucketOwner", # the properties below are optional output_key_template="outputKeyTemplate", storage_class="storageClass" )
Attributes
- bucket_arn
The ARN of the S3 bucket for record delivery.
Different channels can deliver to the same bucket. Buckets can be cross-account but must be in the same region as the channel.
- compression_type
The compression algorithm applied to delivered objects.
- expected_bucket_owner
The AWS account ID of the expected owner of the destination S3 bucket.
Used to verify bucket ownership before delivery.
- output_key_template
Optional template for the S3 object key path.
Supports placeholders in the form !{name}: !{channel-name}, !{channel-id}, !{stream-name}, !{yyyy}, !{yy}, !{MM}, !{dd}, !{HH}, !{mm}, and !{extension} (a literal file extension can be supplied as !{extension:.json.gz}). When omitted, the service uses the default ‘kinesis-channel/!{channel-name}/!{channel-id}/!{yyyy}/!{MM}/!{dd}/!{HH}/!{channel-name}-!{channel-id}-!{yyyy}-!{MM}-!{dd}-!{HH}-!{mm}!{extension}’.
- storage_class
The S3 storage class for delivered objects.
S3TableConfigurationProperty
- class CfnChannel.S3TableConfigurationProperty(*, compression_type, namespace, table_bucket_arn, table_name, partition_spec=None)
Bases:
objectAn S3 Tables destination including its table bucket, namespace, table name, and partition spec.
- Parameters:
compression_type (
str) – The compression algorithm applied to objects delivered to the S3 Tables destination.namespace (
str) – The name of the S3 Tables namespace that contains the destination table.table_bucket_arn (
str) – The ARN of the S3 Tables table bucket for record delivery. Buckets can be cross-account but must be in the same region as the channel.table_name (
str) – The name of the destination S3 Tables table. The table is created for the customer if it does not yet exist.partition_spec (
Union[IResolvable,PartitionSpecProperty,Dict[str,Any],None]) – Partitioning specification for the destination Iceberg table. Follows the S3 Tables / Iceberg PartitionSpec format.
- 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_kinesis as kinesis s3_table_configuration_property = kinesis.CfnChannel.S3TableConfigurationProperty( compression_type="compressionType", namespace="namespace", table_bucket_arn="tableBucketArn", table_name="tableName", # the properties below are optional partition_spec=kinesis.CfnChannel.PartitionSpecProperty( partition_fields=[kinesis.CfnChannel.PartitionFieldProperty( source_name="sourceName", transform="transform" )] ) )
Attributes
- compression_type
The compression algorithm applied to objects delivered to the S3 Tables destination.
- namespace
The name of the S3 Tables namespace that contains the destination table.
- partition_spec
Partitioning specification for the destination Iceberg table.
Follows the S3 Tables / Iceberg PartitionSpec format.
- table_bucket_arn
The ARN of the S3 Tables table bucket for record delivery.
Buckets can be cross-account but must be in the same region as the channel.
- table_name
The name of the destination S3 Tables table.
The table is created for the customer if it does not yet exist.
S3TablesDestinationConfigurationProperty
- class CfnChannel.S3TablesDestinationConfigurationProperty(*, dead_letter_queue_s3_configuration, s3_tables_configuration_list, data_freshness_in_seconds=None)
Bases:
objectConfiguration for delivery to S3 Tables destinations.
Exactly one of S3DestinationConfiguration and S3TablesDestinationConfiguration must be specified on the channel.
- Parameters:
dead_letter_queue_s3_configuration (
Union[IResolvable,DeadLetterQueueS3ConfigurationProperty,Dict[str,Any]]) – Configuration of the S3 bucket used to capture records that cannot be delivered to the primary destination.s3_tables_configuration_list (
Union[IResolvable,Sequence[Union[IResolvable,S3TableConfigurationProperty,Dict[str,Any]]]]) – The list of S3 Tables destinations. v1 supports a single element; the list shape allows future extensibility to fan out to multiple tables.data_freshness_in_seconds (
Union[int,float,None]) – The maximum time in seconds the channel buffers records before delivery if the minimum target file size is not reached. Default: - 300
- 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_kinesis as kinesis s3_tables_destination_configuration_property = kinesis.CfnChannel.S3TablesDestinationConfigurationProperty( dead_letter_queue_s3_configuration=kinesis.CfnChannel.DeadLetterQueueS3ConfigurationProperty( bucket_arn="bucketArn", expected_bucket_owner="expectedBucketOwner", # the properties below are optional error_output_prefix="errorOutputPrefix" ), s3_tables_configuration_list=[kinesis.CfnChannel.S3TableConfigurationProperty( compression_type="compressionType", namespace="namespace", table_bucket_arn="tableBucketArn", table_name="tableName", # the properties below are optional partition_spec=kinesis.CfnChannel.PartitionSpecProperty( partition_fields=[kinesis.CfnChannel.PartitionFieldProperty( source_name="sourceName", transform="transform" )] ) )], # the properties below are optional data_freshness_in_seconds=123 )
Attributes
- data_freshness_in_seconds
The maximum time in seconds the channel buffers records before delivery if the minimum target file size is not reached.
- dead_letter_queue_s3_configuration
Configuration of the S3 bucket used to capture records that cannot be delivered to the primary destination.
- s3_tables_configuration_list
The list of S3 Tables destinations.
v1 supports a single element; the list shape allows future extensibility to fan out to multiple tables.
StreamConfigurationProperty
- class CfnChannel.StreamConfigurationProperty(*, record_configuration, stream_arn)
Bases:
objectThe configuration of a Kinesis stream that the channel reads from.
- Parameters:
record_configuration (
Union[IResolvable,RecordConfigurationProperty,Dict[str,Any]]) – The configuration that describes how records on the source stream are encoded.stream_arn (
str) – The Amazon resource name (ARN) of the Kinesis data stream that the channel reads from.
- 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_kinesis as kinesis stream_configuration_property = kinesis.CfnChannel.StreamConfigurationProperty( record_configuration=kinesis.CfnChannel.RecordConfigurationProperty( record_format_type="recordFormatType", # the properties below are optional gsr_schema_arn="gsrSchemaArn" ), stream_arn="streamArn" )
Attributes
- record_configuration
The configuration that describes how records on the source stream are encoded.
- stream_arn
The Amazon resource name (ARN) of the Kinesis data stream that the channel reads from.