Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This Universal Extension provides tha the capability to submit a new AWS Glue Job.

...

Software Requirements for Universal Template and Universal Task

Requires Python 3.7.0 or higher. Tested with the Universal Agent bundled Python distribution.

...

Network and Connectivity Requirements

Extension's Univesal Universal Agent host should be able to reach AWS Glue REST endpoints. The AWS Credentials provided in the AWS Glue Universal Task, should have sufficient permissions on AWS to invoke Glue Jobs.

...

  1. This Universal Task requires the Resolvable Credentials feature, check that the Resolvable Credentials Permitted system property has been set to true. For more information about Resolvable Credentials click here.

  2. Download the provided ZIP file.

  3. In the Universal Controller UI, select Administration >Configuration > Universal Templates to display the current list of Universal Templates.

  4. Click Import Template.

  5. Select the template ZIP file and Import.

...

The input fields for this Universal Extension are described belowin the following table.

FieldInput typeDefault valueTypeDescription
ActionRequiredStart Job RunChoiceThe action

Action performed upon the task execution.

Available action:

  • Start Job Run
AWS RegionRequired-TextRegion for the Amazon Web Service. Find more information about the AWS Service endpoints and quotas here.
AWS CredentialsRequired-CredentialsThe

AWS account credentials.


They are comprised of:

  • AWS access key ID
  • AWS secret access key
Role Based AccessOptionalFalseBoolean

Special type of authorization is provided by Role Assumption where the client sends his own credentials and the role he wants to assume from another user.

If allowed, the client receives temporary credentials with limited time access to some resources.

Role ARNOptional-Text

Role Arn: Amazon Role, which is applied for the connection. Role ARN format: Example RoleArn: arn:aws:iam::119322085622:role.

Required when Role Based Access="True".

Job NameRequired-TextThe name Name of the Glue job that will be invoked.
Job Run IDOptional-TextThe ID of a previous Job Run to retry.
Security ConfigurationOptional-TextThe name Name of the Security Configuration structure to be used with the Job Run.
Worker TypeOptionalNoneChoiceThe type Type of predefined worker that is allocated when a job runs. Available options are:
  • Standard
  • G.1X
  • G.2X
Number Of WorkersOptional-IntegerThe number Number of workers of a defined Worker Type that are allocated when a job is executed. The maximum number of workers that can be defined are:
  • 299 for G.1X
  • and 149 for G.2X

Required when Worker Type is not None.

Job TimeoutOptional2880IntegerThe

Job Run timeout in minutes.

Note
titleNote
:

The value of 2880 Minutes is the default timeout value

provide

provided by Amazon for new AWS Glue Jobs. It is suggested that users tune this parameter to the minimum value to avoid having running jobs for more than expected.

For more information please refer to Amazon AWS Glue pricing guide.

Notify Delay PeriodOptional-IntegerAfter a job run starts, the number of minutes to wait before sending a job run delay notification.
Input ArgumentsOptional-ArrayThe job Job arguments specifically for this run. For this Job Run, they replace the default arguments set in the job definition itself.
Proxy TypeOptionalHTTPChoiceType of proxy connection to be used. Available options are:
  • HTTP
  • HTTPS
  • HTTPS With Credentials

Visible only when Use Proxy = "True".

ProxyOptional-Text

Comma-separated list of Proxy servers.

Valid formats:

http://proxyip:port or http://proxyip:port,https://proxyip:port.

Required when Use Proxy is checked.

Proxy CA Bundle FileOptional-TextThe path

Path to a custom certificate bundle to use when establishing SSL/TLS connections with proxy.

Used when Proxy Type is configured for "HTTPS" or "HTTPS With Credentials".

Proxy CredentialsOptional-Credentials

Credentials to be used for the proxy communication.

They are comprised of:

  • username
  • password

Required when "Proxy Type" is configured for "HTTPS" or "HTTPS With Credentials".

Extension

...

Cancellation

When using a 7.0 or newer template, we must ensure that the “Always Cancel On Force Finish” is checked. This is to minimize leaving “orphan” processes on the OS without the option for the agent to see they are running.


Task Examples

Start Job Run with only required arguments

...

Exit CodeStatus Classification CodeStatus Classification DescriptionStatus Description
0SUCCESSSuccessful ExecutionSUCCESS: Successful Task execution.
1FAILFailed ExecutionFAIL: < Error Description >.
2AUTHENTICATION_ERRORBad credentialsAUTHENTICATION_ERROR: Account cannot be authenticated.
3AUTHORIZATION_ERRORInsufficient PermissionsAUTHORIZATION_ERROR: Account is not authorized to perform the requested action.
10CONNECTION_ERRORBad connection data or connection timed outCONNECTION_ERROR: < Error Description >.
11CONNECTION_ERRORExtension specific connection errorCONNECTION_ERROR: ProxyConnectionError: Failed to connect to proxy URL <url>.
20DATA_VALIDATION_ERRORInput fields validation errorDATA_VALIDATION_ERROR: Some of the input fields cannot be validated. See STDERR for more details.

Extension Output

The Extension Output for AWS Lambda Universal Task successful execution is described below.

...

NameLocationDescription
Universal Templateshttps://docs.stonebranch.com/confluence/display/U70U71x/Universal+TemplatesUser documentation for creating Universal Templates in the Universal Controller user interface.
Universal Taskshttps://docs.stonebranch.com/confluence/display/UC70UC71x/Universal+TasksUser documentation for creating Universal Tasks in the Universal Controller user interface.
AWS Gluehttps://docs.aws.amazon.com/glue/?id=docs_gatewayDocumentation for AWS Lambda.
IAM RBAC authorization modelhttps://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html#introduction_attribute-based-access-control_compare-rbacUser Documentation for Comparing ABAC to the traditional RBAC model.