SubscriptionOptions
- class aws_cdk.aws_sns.SubscriptionOptions(*, endpoint, protocol, dead_letter_queue=None, delivery_policy=None, filter_policy=None, filter_policy_with_message_body=None, raw_message_delivery=None, region=None, subscription_role_arn=None)
Bases:
objectOptions for creating a new subscription.
- 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.delivery_policy (
Union[DeliveryPolicy,Dict[str,Any],None]) – The delivery policy. Default: - if the initial delivery of the message fails, three retries with a delay between failed attempts set at 20 secondsfilter_policy (
Optional[Mapping[str,SubscriptionFilter]]) – The filter policy. Default: - all messages are deliveredfilter_policy_with_message_body (
Optional[Mapping[str,FilterOrPolicy]]) – The filter policy that is applied on the message body. To apply a filter policy to the message attributes, usefilterPolicy. A maximum of one offilterPolicyWithMessageBodyandfilterPolicymay be used. 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 provided
- 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 as cdk from aws_cdk import aws_sns as sns from aws_cdk import aws_sqs as sqs # filter_or_policy: sns.FilterOrPolicy # queue: sqs.Queue # subscription_filter: sns.SubscriptionFilter subscription_options = sns.SubscriptionOptions( endpoint="endpoint", protocol=sns.SubscriptionProtocol.HTTP, # the properties below are optional dead_letter_queue=queue, delivery_policy=sns.DeliveryPolicy( healthy_retry_policy=sns.HealthyRetryPolicy( backoff_function=sns.BackoffFunction.ARITHMETIC, max_delay_target=cdk.Duration.minutes(30), min_delay_target=cdk.Duration.minutes(30), num_max_delay_retries=123, num_min_delay_retries=123, num_no_delay_retries=123, num_retries=123 ), request_policy=sns.RequestPolicy( header_content_type="headerContentType" ), throttle_policy=sns.ThrottlePolicy( max_receives_per_second=123 ) ), filter_policy={ "filter_policy_key": subscription_filter }, filter_policy_with_message_body={ "filter_policy_with_message_body_key": filter_or_policy }, raw_message_delivery=False, region="region", 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.
- delivery_policy
The delivery policy.
- Default:
if the initial delivery of the message fails, three retries with a delay between failed attempts set at 20 seconds
- 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
- filter_policy_with_message_body
The filter policy that is applied on the message body.
To apply a filter policy to the message attributes, use
filterPolicy. A maximum of one offilterPolicyWithMessageBodyandfilterPolicymay be used.- 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:
- subscription_role_arn
Arn of role allowing access to firehose delivery stream.
Required for a firehose subscription protocol.
- Default:
No subscription role is provided