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:
"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:
|
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 as appears in the code example. |
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. Provide Name, Data Type (String, Array, Number, or Binary), and Value for each attribute. |
SMS Attributes |
|
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 |
|
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 |
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.
"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:
|
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 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:
|
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:
|
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:
|
Action |
Determines one of the following actions to perform on RabbitMQ:
|
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} |