get_data_pipeline_node_logs¶
- DataPipelinesApi.get_data_pipeline_node_logs(id, executionid, node_name, servicename, role_id, logtype=None, action=None, logs=None, _request_timeout=None, _request_auth=None, _content_type=None, _headers=None, _host_index=0)¶
Trigger or fetch generated node log files
Primary integration is v2-downloadLogs. The working GET branch is logs=all (requires servicename=data-pipelines and logtype). It starts log file generation (Message “Triggered log file creation”) or returns PresignedURL when a file already exists. Execution must be in a terminal state (LOG-1006). logs=latest is declared in the spec but is not a working GET unless action is also a POST action (view-logs|generate-logs|download-logs), which then expects a POST body. Prefer POST for view/generate/download.
- Parameters:
id (str) – DataPipelineId. (required)
executionid (str) – DataPipelineExecutionId (Glue workflow run id or AI flow execution id). (required)
node_name (str) – NodeName of the pipeline node. (required)
servicename (str) – Must be data-pipelines. (required)
role_id (str) – Amorphic role ID the request is authorized against. Must be a role the user belongs to. Lambda returns AUTH-1001 (HTTP 403 on v2-dataPipelines, HTTP 400 on v2-downloadLogs) if missing after gateway validation. (required)
logtype (str) – Required when logs=all. Glue nodes that are not etl_job/datasource typically need error.
action (str) – Not used for logs=all. If logs is not all, must be view-logs, generate-logs, or download-logs (IPV-1041).
logs (str) – all triggers/fetches generated files. latest is not implemented as a standalone GET.
_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 /data-pipelines/{id}/executions/{executionid}/nodes/{node_name}/logs
Success (HTTP 200)¶
Trigger message or PresignedURL for logs=all.
Log file creation started
{
"Message": "Triggered log file creation"
}
Existing generated file
{
"Message": "Presigned url returned",
"PresignedURL": "https://s3.amazonaws.com/bucket/logs.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256"
}
Errors¶
Documented error codes: IPV-1052, IPV-1041, IPV-1008, DP-1021, AUTH-1010, LOG-1007.
HTTP 400
Invalid input. downloadLogs maps InvalidInputException and UnauthorizedUserException to HTTP 400.
Missing servicename
{
"Message": "IPV-1052 - Missing mandatory parameter(s) servicename in queryStringParameters/pathParameters"
}
GET without logs=all and invalid action
{
"Message": "IPV-1041 - Invalid parameter - action, allowed values/keys are [view-logs, generate-logs, download-logs]"
}
POST missing startTime/endTime
{
"Message": "IPV-1008 - Invalid request body, missing key(s) - startTime/endTime"
}
Execution has not reached the node
{
"Message": "DP-1021 - Data pipeline execution exec-1 is in running state and hasn't reached the node etl_orders yet."
}
No permission on the pipeline
{
"Message": "AUTH-1010 - User user1 is not authorized to perform this operation"
}
HTTP 500
Log retrieval failed (LOG-1007 or other GenericFailureException).
Unhandled downloadLogs error
{
"Message": "LOG-1007 - Unable to download log files, please try again later."
}