get_url_to_download_job_libraries

EtlJobsApi.get_url_to_download_job_libraries(filepath, id, role_id, _request_timeout=None, _request_auth=None, _content_type=None, _headers=None, _host_index=0)

Get a presigned URL to download a shared library package

Returns a presigned GET URL for a package under common-libs/{id}{filepath}. filepath is required and is appended as-is (typically /libs/python/{file}). Caller must have access to the library. URL-encoded values are decoded. No request body.

Parameters:
  • filepath (str) – Path under the library prefix, including a leading slash (for example /libs/python/helpers.zip). (required)

  • id (str) – Shared library identifier. (required)

  • role_id (str) – Amorphic role ID of the requesting user. Must be a role the authenticated user belongs to. (required)

  • _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:

SharedLibraryPackageDownloadResponse

Returns:

Returns the result object.

Request and Response Examples

HTTP: GET /jobs/libs/{id}/download

Parameter examples

Name

In

Example

filepath

query

"/libs/python/helpers.zip"

id

path

"123e4567-e89b-12d3-a456-426614174000"

role_id

header

"custom-role-123e4567-e89b-12d3-a456-426614174000"

Success (HTTP 200)

Presigned download URL in the url field.

Request / response example

{
  "url": "https://example-etl-bucket.s3.amazonaws.com/..."
}

Errors

Documented error codes: AUTH-1001, AUTH-1011, GE-1034, IPV-1002.

HTTP 400

Input validation or authorization failure. Body is {“Message”: “<CODE> - <text>”}. Codes: AUTH-1001 (missing role_id), AUTH-1011 (caller not authorized).

Missing role_id header

{
  "Message": "AUTH-1001 - Missing role information in event header"
}

Caller not authorized

{
  "Message": "AUTH-1011 - User does not have sufficient permission to perform this action"
}

HTTP 500

Backend failure. Body is {“Message”: “<CODE> - <text>”}. Codes: GE-1034 (missing filepath or S3 presign failed), IPV-1002 (library not found).

Unexpected backend failure

{
  "Message": "GE-1034 - Unable to process the request"
}

Missing filepath query parameter

{
  "Message": "GE-1034 - missing mandatory filepath queryStringParameter"
}