The AWS SQS Listener polls the defined SQS (Amazon Simple Queue Service) queue and retrieves messages.
1. Basic: In this tab, you can specify:
Queue name: The name of the queue to receive a message from.
Polling Interval: How often the queue is polled for new messages. If the value is set with enhanced properties, the units are seconds.
Number of messages per cycle: The number of messages to pull on a single polling cycle. Between 1 and 10.
Dequeue messages after processing: If checked, the message will be removed from the queue after the transaction is started.
2. Advanced: In this tab, you can specify:
Initialize on trigger only: If enabled, the Listener doesn’t start up until a trigger initializes it.
Allow command-line invocation: If enabled, the listener can be invoked using the CLI client application.
Restart on listening error: If enabled, the listener will be restarted after an error occurs.
FIFO Queue Name: The FIFO stuff enables a “First In, First Out” queuing mechanism between Listeners and Transports. If a “FIFO Queue Name” is provided, that name will be used as a key for a queue Transactions & will be pushed into before reaching a transport. They’ll be ordered in this queue according to when the Listener created them.
FIFO Queue Delay: It is the interval between updates/checks against that queue. Providing a queue name guarantees that a given Transport sends transactions in the same order the Listener created them in.
3. Transaction Logging: In this tab, you can specify:
The Transaction Logging Enable checkbox allows transaction events originating from this listener to be logged by a TransactionEventListener.
Log Transaction Data: if enabled, logs transaction data body.
Log Transaction Data Base64: if enabled, logs transaction data body as Base64.
Log Transaction Attribute: if enabled, logs transaction attributes.
Log All Attributes: If enabled, no attributes will be filtered.
Allowed Attributes: Attributes that are allowed to be logged.
4. Inactivity: In this tab, you can specify:
Enable Inactivity Monitor: Check this box to enable inactivity monitoring. This will throw a non-transaction exception if the specified number of transactions haven’t been processed in the specified time interval.
Min. Transactions to Expect: The number of transactions to expect to be completed per monitoring interval.
Monitoring Interval: How often to check the specified number of transactions have been processed.
Times to Monitor: If set, monitoring will be done during the defined times of day. To ignore, set start and end time equally.
Days to Exclude from Monitoring: Inactivity monitoring will not occur on the days specified.
Include Errors in Transaction Count: If checked, transactions that attempted to start but failed at the Listener stage will also be counted.
5. Throttling: In this tab, you can specify:
Throttling Mode: The throttling mode to use for limiting the number of transactions or messages emitted by this Listener. “Timed” will limit transactions based on time intervals, while “Concurrent” will limit based on a concurrent number of transactions. “Concurrent” mode requires a Throttling Response Processor step later in your Interface workflow to acknowledge completion.
Throttling Mechanism: The mechanism to use for throttling message. “Blocking” prevents the Listener from continuing to process and emit messages altogether, while “Queued” pushes received messages into the Interface queue (or a default, in-memory queue).
Max Concurrent Messages: How many messages can be concurrently processed, either by time-based limits (“Allow X per Second”) or synchronous (“Allow X at any Time”)
Timed Emission Interval: The interval for time-based limits (“Allow X per X Timed Emission Interval”)
Synchronous Timeout Interval: The interval to wait for a synchronous response before failing.
6. Scheduling: This tab allows you to specify the start times and end times for scheduled execution (choose the three dots to the right of the line in order to see this window). Also, you can specify days of the week or particular dates to exclude from scheduling. The Time Zone drop-down menu allows you to specify the Time Zone that should be used for scheduling; by default, it is set to the Time Zone of the console during initial configuration.
7. Credentials: In this tab, you can specify:
On the Credentials tab, you can set the necessary credentials for the connection.
Region: Specify the AWS Region to connect to.
Use Credentials from: Specifies method of getting the credentials. Note: choosing the ‘No Credentials’ option will only allow access to public buckets.
Access Key Id: Access Key Id for making calls to Amazon services.
Secret Key: Secret access key for making calls to Amazon services.
Session Token: If using AWS STS, this is for the limited-use session token. If not using STS, leave blank.
AWS File Path: Specifies the file path where the AWS profile configuration file is located.
Profile Name: Specifies the name of a local configuration profile.