Pillar's wrapper around AWS SQS
There are 2 options for authentication through this wrapper
- Explicit: Where the 'aws_access_key' and 'aws_access_secret' are explicitly passed into the queue function
- Implicit: Where 'None' is passed into the queue function and it trys to get the credetials from the AWS cli Install the aws cli and add the 'aws_access_key' and 'aws_access_secret' to it.
from pillar_queue import Queue
q = Queue(
name="queuename",
aws_access_key="aws_access_key here",
aws_access_secret="aws_access_secret here",
aws_default_region='us-east-1',
)
#Note if a queue name ends with .fifo, it is a fifo queue
q.send_message(message="A test message", message_attributes={}, message_group_id=None, deduplication_id=None)
#blocking function that will wait for a message to appear
message = q.wait_for_message(delete_message=True)
print(message.body)
-
Install AWS CLI with
pip install awscli
, insert your AWS iam Access key ID and Secret access key found in the AWS IAM console -
Make two queues in the SQS Tab called
testqueue
andtestqueue.fifo
. The queuetestqueue.fifo
should be of the FIFO type detailed here. These queues will be used to run the tests. -
Run 'pytest'
- Queue creation/destruction
- Message pooling
- get,set, and delete functionality to use queues like arrays pythonically