tSQSOutput - 6.3

Talend Open Studio for Big Data Components Reference Guide

EnrichVersion
6.3
EnrichProdName
Talend Open Studio for Big Data
task
Data Governance
Data Quality and Preparation
Design and Development
EnrichPlatform
Talend Studio

tSQSOutput delivers one or more messages to an Amazon SQS (Simple Queue Service) queue.

tSQSOutput properties in Standard Jobs

These properties are used to configure tSQSOutput.

The tSQSOutput component belongs to the Cloud/Amazon/SQS family.

Basic settings

Use an existing connection

Select this check box and in the Component List click the relevant connection component to reuse the connection details you already defined.

Access Key and Secret Key

Specify the access keys (the access key ID in the Access Key field and the secret access key in the Secret Key field) required to access the Amazon Web Services. For more information about AWS access keys, see Access keys (access key ID and secret access key).

To enter the secret key, click the [...] button next to the secret key field, and then in the pop-up dialog box enter the password between double quotes and click OK to save the settings.

Inherit credentials from AWS role

Select this check box to leverage the instance profile credentials. These credentials can be used on Amazon EC2 instances, and are delivered through the Amazon EC2 metadata service. To use this option, your Job must be running within Amazon EC2 or other services that can leverage IAM Roles for access to resources. For more information, see Using an IAM Role to Grant Permissions to Applications Running on Amazon EC2 Instances.

Assume role

Select this check box and specify the values for the following parameters used to create a new assumed role session.

  • Role ARN: the Amazon Resource Name (ARN) of the role to assume.

  • Role session name: an identifier for the assumed role session.

  • Session duration (minutes): the duration (in minutes) for which we want to have the assumed role session to be active.

For more information about assuming roles, see AssumeRole.

Region

Specify the AWS region by selecting a region name from the list or entering a region between double quotation marks (for example "us-east-1") in the list. For more information about AWS Regions, see AWS Regions and Endpoints.

Queue URL

Specify the name or URL of the queue to which the message(s) will be delivered.

Schema and Edit schema

A schema is a row description. It defines the number of fields (columns) to be processed and passed on to the next component. The schema is either Built-In or stored remotely in the Repository.

Note that the schema of this component is predefined with a single String column Body that stores the body of each message to be delivered. You can click the button next to Edit schema to view its schema and edit the schema by adding some customized attributes for the messages to be delivered.

Use batch mode

Select this check box to deliver messages to the queue using batch request. In the Batch size field displayed, enter the number of messages to be delivered in each batch. Note that the maximum number of the messages delivered in each batch is 10.

Die on error

Select this check box to stop the execution of the Job when an error occurs.

Advanced settings

Config client

Select this check box and in the table displayed specify the client configuration parameters. Click the button below the table to add as many rows as needed, each row for a client configuration parameter, and set the value of the following attributes for each parameter:

  • Client Parameter: click the cell and select a parameter from the drop-down list.

  • Value: enter the value for the corresponding parameter.

STS Endpoint

Select this check box and in the field displayed, specify the AWS Security Token Service endpoint where session credentials are retrieved from.

This check box is available only when the Assume role check box is selected.

tStatCatcher Statistics

Select this check box to gather the Job processing metadata at the Job level as well as at each component level.

Global variables

NB_LINE

The number of messages processed. This is an After variable and it returns an integer.

NB_LINE_SUCCESS

The number of messages successfully enqueued. This is an After variable and it returns an integer.

NB_LINE_REJECTED

The number of messages rejected. This is an After variable and it returns an integer.

ERROR_MESSAGE

The error message generated by the component when an error occurs. This is an After variable and it returns a string. This variable functions only if the Die on error check box is cleared, if the component has this check box.

Usage

Usage Rule

This component is usually used as an end component of a Job or Subjob and it always needs an input link.

Delivering messages to an Amazon SQS queue

Here's an example of using Talend components to create an Amazon SQS (Simple Queue Service) queue and then deliver a couple of messages to the queue.

