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:
|
Topic Type |
|
Determines one of the following topic types where the message is published:
|
Individual Type |
|
Determines one of the following recipient types:
|
Target ARN |
|
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 |
|
Defines a unique identifier (token) for the message, which is used to prevent duplicate messages in FIFO topics. |
Message Group ID |
|
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 |
|
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:
Default: Uncheked Copy
|
Attributes |
|
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:
Valid Values:
Default: Unchecked |
SMS Attributes |
|
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:
Valid Values:
Default: Unchecked |
Sender Identifier |
|
Determines one of the following sender identities:
|
Max Price |
|
Determines the maximum price that you are willing to pay for an SMS message. |
SMS Type |
|
(Optional) Determines one of the following types of SMS messages:
Default Transactional |
Phone Number |
|
Determines the phone number of the SMS message recipient. |
Push Notifications Attributes |
|
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:
|
Queue Type |
Preset |
Determines one of the following SQS queue types:
|
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:
Valid Values:
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
|
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:
|
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. |