2023-03-31 05:36:53 -07:00
# Amazon SNS code examples for the SDK for Python
2020-12-17 17:56:04 -08:00
2023-03-31 05:36:53 -07:00
## Overview
2020-12-17 17:56:04 -08:00
2023-03-31 05:36:53 -07:00
Shows how to use the AWS SDK for Python (Boto3) to work with Amazon Simple Notification Service (Amazon SNS).
2020-12-17 17:56:04 -08:00
2023-03-31 05:36:53 -07:00
<!--custom.overview.start-->
<!--custom.overview.end-->
2024-01-05 10:05:03 -05:00
_ Amazon SNS is a web service that enables applications, end-users, and devices to instantly send and receive notifications from the cloud. _
2023-03-31 05:36:53 -07:00
## ⚠ Important
2024-01-05 10:05:03 -05:00
* Running this code might result in charges to your AWS account. For more details, see [AWS Pricing ](https://aws.amazon.com/pricing/ ) and [Free Tier ](https://aws.amazon.com/free/ ).
2023-03-31 05:36:53 -07:00
* Running the tests might result in charges to your AWS account.
* We recommend that you grant your code least privilege. At most, grant only the minimum permissions required to perform the task. For more information, see [Grant least privilege ](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege ).
* This code is not tested in every AWS Region. For more information, see [AWS Regional Services ](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services ).
<!--custom.important.start-->
<!--custom.important.end-->
2020-12-17 17:56:04 -08:00
2021-07-28 17:38:03 -07:00
## Code examples
2023-04-13 11:38:14 -07:00
### Prerequisites
For prerequisites, see the [README ](../../README.md#Prerequisites ) in the `python` folder.
Install the packages required by these examples by running the following in a virtual environment:
```
python -m pip install -r requirements.txt
```
<!--custom.prerequisites.start-->
<!--custom.prerequisites.end-->
2023-03-31 05:36:53 -07:00
### Single actions
2020-12-17 17:56:04 -08:00
2023-03-31 05:36:53 -07:00
Code excerpts that show you how to call individual service functions.
2020-12-17 17:56:04 -08:00
2024-04-30 12:22:08 -07:00
- [CreateTopic ](sns_basics.py#L33 )
- [DeleteTopic ](sns_basics.py#L70 )
- [ListSubscriptions ](sns_basics.py#L116 )
- [ListTopics ](sns_basics.py#L52 )
- [Publish ](sns_basics.py#L205 )
- [SetSubscriptionAttributes ](sns_basics.py#L139 )
- [Subscribe ](sns_basics.py#L85 )
- [Unsubscribe ](sns_basics.py#L164 )
2023-03-31 05:36:53 -07:00
2023-09-13 13:18:25 -05:00
### Scenarios
Code examples that show you how to accomplish a specific task by calling multiple
functions within the same service.
2024-08-27 14:32:38 -04:00
- [Create an Amazon Textract explorer application ](../../cross_service/textract_explorer )
2024-01-05 10:05:03 -05:00
- [Create and publish to a FIFO topic ](sns_fifo_topic.py )
2025-02-24 16:56:43 -05:00
- [Detect people and objects in a video ](../../example_code/rekognition )
2024-04-08 15:59:50 -07:00
- [Publish an SMS text message ](sns_basics.py )
2025-02-24 16:56:43 -05:00
- [Use API Gateway to invoke a Lambda function ](../../example_code/lambda )
- [Use scheduled events to invoke a Lambda function ](../../example_code/lambda )
2023-09-13 13:18:25 -05:00
2024-01-05 10:05:03 -05:00
<!--custom.examples.start-->
<!--custom.examples.end-->
2020-12-17 17:56:04 -08:00
2023-03-31 05:36:53 -07:00
## Run the examples
2020-12-17 17:56:04 -08:00
2023-03-31 05:36:53 -07:00
### Instructions
<!--custom.instructions.start-->
2020-12-17 17:56:04 -08:00
Run this example at a command prompt with the following command.
```
python sns_basics.py
```
2023-03-31 05:36:53 -07:00
<!--custom.instructions.end-->
2020-12-17 17:56:04 -08:00
2023-04-13 11:38:14 -07:00
2024-08-21 13:27:36 -07:00
#### Create an Amazon Textract explorer application
This example shows you how to explore Amazon Textract output through an interactive application.
<!--custom.scenario_prereqs.cross_TextractExplorer.start-->
<!--custom.scenario_prereqs.cross_TextractExplorer.end-->
<!--custom.scenarios.cross_TextractExplorer.start-->
<!--custom.scenarios.cross_TextractExplorer.end-->
2023-09-13 13:18:25 -05:00
#### Create and publish to a FIFO topic
This example shows you how to create and publish to a FIFO Amazon SNS topic.
<!--custom.scenario_prereqs.sns_PublishFifoTopic.start-->
<!--custom.scenario_prereqs.sns_PublishFifoTopic.end-->
Start the example by running the following at a command prompt:
```
python sns_fifo_topic.py
```
<!--custom.scenarios.sns_PublishFifoTopic.start-->
<!--custom.scenarios.sns_PublishFifoTopic.end-->
2025-02-24 16:56:43 -05:00
#### Detect people and objects in a video
This example shows you how to detect people and objects in a video with Amazon Rekognition.
<!--custom.scenario_prereqs.cross_RekognitionVideoDetection.start-->
<!--custom.scenario_prereqs.cross_RekognitionVideoDetection.end-->
<!--custom.scenarios.cross_RekognitionVideoDetection.start-->
<!--custom.scenarios.cross_RekognitionVideoDetection.end-->
2024-04-08 15:59:50 -07:00
#### Publish an SMS text message
This example shows you how to publish SMS messages using Amazon SNS.
<!--custom.scenario_prereqs.sns_PublishTextSMS.start-->
<!--custom.scenario_prereqs.sns_PublishTextSMS.end-->
Start the example by running the following at a command prompt:
```
python sns_basics.py
```
<!--custom.scenarios.sns_PublishTextSMS.start-->
<!--custom.scenarios.sns_PublishTextSMS.end-->
2025-02-24 16:56:43 -05:00
#### Use API Gateway to invoke a Lambda function
This example shows you how to create an AWS Lambda function invoked by Amazon API Gateway.
<!--custom.scenario_prereqs.cross_LambdaAPIGateway.start-->
<!--custom.scenario_prereqs.cross_LambdaAPIGateway.end-->
<!--custom.scenarios.cross_LambdaAPIGateway.start-->
<!--custom.scenarios.cross_LambdaAPIGateway.end-->
#### Use scheduled events to invoke a Lambda function
This example shows you how to create an AWS Lambda function invoked by an Amazon EventBridge scheduled event.
<!--custom.scenario_prereqs.cross_LambdaScheduledEvents.start-->
<!--custom.scenario_prereqs.cross_LambdaScheduledEvents.end-->
<!--custom.scenarios.cross_LambdaScheduledEvents.start-->
<!--custom.scenarios.cross_LambdaScheduledEvents.end-->
2023-03-31 05:36:53 -07:00
### Tests
2020-12-17 17:56:04 -08:00
2023-03-31 05:36:53 -07:00
⚠ Running tests might result in charges to your AWS account.
2020-12-17 17:56:04 -08:00
2023-03-31 05:36:53 -07:00
To find instructions for running these tests, see the [README](../../README.md#Tests)
in the ` python` folder.
2020-12-17 17:56:04 -08:00
2023-03-31 05:36:53 -07:00
<!--custom.tests.start-->
<!--custom.tests.end-->
2020-12-17 17:56:04 -08:00
2023-03-31 05:36:53 -07:00
## Additional resources
2020-12-17 17:56:04 -08:00
2024-01-05 10:05:03 -05:00
- [Amazon SNS Developer Guide ](https://docs.aws.amazon.com/sns/latest/dg/welcome.html )
- [Amazon SNS API Reference ](https://docs.aws.amazon.com/sns/latest/api/welcome.html )
- [SDK for Python Amazon SNS reference ](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sns.html )
2023-03-31 05:36:53 -07:00
<!--custom.resources.start-->
<!--custom.resources.end-->
2020-12-17 17:56:04 -08:00
---
2023-03-31 05:36:53 -07:00
2020-12-17 17:56:04 -08:00
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2025-02-24 16:56:43 -05:00
SPDX-License-Identifier: Apache-2.0