The input messages in this example are as follows, and each message contains the message creator attribute and the message body information.

#Creator;Body
Talend DOC Team;the 1st message from Talend DOC team
Talend DEV Team;the 2nd message from Talend DEV team
Talend QA Team;the 3rd message from Talend QA team

Creating a Job for delivering Amazon SQS messages

Create a Job to open a connection to access Amazon SQS, then create an Amazon SQS queue, finally deliver a couple of messages to the queue.

  1. Create a new Job and add a tSQSConnection component, a tSQSQueueCreate component, a tFixedFlowInput component, and a tSQSOutput component by typing their names in the design workspace or dropping them from the Palette.

  2. Link the tFixedFlowInput component to the tSQSOutput component using a Row > Main connection.

  3. Link the tSQSConnection component to the tSQSQueueCreate component using a Trigger > OnSubjobOk connection.

  4. Link the tSQSQueueCreate component to the tFixedFlowInput component using a Trigger > OnSubjobOk connection.

Opening a connection to access Amazon SQS

Configure the tSQSConnection component to open a connection to access Amazon SQS.

  1. Double-click the tSQSConnection component to open its Basic settings view.

  2. In the Access Key and Secret Key fields, specify the authentication information required to access Amazon SQS.

  3. Select an AWS region available for Amazon SQS from the Region drop-down list. In this example, it is Asia Pacific (Tokyo).

Creating an Amazon SQS queue

Configure the tSQSQueueCreate component to create an Amazon SQS queue.

  1. Double-click the tSQSQueueCreate component to open its Basic settings view.

  2. Specify the connection details required to access Amazon SQS. In this example, select the Use an existing connection check box and from the Component List drop-down list displayed, select the connection component to reuse its connection details you have already defined.

  3. In the Queue field, specify the name for the queue to be created. In this example, it is talend.

  4. If needed, specify the attributes for the queue to be created in the Queue Attributes table. In this example, the MessageRetentionPeriod attribute is added and its value is set to 86400, which means Amazon SQS will retain the messages delivered to the queue for 86400 seconds (1 day) instead of the default 345600 seconds (4 day).

Delivering messages to the Amazon SQS queue

Configure the tFixedFlowInput component and the tSQSOutput component to deliver messages to the new empty Amazon SQS queue.

  1. Double-click the tSQSOutput component to open its Basic settings view.

  2. Specify the connection details required to access Amazon SQS. In this example, select the Use an existing connection check box and from the Component List drop-down list displayed, select the connection component to reuse its connection details you have already defined.

  3. In the Queue URL field, enter the name for the queue to which the messages will be delivered. In this example, it is talend.

  4. Click the button next to Edit schema to open the schema dialog box.

    You can see the schema of the tSQSOutput component is predefined with a single String column Body that stores the body of each message to be delivered.

  5. Click the button in the right panel to add one column Creator of String type, which will hold the customized creator attribute value of each message.

  6. Click the button to copy all columns from the output schema to the input schema. In the pop-up dialog box, click OK to accept the changes.

  7. Click OK to close the schema dialog box.

  8. Double-click the tFixedFlowInput component to open its Basic settings view.

  9. In the Mode area, select Use Inline Content(delimited file). Then in the Content field displayed, enter the creator attribute and body data of the messages to be delivered to Amazon SQS. In this example, it is:

    Talend DOC Team;the 1st message from Talend DOC team
    Talend DEV Team;the 2nd message from Talend DEV team
    Talend QA Team;the 3rd message from Talend QA team

Executing the Job to deliver Amazon SQS messages

After setting up the Job and configuring the components used in the Job for delivering Amazon SQS messages, you can then execute the Job and verify the Job execution result.

  1. Press Ctrl + S to save the Job and then F6 to execute the Job.

    As shown above, the Job is executed successfully.

  2. View the queue details on the AWS console to validate the Job execution result.