Messaging and Queuing Jobs

The following topics describe job attributes that work with data processing platforms and services:

AWS SNS Job

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 create an AWS SNS job, see Creating a Job. For more information about this plug-in, see Control-M for AWS SNS.

The following example shows how to define a JSON Message Structure for the AWS SNS job:

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 Data Type": "String",
   "Attribute.1 Value": "Value1",
   "SMS Attributes": "checked",
   "Attributes": "checked",
   "Attribute.1 Name": "Attribute2",
   "Attribute.1 Data Type": "String",
   "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

Connection Profile

All Types

Determines the authorization credentials that are used to connect Control-M to AWS SNS, as described in AWS SNS Connection Profile Parameters.

Rules:

  • Characters: 1−30

  • Case Sensitive: Yes

  • Invalid Characters: Blank spaces.

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: Processing messages 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 as appears in the code example.

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. Provide Name, Data Type (String, Array, Number, or Binary), and Value for each attribute.

SMS Attributes
  • Message To Topic

  • Message To Individual, Phone Number

Determines whether to add attributes to the SMS messages. Provide Name, Data Type (String, Array, Number, or Binary), and Value for each attribute.

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

AWS SQS Job

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

To create an AWS SQS job, see Creating a Job. For more information about this plug-in, see Control-M for AWS SQS.

The following example shows how to define a Manual JSON structure, which the user can manually add to a message body or to the attributes for custom data representation.

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"
         }
      }
   } ]

The following table describes the AWS SQS job parameters.

Attribute

Action

Description

Connection Profile

All Actions

Determines the authorization credentials that are used to connect Control-M to AWS SQS, as described in AWS Redshift Connection Profile Parameters.

Rules:

  • Characters: 1−30

  • Case Sensitive: Yes

  • Invalid Characters: Blank spaces.

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:  May delivers messages more than once but has a larger capacity.

  • FIFO: Delivers messages only once and in the first-in-first-out 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 to proceed.

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, in the following format:

  • Name

  • Data type

  • Value

Attribute name All Actions

Defines the message attribute name or key which is used to identify and retrieve the attribute value.

Attribute Data Type All Actions

Determines one of the following message attribute data types:

  • String

  • Array

  • Number

  • Binary

Attribute Value All Actions

Defines the message attribute content.

Manual JSON All Actions

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

RabbitMQ Job

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

To create a RabbitMQ job, see Creating a Job. For more information about this plug-in, see Control-M for RabbitMQ.

The following table describes the RabbitMQ job type attributes.

Attribute

Description

Connection profile

Determines the authorization credentials that are used to connect Control-M to RabbitMQ, as described in RabbitMQ Connection Profile Parameters.

Rules:

  • Characters: 1−30

  • Case Sensitive: Yes

  • Invalid Characters: Blank spaces.

Action

Determines one of the following actions to perform on RabbitMQ:

  • Publish a Message

  • Purge the Queue

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.
Message to Publish Defines the message content that you publish.
Message Encoding

Defines the encoding of the message that you publish.

The encoding must be a string or Base64.

Properties

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

{"app_id":"151515151515123",”app_name”:”Control-M}