Skip to main content

A Django view that can be subscribed to Amazon SNS

Project description

.. image:: https://travis-ci.org/deep-c/django-sns-view.svg?branch=master
:target: https://travis-ci.org/deep-c/django-sns-view

===============
Django SNS View
===============

A drop in configurable django view that is used to subscribe and process AWS SNS messages.

Installation
------------

.. code-block:: bash

pip install django-sns-view


Default Django Settings
----------------------
.. code-block:: python

SNS_CERT_DOMAIN_REGEX = r"sns.[a-z0-9\-]+.amazonaws.com$" # Regex to match on cert domain
SNS_VERIFY_CERTIFICATE = True # Whether to verify signature against certificate


SNSEndpoint Attributes
----------------------
.. code-block:: python

message_type_header = 'HTTP_X_AMZ_SNS_MESSAGE_TYPE'
topic_type_header = 'HTTP_X_AMZ_SNS_TOPIC_ARN'
allowed_message_types = ['Notification', 'SubscriptionConfirmation', 'UnsubscribeConfirmation']
cert_domain_settings_key = 'SNS_CERT_DOMAIN_REGEX'
sns_verify_settings_key = 'SNS_VERIFY_CERTIFICATE'
topic_settings_key = '' # If you would like to subscribe this endpoint only certain topics, create a setting containing a list of topics that are allowed.


Usage
-----------
.. code-block:: python

from django_sns_view.views import SNSEndpoint

class MySNSView(SNSEndpoint):
# Can override SNSEndpoint attributes outlined above

def handle_message(self, message, payload):
# Process the message

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-sns-view-0.1.2.tar.gz (10.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page