get_etl_job_execution_logs

EtlJobsApi.get_etl_job_execution_logs(id, executionid, servicename, role_id, logtype=None, serviceloggroup=None, logs=None, _request_timeout=None, _request_auth=None, _content_type=None, _headers=None, _host_index=0)

Download or trigger packaging of job execution logs

Returns a presigned URL for the latest CloudWatch logs, or with logs=all triggers async zip generation. servicename is required. logtype is required for glue and for logs=all.

Parameters:
  • id (str) – UUID of the parent ETL job. (required)

  • executionid (str) – Glue JobRun / execution ID whose logs are requested. (required)

  • servicename (str) – Log source service. For logs=all use glue or data-pipelines. Other flows also accept jdbc-dataflow, jdbc-advanced-dataflow, and streams-entity. Invalid values return IPV-1041. (required)

  • role_id (str) – Amorphic role ID sent for authorization. Missing this header returns AUTH-1001. (required)

  • logtype (str) – Log stream type such as output or error. Required for glue and when logs=all.

  • serviceloggroup (str) – CloudWatch log group used for non-glue services when the default group is not applicable.

  • logs (str) – Use all to request full-log zip generation. Omit or set latest to download the latest CloudWatch logs immediately.

  • _request_timeout (int, tuple(int, int), optional) – timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts.

  • _request_auth (dict, optional) – set to override the auth_settings for an a single request; this effectively ignores the authentication in the spec for a single request.

  • _content_type (str, Optional) – force content-type for the request.

  • _headers (dict, optional) – set to override the headers for a single request; this effectively ignores the headers in the spec for a single request.

  • _host_index (int, optional) – set to override the host_index for a single request; this effectively ignores the host_index in the spec for a single request.

Return type:

JobExecutionLogsResponse

Returns:

Returns the result object.

Request and Response Examples

HTTP: GET /jobs/{id}/executions/{executionid}/logs

Success (HTTP 200)

Presigned URL, trigger confirmation, or existing packaged log URL depending on LogStatus and the logs parameter. Live download responses use PresignedURL.

logs=all packaging started

{
  "Message": "Triggered log file creation"
}

Presigned URL for packaged or latest logs

{
  "Message": "Presigned url returned",
  "PresignedURL": "https://s3.amazonaws.com/example-logs/jr_a1b2c3d4e5f6/output.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256"
}

Latest CloudWatch log preview

{
  "url": "https://s3.amazonaws.com/example-logs/jr_a1b2c3d4e5f6/latest.log?X-Amz-Algorithm=AWS4-HMAC-SHA256",
  "logPreview": "2026-08-15 09:00:01 INFO Starting job...",
  "logTruncated": false
}

Errors

Documented error codes: IPV-1052, LOG-1006, GE-1008.

HTTP 400

Missing servicename/logtype, invalid service name, packaging already in progress, or execution not in failed/stopped/succeeded.

Required query parameter missing

{
  "Message": "IPV-1052 - Missing mandatory parameter(s) servicename in queryStringParameters/pathParameters"
}

Execution state cannot provide logs

{
  "Message": "LOG-1006 - Job execution jr_a1b2c3d4e5f6 is not in succeeded state to retrieve logs"
}

HTTP 500

Uncaught backend failure. Typical Message is “GE-1008 - Could not complete the request. Please try again.”

Request / response example

{
  "Message": "GE-1008 - Could not complete the request. Please try again."
}