Messaging and Queuing Jobs

The following topics describe job types for Messaging and Queuing platforms and services:

Job:AWS SNS

AWS SNS (Simple Notification Service) is a cloud-based SNS that follows a Pub/Sub model and enables you to send notifications across various platforms and devices.

To deploy and run an AWS SNS job, ensure that you have installed the AWS SNS plug-in with the provision image command or the provision agent::update command.

The following examples show how to define an AWS SNS job.

  • This JSON defines a Message to Topic, Standard type:

    Copy
    "AWS SNS_Job_2"
    {
       "Type": "Job:AWS SNS",
       "ConnectionProfile": "AWSSNS",
       "Message Type": "Message To A Topic",
       "Topic Type": "Standard",
       "Target ARN": "Target ARN",
       "Json Message Structure": "checked",
       "Subject": "Subject",
       "Message": "{%4E    \"default\": \"A message.\",%4E    \"email\": \"A message for email.\",%4E    \"email-json\": \"A message for email (JSON).\",%4E    \"http\": \"A message for HTTP.\",%4E    \"https\": \"A message for HTTPS.\",%4E    \"sqs\": \"A message for Amazon SQS.\",%4E    \"lambda\": \"A message for Amazon Lambda Services.\"%4E}",
       "Attributes": "checked",
       "Attribute.1 Name": "Attribute1",
       "Attribute.1 Value": "Value1",
       "SMS Attributes": "checked",
       "Attributes": "checked",
       "Attribute.1 Name": "Attribute2",
       "Attribute.1 Value": "Value2"
       "Sender Identifier": "Sender ID",
       "Sender ID": "BMC",
       "Max Price": "1.0",
       "SMS Type": "Transactional",
       "Push Notifications Attributes": "unchecked"
    }   
  • This JSON defines a Message to Topic, FIFO type:

    Copy
    "AWS SNS_Job_2"
    {
        "Type": "Job:AWS SNS",
        "ConnectionProfile": "AWSSNS",
        "Message Type": "Message To A Topic",
        "Topic Type": "FIFO",
        "Target ARN": "Target ARN",
        "Json Message Structure": "unchecked",
        "Subject": "Subject",
        "Message": "Message",
        "Message Deduplication ID": "MDI",
        "Message Group ID": "MGI",
        "Attributes": "checked",
        "Attribute.1 Name": "Attribute2",
        "Attribute.1 Value": "Value2",
        "SMS Attributes": "checked",
        "Attribute.1 Name": "Attribute2",
        "Attribute.1 Value": "Value2",
        "Sender Identifier": "Sender ID",
        "Sender ID": "BMC",
        "Max Price": "1.0",
        "SMS Type": "Transactional",
        "Push Notifications Attributes": "unchecked"
    }
  • This JSON defines a Message to Individual, Phone Number:

    Copy
    "AWS SNS_Job_2"
    {
       "Type": "Job:AWS SNS",
       "ConnectionProfile": "AWSSNS",
       "Message Type": "Message To An Individual",
       "Individual Type": "Phone Number",
       "Phone Number": "0123456789",
       "Subject": "Subject",
       "Message": "Hi",
       "SMS Attributes": "checked",
       "Attribute.1 Name": "Attribute2",
       "Attribute.1 Value": "Value2",
       "Sender Identifier": "Sender ID",
       "Sender ID": "BMC",
       "Max Price": "1.0",
       "SMS Type": "Transactional",
    }

The following table describes the AWS SNS job parameters.

Attribute

Message

Description

ConnectionProfile

All Types

Defines the ConnectionProfile:AWS SNS name that connects Control-M to AWS SNS.

Message Type

NA

Determines one of the following message types:

  • Message to Topic

  • Message To Individual

Topic Type

  • Message to Topic

Determines one of the following topic types where the message is published:

  • Standard: High throughput with at-least-once delivery.

  • FIFO: Messages processing exactly once and in order.

Individual Type

  • Message To Individual

Determines one of the following recipient types:

  • Platform Application

  • Phone Number

Target ARN

  • Message to Topic

  • Message To Individual, Platform Application

Determines the Amazon Resource Name endpoint or resource where the message is published.

Subject

All Types

Defines the message title that is used in email notifications.

Message

All Types

Defines the message body.

Message Deduplication ID

  • Message to Topic, FIFO

Defines a unique identifier (token) for the message, which is used to prevent duplicate messages in FIFO topics.

Message Group ID

  • Message to Topic, FIFO

Determines the group identifier for the messages, which is used in FIFO topics to ensure that the messages are processed in order.

Json Message Structure

  • Message to Topic, Standard

Determines whether to add the structure of the message payload, in JSON format, which allows multiple message formats within a single SNS notification.

