A55 AWS PubSub Library
Project description
Welcome to Subdivisions
A55 Python library for PubSub Messaging.
Install
# pyproject.toml
[tool.subdivisions]
default_prefix = "a55"
source_name = "YourProjectName"
[tool.poetry.dependencies]
subdivisions = "*"
Run poetry update
Usage
Send Messages
from enum import Enum
from subdivisions.client import SubClient
class ProjectTopics(Enum):
USER_REGISTERED = "user_registered"
client = SubClient()
client.topic = ProjectTopics.USER_REGISTERED # or just "user_registered"
client.send({"foo": "bar"})
Receive Messages
from enum import Enum
from subdivisions.client import SubClient
class ProjectTopics(Enum):
USER_REGISTERED = "user_registered"
client = SubClient()
client.topic = ProjectTopics.USER_REGISTERED # or just "user_registered"
messages = client.get_messages()
# Process messages
client.delete_received_messages()
AWS Credentials
Subdivisions will use AWS environment variables. If you need to define another credentials, use the following variables:
SUBDIVISIONS_USE_AWS_ENV_VARS="false"
SUBDIVISIONS_AWS_ACCESS_KEY_ID="your id"
SUBDIVISIONS_AWS_SECRET_ACCESS_KEY="your key"
SUBDIVISIONS_AWS_SESSION_TOKEN="your token" # optional
Configuration
Configure subdivisions options in pyproject.toml
file, inside [tool.subdivisions]
table:
# pyproject.toml
[tool.subdivisions]
aws_region = "us-east-1" # AWS Region
pub_key = "alias/PubSubKey" # KMS PubSubKey (must be created first)
sqs_tags = [] # SQS tags for new queues. Example [{"foo": "bar"}]
queue_prefix = "" # Prefix for new SQS queues
queue_suffix = "" # Suffix for new SQS queues
queue_max_receive_count = 1000 # SQS MaxReceiveCount setting
sns_prefix = "" # Prefix for new SNS topics
sns_suffix = "" # Suffix for new SNS topics
sns_tags = [] # SNS tags for new topics. Example [{"foo": "bar"}]
event_prefix = "" # Prefix for new Eventbride rules
event_suffix = "" # Suffix for new Eventbride rules
event_tags = [] # Eventbridge tags for new rules. Example [{"foo": "bar"}]
event_bus = "default" # Eventbridge Bus
source_name = "Subdivisions" # Eventbridge default source name
auto_create_new_topic = true # Auto create new topic if not exists in Eventbridge
auto_remove_from_queue = false # Acknowledge first messages on receive
use_aws_env_vars = true # Use AWS default env vars. If false append "SUBDIVISION_" on env vars. Example: "SUBDIVISION_AWS_ACCESS_KEY_ID"
default_prefix = "subdivisions" # Default prefix for all sns, sqs and rule created
default_suffix = "" # Default suffix for all sns, sqs and rule created
All options above can be configured in environment variables. Just append SUBDIVISIONS_
on name. Example: SUBDIVISIONS_SOURCE_NAME="my_project"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
subdivisions-1.0.3.tar.gz
(10.4 kB
view hashes)
Built Distribution
Close
Hashes for subdivisions-1.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3390979bdb465a5e929326d3687b920f58bb1dfba4e578152a04f5eec5e1dbf0 |
|
MD5 | ae0741c1e6a47e133cc9fe304fa64e03 |
|
BLAKE2b-256 | 65d0de829c3a3981f01af098d277520a2d4a35acab4b0058ff7647395fa785de |