SubscriptionProps Struct
Properties for creating a new subscription.
Example
// 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#Default: No dead letter queue enabled.
If not passed no dead letter queue is enabled.
deliveryPolicyoptionalDeliveryPolicydelivery_policyoptionalDeliveryPolicydeliveryPolicyoptionalDeliveryPolicyDeliveryPolicyoptionalDeliveryPolicyDeliveryPolicyoptionalDeliveryPolicy#Default: if the initial delivery of the message fails, three retries with a delay between failed attempts set at 20 seconds
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#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#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.
protocolSubscriptionProtocolprotocolSubscriptionProtocolprotocolSubscriptionProtocolProtocolSubscriptionProtocolProtocolSubscriptionProtocolrequired#rawMessageDeliveryoptionalbooleanraw_message_deliveryoptionalboolrawMessageDeliveryoptionalBooleanRawMessageDeliveryoptionalboolRawMessageDeliveryoptional*bool= false#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: the region where the CloudFormation stack is being deployed.
subscriptionRoleArnoptionalstringsubscription_role_arnoptionalstrsubscriptionRoleArnoptionalStringSubscriptionRoleArnoptionalstringSubscriptionRoleArnoptional*string#Default: No subscription role is provided
Required for a firehose subscription protocol.