Valid Values:

  • Checked

  • Unchecked

Default: Uncheked

Copy
"AWS SNS_Job_7"
{
   "Type": "Job:AWS SNS",
   "ConnectionProfile": "AWSSNS",
   "Message Type": "Message To A Topic",
   "Topic Type": "Standard",
   "Target ARN": "Target ARN",
   "Json Message Structure": "checked",
   "Subject": "Subject",
   "Message": "{%4E    \"default\": \"A message.\",%4E    \"email\": \"A message for email.\",%4E    \"email-json\": \"A message for email (JSON).\",%4E    \"http\": \"A message for HTTP.\",%4E    \"https\": \"A message for HTTPS.\",%4E    \"sqs\": \"A message for Amazon SQS.\",%4E    \"lambda\": \"A message for Amazon Lambda Services.\"%4E}",
   "Attributes": "checked",
   "Attribute.1 Name": "Attribute1",
   "Attribute.1 Value": "Value1",
   "SMS Attributes": "checked",
   "Sender Identifier": "Sender ID",
   "Sender ID": "BMC",
   "Max Price": "1.0",
   "SMS Type": "Transactional"
}

Attributes

  • Message to Topic

Determines whether to add additional metadata or properties associated with the message, such as time-to-live (TTL), or delivery retries, or just random customized data. When you set Attributes to Checked, provide Name, Data Type, ans Value, for each attribute, in the following format:

  • Attribute.<Attribute Number> Name

  • Attribute.<Attribute Number> Data Type (String, Array, Number, or Binary)

  • Attribute.<Attribute Number> Value

Valid Values:

  • Checked

  • Unchecked

Default: Unchecked

SMS Attributes
  • Message to Topic

  • Message To Individual, Phone Number

Determines whether to add attributes to the SMS messages. When you set SMS Attributes to Checked, provide the three parameters, for each attribute, in the following format:

  • Attribute.<Attribute Number> Name

  • Attribute.<Attribute Number> Value

Valid Values:

  • Checked

  • Unchecked

Default: Unchecked

Sender Identifier
  • Message to Topic

  • Message To Individual, Phone Number

Determines one of the following sender identities:

  • Sender ID:Determines the alphanumeric identifier that appears as the sender of the SMS message.

  • Origination Number: Determines the phone number that the SMS message originates from, which is used in countries that require a specific number format.

Max Price

  • Message to Topic,

  • Message To Individual

Determines the maximum price that you are willing to pay for an SMS message.

SMS Type

  • Message to Topic,

  • Message To Individual, Phone Number

(Optional) Determines one of the following types of SMS messages:

  • Transactional

  • Promotional

Default Transactional

Phone Number
  • Message to Topic,

  • Message To Individual, Phone Number

Determines the phone number of the SMS message recipient.

Push Notifications Attributes

  • Message To Individual, Platform Application

Determines the predefined attributes for push notifications.

Status Polling Frequency

All Types

(Optional) Determines the number of seconds to wait before Control-M checks the status or output of the job.

Default: 10

Failure tolerance

All Types

Determines the number of times to check the job status before the job ends Not OK.

Default: 3

Job:AWS SQS

AWS Simple Queue Service (SQS) is a message queuing service that enables you to exchange messages between components without losing messages.

To deploy and run an AWS SQS job, ensure that you have installed the AWS SQS plug-in with the provision image command or the provision agent::update command.

The following examples show how to define an AWS SQS job (message to the Standard Queue):

  • This JSON defines a Message to a Standard Queue:

    Copy

    "AWS SQS_Job_2":
    {
       "Type": "Job:AWS SQS",
       "ConnectionProfile": "SQS",
       "Action Type": "Preset",
       "Queue Type": "Standard Queue",
       "Queue URL": "https://sqs.eu-west-2.amazonaws.com/122343283363/TestingQueue",
       "Message Body": "Test Message Body",
       "Delay Seconds": "0",
       "Message Attributes": "checked",
       "Attribute.1 Name": "Attribute.1",
       "Attribute.1 DataType": "String",
       "Attribute.1 Value": "CustomValue1"
    }
  • This JSON defines a Message to FIFO Queue:

    Copy
    "AWS SQS_Job_2"
    {
        "Type": "Job:AWS SQS",
        "ConnectionProfile": "AWSSQS",
        "Action Type": "Preset"
        "Queue Type": "FIFO Queue",
        "Queue URL": "https://sqs.eu-west-2.amazonaws.com/122343283363/SNS-SQS_Queue.fifo",
        "Message Body": "Message",
        "Message Deduplication ID": "MDI",
        "Message Group ID": "MGI",
        "Message Attributes": "checked",
        "MessageAttributes"
        "Attribute.1 Name": "Attribute1",
        "Attribute.1 DataType": "String",
        "Attribute.1 Value": "Value1",
        "Attribute.2 Name": "Attribute2",
        "Attribute.2 DataType": "String",
        "Attribute.2 Value": "Value2",
    }

