Skip to content
v2.275.0

SubscriptionOptions Struct ​

Options for creating a new subscription.

Example ​

ts
// 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#
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.