Implements SQS JMS protocol mirroring amazon-sqs-java-messaging-lib
Project description
sqs-java-messaging
Implements the functionality of amazon-sqs-java-messaging-lib in Python
Installation
pip install sqs-java-messaging
Overview
This library supports byte
and text
messages in the AWS SQS Java Messaging Library format. It does not support object
messages.
API
-
sqs_java_messaging.client.JMSClient
import boto3 from sqs_java_messaging.client import JMSClient client = JMSClient(boto3.client('sqs'))
This class wraps
SQS.Client
objects. It provides all of the methods of those objects directly exceptreceive_message
,send_message
andsend_message_batch
. These are replaced withreceive_jms_message
,send_bytes_message
,send_text_message
andsend_jms_message_batch
.Once created it may be used exactly as the wrapped
SQS.Client
object.-
receive_jms_message(**kwargs)
Request
Exactly as
receive_message
.Response
{ 'Messages': [ { 'MessageId': 'string', 'ReceiptHandle': 'string', 'MD5OfBody': 'string', 'Body': 'string' | b'bytes', 'Attributes': { 'string': 'string' }, 'MD5OfMessageAttributes': 'string', 'MessageAttributes': { 'string': { 'StringValue': 'string', 'BinaryValue': b'bytes', 'StringListValues': [ 'string', ], 'BinaryListValues': [ b'bytes', ], 'DataType': 'string' } }, 'JMSMessageType': 'byte' | 'text', 'JMSCorrelationId': 'string', 'JMSReplyTo': { 'QueueName': 'string', 'QueueUrl': 'string' } }, ] }
-
send_bytes_message(JMSReplyTo=None, JMSCorrelationId=None, **kwargs)
Request
The same as
send_message
with the following changes:response = client.send_bytes_message( JMSReplyTo={ 'QueueName': 'string', 'QueueUrl': 'string' }, JMSCorrelationId='string', MessageBody=b'bytes' | bytearry, ... )
Response
The same as
send_message
-
send_jms_message_batch(**kwargs)
Request
The same as
send_message_batch
with the additon ofJMSMessageType
,JMSCorrelationId
andJMSReplyTo
and a modification ofMessageBody
.response = client.send_jms_message_batch( QueueUrl='string', Entries=[ { 'Id': 'string', 'MessageBody': 'string' | b'bytes' | bytearry, 'DelaySeconds': 123, 'MessageAttributes': { 'string': { 'StringValue': 'string', 'BinaryValue': b'bytes', 'StringListValues': [ 'string', ], 'BinaryListValues': [ b'bytes', ], 'DataType': 'string' } }, 'MessageSystemAttributes': { 'string': { 'StringValue': 'string', 'BinaryValue': b'bytes', 'StringListValues': [ 'string', ], 'BinaryListValues': [ b'bytes', ], 'DataType': 'string' } }, 'MessageDeduplicationId': 'string', 'MessageGroupId': 'string', 'JMSMessageType': 'byte' | 'text', 'JMSCorrelationId': 'string', 'JMSReplyTo': { 'QueueName': 'string', 'QueueUrl': 'string' } }, ] )
Response
The same as
send_message_batch
-
send_text_message(JMSReplyTo=None, JMSCorrelationId=None, **kwargs)
Request
The same as
send_message
with the following additions:response = client.send_text_message( JMSReplyTo={ 'QueueName': 'string', 'QueueUrl': 'string' }, JMSCorrelationId='string', ... )
Response
The same as
send_message
-
-
sqs_java_messaging.resource.JMSQueue
import boto3 from sqs_java_messaging.resource import JMSQueue queue = JMSQueue(boto3.resource('sqs').Queue('url'))
This class wraps
SQS.Queue
objects. It provides all of the methods, attributes, identifiers, sub-resources and collections of those objects directly exceptreceive_messages
,send_message
andsend_messages
. These are replaced withreceive_jms_messages
,send_bytes_message
,send_text_message
andsend_jms_messages
.Once created it may be used exactly as the wrapped
SQS.Queue
object.-
receive_jms_messages(**kwargs)
Request
Exactly as
receive_messages
.Response
list(sqs_java_messaging.message.JMSBytesMessage | sqs_java_messaging.message.JMSTextMessage)
-
send_bytes_message(JMSReplyTo=None, JMSCorrelationId=None, **kwargs)
Request
The same as
send_message
with the following changes:response = client.send_bytes_message( JMSReplyTo={ 'QueueName': 'string', 'QueueUrl': 'string' }, JMSCorrelationId='string', MessageBody=b'bytes' | bytearry, ... )
Response
The same as
send_message
-
send_jms_messages(**kwargs)
Request
The same as
send_messages
with the additon ofJMSMessageType
,JMSCorrelationId
andJMSReplyTo
and a modification ofMessageBody
.response = client.send_jms_messages( Entries=[ { 'Id': 'string', 'MessageBody': 'string' | b'bytes' | bytearry, 'DelaySeconds': 123, 'MessageAttributes': { 'string': { 'StringValue': 'string', 'BinaryValue': b'bytes', 'StringListValues': [ 'string', ], 'BinaryListValues': [ b'bytes', ], 'DataType': 'string' } }, 'MessageSystemAttributes': { 'string': { 'StringValue': 'string', 'BinaryValue': b'bytes', 'StringListValues': [ 'string', ], 'BinaryListValues': [ b'bytes', ], 'DataType': 'string' } }, 'MessageDeduplicationId': 'string', 'MessageGroupId': 'string', 'JMSMessageType': 'byte' | 'text', 'JMSCorrelationId': 'string', 'JMSReplyTo': { 'QueueName': 'string', 'QueueUrl': 'string' } }, ] )
Response
The same as
send_messages
-
send_text_message(JMSReplyTo=None, JMSCorrelationId=None, **kwargs)
Request
The same as
send_message
with the following additions:response = client.send_text_message( JMSReplyTo={ 'QueueName': 'string', 'QueueUrl': 'string' }, JMSCorrelationId='string', ... )
Response
The same as
send_message
-
-
sqs_java_messaging.message.JMSBytesMessage
andsqs_java_messaging.message.JMSTextMessage
These classes wrap
SQS.Message
objects. They provide all of the methods,attributes, and identifiers of those objects directly. The sub-resourceQueue()
returns aJMSQueue
.Once created it may be used exactly as the wrapped
SQS.Message
object.These are the resource's additional available attributes:
jms_correlation_id
jms_message_type
jms_reply_to
- adict
containing the keysQueueName
andQueueUrl
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
Built Distribution
Hashes for sqs_java_messaging-0.0.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 635388ba17da0b8143e7afb05ce79c443f8e2a18825e26f1902a8b41096de9a7 |
|
MD5 | 86ed7ef4983f1c15df1826f87760a9e0 |
|
BLAKE2b-256 | c996dc6cf1def1c52de7a281f0c5c986c88e050e31b12c47ee6d9c69ff1ed085 |