interface SubscriptionOptions
Language | Type name |
---|---|
![]() | Amazon.CDK.AWS.SNS.SubscriptionOptions |
![]() | github.com/aws/aws-cdk-go/awscdk/v2/awssns#SubscriptionOptions |
![]() | software.amazon.awscdk.services.sns.SubscriptionOptions |
![]() | aws_cdk.aws_sns.SubscriptionOptions |
![]() | aws-cdk-lib » aws_sns » SubscriptionOptions |
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
Name | Type | Description |
---|---|---|
endpoint | string | The subscription endpoint. |
protocol | Subscription | What type of subscription to add. |
dead | IQueue | Queue to be used as dead letter queue. |
delivery | Delivery | The delivery policy. |
filter | { [string]: Subscription } | The filter policy. |
filter | { [string]: Filter } | The filter policy that is applied on the message body. |
raw | boolean | true if raw message delivery is enabled for the subscription. |
region? | string | The region where the topic resides, in the case of cross-region subscriptions. |
subscription | string | Arn of role allowing access to firehose delivery stream. |
endpoint
Type:
string
The subscription endpoint.
The meaning of this value depends on the value for 'protocol'.
protocol
Type:
Subscription
What type of subscription to add.
deadLetterQueue?
Type:
IQueue
(optional, default: No dead letter queue enabled.)
Queue to be used as dead letter queue.
If not passed no dead letter queue is enabled.
deliveryPolicy?
Type:
Delivery
(optional, default: if the initial delivery of the message fails, three retries with a delay between failed attempts set at 20 seconds)
The delivery policy.
filterPolicy?
Type:
{ [string]:
Subscription
}
(optional, default: all messages are delivered)
The filter policy.
filterPolicyWithMessageBody?
Type:
{ [string]:
Filter
}
(optional, default: all messages are delivered)
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 of filterPolicyWithMessageBody
and filterPolicy
may be used.
rawMessageDelivery?
Type:
boolean
(optional, default: 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.
region?
Type:
string
(optional, default: the region where the CloudFormation stack is being deployed.)
The region where the topic resides, in the case of cross-region subscriptions.
subscriptionRoleArn?
Type:
string
(optional, default: No subscription role is provided)
Arn of role allowing access to firehose delivery stream.
Required for a firehose subscription protocol.