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 completed the following:
-
Configured the Control-M Application Integrator plug-in, as described in Application Integrator Configuration.
-
Installed the AWS SNS plug-in with the provision image command (Control-M/EM 9.0.21 or higher) or the deploy jobtype command (Control-M/EM 9.0.20.200 or lower).
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 completed the following:
-
Configured the Control-M Application Integrator plug-in, as described in Application Integrator Configuration.
-
Installed the AWS SQS plug-in with the provision image command (Control-M/EM 9.0.21 or higher) or the deploy jobtype command (Control-M/EM 9.0.20.200 or lower).
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
|
Azure Service Bus jobs enable you to send notifications to your Azure Service Bus message queues and Pub/Sub topics.
To deploy and run an Azure Service Bus job, ensure that you have completed the following:
To deploy and run an Azure Service Bus job, ensure that you have installed the Azure Service Bus plug-in with the provision image command or the Provision Service command.
For more information, see Control-M for Azure Service Bus.
The following example shows an Azure Service Bus job that sends a message body to a topic:
"Azure Service Bus_Job_2": {
"Type": "Job:Azure Service Bus",
"ConnectionProfile": "SB",
"Service Bus Namespace": "test",
"Queue-Topic Name": "topic_A"
"Message Format":"application/json",
"Message Body": "{"key1":"value1"}",
}
The following table describes Azure Service Bus job parameters.
Attribute |
Description |
---|---|
ConnectionProfile |
Determines the ConnectionProfile:Azure Service Bus name that connects Control-M to Azure Service Bus. |
Service Bus Namespace |
Defines a hierarchical graph in Azure Service Bus that contains the target message queue or target topic for this job. |
Queue-Topic Name |
Defines the Azure Service Bus message queue or topic that receives the Message Body. |
Message Format |
Determines the message formats for the Message Body parameter. Valid values include:
In addition to these values, you can type the name of any other data/messaging format. |
Message Body |
The data that is sent to the queue or topic in the body of the message, in the format you defined in Message Format. |
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 completed the following:
-
Configured the Control-M Application Integrator plug-in, as described in Application Integrator Configuration.
-
Installed the RabbitMQ plug-in with the provision image command (Control-M/EM 9.0.21 or higher) or the deploy jobtype command (Control-M/EM 9.0.20.200 or lower).
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. |