Git Product home page Git Product logo

sqs-java-messaging's Introduction

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 except receive_message, send_message and send_message_batch. These are replaced with receive_jms_message, send_bytes_message, send_text_message and send_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 of JMSMessageType, JMSCorrelationId and JMSReplyTo and a modification of MessageBody.

      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 except receive_messages, send_message and send_messages. These are replaced with receive_jms_messages, send_bytes_message, send_text_message and send_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 of JMSMessageType, JMSCorrelationId and JMSReplyTo and a modification of MessageBody.

      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 and sqs_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-resource Queue() returns a JMSQueue.

    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 - a dict containing the keys QueueName and QueueUrl

sqs-java-messaging's People

Contributors

joseph-wortmann avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.