Skip to content
v2.275.0

SubscriptionProps Struct ​

Properties for creating a new subscription.

Example ​

ts
// producerStack defines an SNS topic
declare const topic: sns.Topic;

// consumerStack subscribes to it with a weak reference,
// so the producer can be torn down without blocking on this consumer
const consumerStack = new Stack(app, 'Consumer', {
  env: { account: '123456789012', region: 'us-east-1' },
});
new sns.Subscription(consumerStack, 'Subscription', {
  topic: sns.Topic.fromTopicArn(consumerStack, 'Topic', Stack.consumeReference(topic.topicArn)),
  endpoint: 'https://example.com/webhook',
  protocol: sns.SubscriptionProtocol.HTTPS,
});

Properties ​

deadLetterQueueoptionalIQueuedead_letter_queueoptionalIQueuedeadLetterQueueoptionalIQueueDeadLetterQueueoptionalIQueueDeadLetterQueueoptionalIQueue#
Queue to be used as dead letter queue.

Default: No dead letter queue enabled.

If not passed no dead letter queue is enabled.

deliveryPolicyoptionalDeliveryPolicydelivery_policyoptionalDeliveryPolicydeliveryPolicyoptionalDeliveryPolicyDeliveryPolicyoptionalDeliveryPolicyDeliveryPolicyoptionalDeliveryPolicy#
The delivery policy.

Default: if the initial delivery of the message fails, three retries with a delay between failed attempts set at 20 seconds

endpointstringendpointstrendpointStringEndpointstringEndpoint*stringrequired#
The subscription endpoint.

The meaning of this value depends on the value for 'protocol'.

filterPolicyoptional{ [key: string]: SubscriptionFilter }filter_policyoptionaltyping.Mapping[str, SubscriptionFilter]filterPolicyoptionalMap<String, SubscriptionFilter>FilterPolicyoptionalIDictionary<string, SubscriptionFilter>FilterPolicyoptional*map[string]SubscriptionFilter#
The filter policy.

Default: all messages are delivered

filterPolicyWithMessageBodyoptional{ [key: string]: FilterOrPolicy }filter_policy_with_message_bodyoptionaltyping.Mapping[str, FilterOrPolicy]filterPolicyWithMessageBodyoptionalMap<String, FilterOrPolicy>FilterPolicyWithMessageBodyoptionalIDictionary<string, FilterOrPolicy>FilterPolicyWithMessageBodyoptional*map[string]FilterOrPolicy#
The filter policy that is applied on the message body.

Default: all messages are delivered

To apply a filter policy to the message attributes, use filterPolicy. A maximum of one of filterPolicyWithMessageBody and filterPolicy may be used.

What type of subscription to add.
rawMessageDeliveryoptionalbooleanraw_message_deliveryoptionalboolrawMessageDeliveryoptionalBooleanRawMessageDeliveryoptionalboolRawMessageDeliveryoptional*bool= false#
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.

regionoptionalstringregionoptionalstrregionoptionalStringRegionoptionalstringRegionoptional*string#
The region where the topic resides, in the case of cross-region subscriptions.

Default: the region where the CloudFormation stack is being deployed.

subscriptionRoleArnoptionalstringsubscription_role_arnoptionalstrsubscriptionRoleArnoptionalStringSubscriptionRoleArnoptionalstringSubscriptionRoleArnoptional*string#
Arn of role allowing access to firehose delivery stream.

Default: No subscription role is provided

Required for a firehose subscription protocol.

topicITopictopicITopictopicITopicTopicITopicTopicITopicrequired#
The topic to subscribe to.