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:
- 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."
}