-
Notifications
You must be signed in to change notification settings - Fork 1
On‐demand Production (ODPRIP) API Reference
For a full description of the On-demand Production Interface Delivery Point (ODPRIP) API see the ESA document "Production Interface Delivery Point Specification" (ESA-EOPG-EOPGC-IF-3). The sections below provide an abridged summary of this document.
ODPRIPs allow clients to trigger the generation of a higher level user product (typically Level 1 or 2) from an archived lower level product (typically Level-0), for those higher level products not available online on the rolling archive. The ODPRIP processes the request, requests and retrieves the applicable archived product from a Long-term Archive, applies the requested processing and makes the output product available for download by the client.
More specifically, this is achieved by creating a processing order, which specifies the product to be used as input, the workflow to apply, and the options if any for customising the workflow. In the context of the On-Demand Processing, a workflow corresponds to a specific version of a product processor with a specific basic configuration applied to it (a "Configured Processor" in prosEO terms).
The nominal scenario can be described in the following steps:
Following the initial identification of the input product to which on-demand processing is to be applied, the ODPRIP Client may query the ODPRIP Service for relevant Workflows to apply, if this is not already known. The query response provides information on the identified Workflows, including the unique identifier, name, textual description and input and output products types. A set of user options may also be included within a Workflow, which constrain how the requested processing may be modified and override the default options of the Workflow. The default set of options applied are also provided.
Having selected the input product and the Workflow to be triggered plus applicable options, the Client submits a request to create a processing order towards the ODPRIP Service. As well as the parameters just listed, the ProductionOrder may also include an optional priority and an optional endpoint through which the Client can be notified about output product download readiness.
The ODPRIP Service returns a response which, in addition to the input parameters, includes a unique identifier for the particular ProductionOrder, a status (initially queued), a status message and other information.
Following receipt of a processing order, the ODPRIP Service generates a request to retrieve the input product from a suitable Long-term Archive Service. Following retrieval of the input product, the ODPRIP applies the processing and options identified in the processing order and applicable workflow. The output product, once available, is then ingested and published for retrieval via the PRIP API.
If a notification endpoint was provided, the ODPRIP Service will send an Output Product Download Readiness Notification containing the Product ID of the output product. The Client is then free to submit a product download request. Alternatively, if no endpoint was provided, the Client polls the ODPRIP Service to determine the status of a processing order. Once the status has been updated to completed, the output product can be identified and can be downloaded via the PRIP API.
The data entities used in the interface are simplified versions of the ProcessingOrder
and Workflow
entities
in the prosEO data model.
The Workflow
ODPRIP entity contains the following properties:
-
Id
: A locally unique identifier for the workflow instance within the ODPRIP -
Name
: Short name of the workflow -
Description
: Textual description of the workflow, including details of the processor version and configuration applicable -
InputProductType
: Product type of the input product -
OutputProductType
: Product type of the output product -
WorkflowVersion
: Version number applicable to the workflow (by convention usually the version number of the processor) -
WorkflowOptions
: A list of client-selectable processing options, specified by:-
Name
: The name of the option -
Description
: Textual description of the option -
Type
: Type of the option (e. g.String
) -
Default
: Default value of the option if available -
Value
: An array of all possible values for this option, if it is an enumeration
-
The ProductionOrder
ODPRIP entity contains the following properties:
-
Id
: A locally unique identifier for the processing order within the ODPRIP -
Status
: The order status (one ofqueued
,in_progress
,completed
,failed
,cancelled
) -
StatusMessage
: Text message providing additional information on the returned status -
OrderOutputSize
: Actual size in bytes of the output product composing the order (only in statuscompleted
) -
SubmissionDate
: Date and time at which the processing order was received by the ODPRIP -
EstimatedDate
: Estimated date and time when the product will be available for download -
CompletedDate
: Date and time when the product was available for download -
EvictionDate
: Date when the Product related to the order will be removed from the ODPRIP -
Priority
: Priority of the ProductionOrder. It is an integer from 1-100, where 100 is the highest priority -
InputProductReference
: Complex type used to unambiguously identify the input product; it contains at least one of:-
Reference
: Identifier of the product, typically the product file name -
ContentDate
: The sensing range period, consisting of-
Start
: Sensing start time -
Stop
: Sensing stop time
-
-
All times are in UTC in the format YYYY-MM-DDThh:mm:ss.sssZ
.