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 delivered

  • raw_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: false

  • region (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 provided

  • subscriber_id (str) – 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 (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 case subscriberId 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:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-region

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