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:
object
Options 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 offilterPolicyWithMessageBody
andfilterPolicy
may 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 offilterPolicyWithMessageBody
andfilterPolicy
may 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