The following table describes the AWS SQS job parameters.

Attribute

Action

Description

ConnectionProfile

All Types

Determines the ConnectionProfile:OCI Data Flow name that connects Control-M to AWS SQS.

Action Type

NA

Determines one of the following message sending action types:

  • Preset: Message Sending is predefined.

  • Manual: A user or an application triggers message sending.

Queue Type

Preset

Determines one of the following SQS queue types:

  • Standard Queue: High throughput with at-least-once delivery.
  • FIFO: Messages processing exactly once and in order.

Queue URL

Preset

Determines the unique SQS queue URL that is used to send, receive, and delete messages.

https://sqs.eu-west-2.amazonaws.com/123123123/TestQueue.fifo

Message Body

Preset

Defines the message body.

Delay Seconds

Preset

Determines the number of seconds to wait before making the message visible and available for proceeding.

Message Deduplication ID

Preset, FIFO

Defines a unique identifier (token) for the message, which is used to prevent duplicate messages in FIFO queue within 5-minute interval.

Message Group ID

Preset, FIFO

Determines the group identifier for the messages, which is used in the FIFO queue to ensure that the messages in the same group are processed in order.

Message Attributes

Preset

Determines whether to add additional metadata or properties associated with the message, such as time-to-live (TTL), or delivery retries, or just random customized data. Provide the three parameters, for each attribute, in the following format:

  • Attribute.<Attribute Number> Name

  • Attribute.<Attribute Number> DataType (String, Array, Number, or Binary)

  • Attribute.<Attribute Number> Value

Valid Values:

  • Checked

  • Unchecked

Default: Unchecked

Manual JSON All Types

Defines a JSON structure, which the user can manually add to a message body or to the attributes for custom data representation as shown in the code snippet.

Copy
"QueueUrl": "https://sqs.<Region>.amazonaws.com/<accountNumber>/TestQueue.fifo",
   "Entries": [
   {
      "Id": "msg-id",
      "MessageBody": "Hello",
      "MessageDeduplicationId":"MDDP",
      "MessageGroupId":"MGID",
      "MessageAttributes"
      {
         "Attribute1"
         {
            "DataType": "String",
            "StringValue": "Value1"
         },
         "Attribute2"
         {
            "DataType": "Number",
            "StringValue": "123"
         }
      }
   } ]

Job:RabbitMQ

RabbitMQ is a message broker for applications that require message delivery and routing capabilities.

To deploy and run a RabbitMQ job, ensure that you have installed the RabbitMQ plug-in with the provision image command or the provision agent::update command.

The following are examples of RabbitMQ jobs:

  • The following job shows how a RabbitMQ job publishes a message:

    Copy
    {
        "RabbitMQ_Job_2": {
            "Type": "Job:RabbitMQ",
            "ConnectionProfile": "RMQ",
            "Action": "Publish a message",
            "Message Encoding": "String",
            "Vhost": "V_HOST",
            "Exchange": "StarTest",
            "Routing Key": "TestMessage",
            "Properties": "{\"app_id\":\"151515151515123\"}",
            "Message to Publish": "A message"
        }
    }
  • The following job shows how a RabbitMQ job purges the queue:

    Copy
    {
        "RabbitMQ_Job_2": {
            "Type": "Job:RabbitMQ",
            "ConnectionProfile": "RBQ",
            "Action": "Purge the Queue",
            "Vhost": "V_HOST",
            "Queue": "Test"        
        }
    }

Attribute

Description

ConnectionProfile

Determines the ConnectionProfile:RabbitMQ name that connects Control-M to RabbitMQ.

Action

Determines one of the following actions to perform on RabbitMQ:

  • Publish a Message

  • Purge the Queue

Message Encoding

Defines the encoding of the message that you publish.

The encoding must be a string or Base64.

Vhost

Defines the virtual hostname that connects to RabbitMQ.

Virtual hosts do not share exchanges or queues between them.

Queue Defines the name of the queue that contains the messages when you purge the queue.
Exchange Defines the exchanges that take a message and route it into queues when you publish a message.
Routing Key Defines the key that enables you to bind queues to exchanges when you publish a message.
Properties

Defines the additional information that you can add to the message that you publish as comma-separated property:value pairs.

{\"app_id\":\"151515151515123\"}

Message to Publish Defines the message content that you publish.