SubscriptionOptions Struct
Options for creating a new subscription.
Example
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import * as cdk from 'aws-cdk-lib';
import { aws_sns as sns } from 'aws-cdk-lib';
import { aws_sqs as sqs } from 'aws-cdk-lib';
declare const filterOrPolicy: sns.FilterOrPolicy;
declare const queue: sqs.Queue;
declare const subscriptionFilter: sns.SubscriptionFilter;
const subscriptionOptions: sns.SubscriptionOptions = {
endpoint: 'endpoint',
protocol: sns.SubscriptionProtocol.HTTP,
// the properties below are optional
deadLetterQueue: queue,
deliveryPolicy: {
healthyRetryPolicy: {
backoffFunction: sns.BackoffFunction.ARITHMETIC,
maxDelayTarget: cdk.Duration.minutes(30),
minDelayTarget: cdk.Duration.minutes(30),
numMaxDelayRetries: 123,
numMinDelayRetries: 123,
numNoDelayRetries: 123,
numRetries: 123,
},
requestPolicy: {
headerContentType: 'headerContentType',
},
throttlePolicy: {
maxReceivesPerSecond: 123,
},
},
filterPolicy: {
filterPolicyKey: subscriptionFilter,
},
filterPolicyWithMessageBody: {
filterPolicyWithMessageBodyKey: filterOrPolicy,
},
rawMessageDelivery: false,
region: 'region',
subscriptionRoleArn: 'subscriptionRoleArn',
};
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.