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
File details
Details for the file sqs-java-messaging-0.0.1.tar.gz
.
File metadata
- Download URL: sqs-java-messaging-0.0.1.tar.gz
- Upload date:
- Size: 6.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.1 requests-toolbelt/0.8.0 tqdm/4.46.1 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fff0e0dd0536002ed4b81eddbb0cecf03ee58d167fd59e1d39322a5da75bfbb4 |
|
MD5 | e5192bbcc7504b05cfd1daa38e9fdaf2 |
|
BLAKE2b-256 | 89c29a3f32f57c9d7dbed92cfaffc728315964ded4b89213399b01fa437afb69 |
File details
Details for the file sqs_java_messaging-0.0.1-py2.py3-none-any.whl
.
File metadata
- Download URL: sqs_java_messaging-0.0.1-py2.py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.1 requests-toolbelt/0.8.0 tqdm/4.46.1 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 635388ba17da0b8143e7afb05ce79c443f8e2a18825e26f1902a8b41096de9a7 |
|
MD5 | 86ed7ef4983f1c15df1826f87760a9e0 |
|
BLAKE2b-256 | c996dc6cf1def1c52de7a281f0c5c986c88e050e31b12c47ee6d9c69ff1ed085 |