software.amazon.awscdk.services.sns.subscriptions.package-info Maven / Gradle / Ivy
Show all versions of sns-subscriptions Show documentation
/**
* CDK Construct Library for Amazon Simple Notification Service Subscriptions
*
* ---
*
*
*
*
*
*
*
* This library provides constructs for adding subscriptions to an Amazon SNS topic.
* Subscriptions can be added by calling the .addSubscription(...)
method on the topic.
*
*
Subscriptions
*
* Subscriptions can be added to the following endpoints:
*
*
* - HTTPS
* - Amazon SQS
* - AWS Lambda
* - Email
* - SMS
*
*
* Subscriptions to Amazon SQS and AWS Lambda can be added on topics across regions.
*
* Create an Amazon SNS Topic to add subscriptions.
*
*
* // Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
* import software.amazon.awscdk.services.sns.*;
*
* Topic myTopic = new Topic(this, "MyTopic");
*
*
*
HTTPS
*
* Add an HTTP or HTTPS Subscription to your topic:
*
*
* // Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
* import software.amazon.awscdk.services.sns.subscriptions.*;
*
* myTopic.addSubscription(new UrlSubscription("https://foobar.com/"));
*
*
* The URL being subscribed can also be tokens, that resolve
* to a URL during deployment. A typical use case is when the URL is passed in as a CloudFormation
* parameter. The
* following code defines a CloudFormation parameter and uses it in a URL subscription.
*
*
* // Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
* CfnParameter url = new CfnParameter(this, "url-param");
* myTopic.addSubscription(new UrlSubscription(url.valueAsString()));
*
*
*
Amazon SQS
*
* Subscribe a queue to your topic:
*
*
* // Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
* import software.amazon.awscdk.services.sqs.*;
* import software.amazon.awscdk.services.sns.subscriptions.*;
*
* Queue myQueue = new Queue(this, "MyQueue");
*
* myTopic.addSubscription(new SqsSubscription(queue));
*
*
* Note that subscriptions of queues in different accounts need to be manually confirmed by
* reading the initial message from the queue and visiting the link found in it.
*
*
AWS Lambda
*
* Subscribe an AWS Lambda function to your topic:
*
*
* // Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
* import software.amazon.awscdk.services.lambda.*;
* import software.amazon.awscdk.services.sns.subscriptions.*;
*
* Function myFunction = new Function(this, "Echo", new FunctionProps()
* .handler("index.handler")
* .runtime(lambda.Runtime.getNODEJS_12_X())
* .code(lambda.Code.fromInline(String.format("exports.handler = %s", handler.toString()))));
*
* myTopic.addSubscription(new LambdaSubscription(myFunction));
*
*
*
Email
*
* Subscribe an email address to your topic:
*
*
* // Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
* import software.amazon.awscdk.services.sns.subscriptions.*;
*
* myTopic.addSubscription(new EmailSubscription("foo@bar.com"));
*
*
* The email being subscribed can also be tokens, that resolve
* to an email address during deployment. A typical use case is when the email address is passed in as a CloudFormation
* parameter. The
* following code defines a CloudFormation parameter and uses it in an email subscription.
*
*
* // Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
* CfnParameter emailAddress = new CfnParameter(this, "email-param");
* myTopic.addSubscription(new EmailSubscription(emailAddress.valueAsString()));
*
*
* Note that email subscriptions require confirmation by visiting the link sent to the
* email address.
*
*
SMS
*
* Subscribe an sms number to your topic:
*
*
* // Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
* import software.amazon.awscdk.services.sns.subscriptions.*;
*
* myTopic.addSubscription(new SmsSubscription("+15551231234"));
*
*
* The number being subscribed can also be tokens, that resolve
* to a number during deployment. A typical use case is when the number is passed in as a CloudFormation
* parameter. The
* following code defines a CloudFormation parameter and uses it in an sms subscription.
*
*
* // Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
* CfnParameter smsNumber = new CfnParameter(this, "sms-param");
* myTopic.addSubscription(new SmsSubscription(smsNumber.valueAsString()));
*
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
package software.amazon.awscdk.services.sns.subscriptions;