TopicSubscriptionConfig
- class aws_cdk.aws_sns.TopicSubscriptionConfig(*, endpoint, protocol, dead_letter_queue=None, filter_policy=None, raw_message_delivery=None, region=None, subscription_role_arn=None, subscriber_id, subscriber_scope=None)
Bases:
SubscriptionOptions
Subscription configuration.
- Parameters:
endpoint (
str
) – The subscription endpoint. The meaning of this value depends on the value for ‘protocol’.protocol (
SubscriptionProtocol
) – What type of subscription to add.dead_letter_queue (
Optional
[IQueue
]) – Queue to be used as dead letter queue. If not passed no dead letter queue is enabled. Default: - No dead letter queue enabled.filter_policy (
Optional
[Mapping
[str
,SubscriptionFilter
]]) – The filter policy. Default: - all messages are deliveredraw_message_delivery (
Optional
[bool
]) – true if raw message delivery is enabled for the subscription. Raw messages are free of JSON formatting and can be sent to HTTP/S and Amazon SQS endpoints. For more information, see GetSubscriptionAttributes in the Amazon Simple Notification Service API Reference. Default: falseregion (
Optional
[str
]) – The region where the topic resides, in the case of cross-region subscriptions. Default: - the region where the CloudFormation stack is being deployed.subscription_role_arn (
Optional
[str
]) – Arn of role allowing access to firehose delivery stream. Required for a firehose subscription protocol. Default: - No subscription role is providedsubscriber_id (
str
) – The id of the SNS subscription resource created underscope
. In most cases, it is recommended to use theuniqueId
of the topic you are subscribing to.subscriber_scope (
Optional
[Construct
]) – The scope in which to create the SNS subscription resource. Normally you’d want the subscription to be created on the consuming stack because the topic is usually referenced by the consumer’s resource policy (e.g. SQS queue policy). Otherwise, it will cause a cyclic reference. If this is undefined, the subscription will be created on the topic’s stack. Default: - use the topic as the scope of the subscription, in which casesubscriberId
must be defined.
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. import aws_cdk.aws_sns as sns import aws_cdk.aws_sqs as sqs import aws_cdk.core as cdk # construct: cdk.Construct # queue: sqs.Queue # subscription_filter: sns.SubscriptionFilter topic_subscription_config = sns.TopicSubscriptionConfig( endpoint="endpoint", protocol=sns.SubscriptionProtocol.HTTP, subscriber_id="subscriberId", # the properties below are optional dead_letter_queue=queue, filter_policy={ "filter_policy_key": subscription_filter }, raw_message_delivery=False, region="region", subscriber_scope=construct, subscription_role_arn="subscriptionRoleArn" )
Attributes
- dead_letter_queue
Queue to be used as dead letter queue.
If not passed no dead letter queue is enabled.
- Default:
No dead letter queue enabled.
- endpoint
The subscription endpoint.
The meaning of this value depends on the value for ‘protocol’.
- filter_policy
The filter policy.
- Default:
all messages are delivered
- protocol
What type of subscription to add.
- raw_message_delivery
true if raw message delivery is enabled for the subscription.
Raw messages are free of JSON formatting and can be sent to HTTP/S and Amazon SQS endpoints. For more information, see GetSubscriptionAttributes in the Amazon Simple Notification Service API Reference.
- Default:
false
- region
The region where the topic resides, in the case of cross-region subscriptions.
- Default:
the region where the CloudFormation stack is being deployed.
- Link:
- subscriber_id
The id of the SNS subscription resource created under
scope
.In most cases, it is recommended to use the
uniqueId
of the topic you are subscribing to.
- subscriber_scope
The scope in which to create the SNS subscription resource.
Normally you’d want the subscription to be created on the consuming stack because the topic is usually referenced by the consumer’s resource policy (e.g. SQS queue policy). Otherwise, it will cause a cyclic reference.
If this is undefined, the subscription will be created on the topic’s stack.
- Default:
use the topic as the scope of the subscription, in which case
subscriberId
must be defined.
- subscription_role_arn
Arn of role allowing access to firehose delivery stream.
Required for a firehose subscription protocol.
- Default:
No subscription role is provided