Objectives :
- to have a first version of ICD before Summer time and share with LTA service providers to gather first comments
- to present LTA ICD during the next checkpoint (September or October)
Query Product
The following presentation contains a short gap analysis regarding STAC and the AIP of the LTA service:
This table focuses on product properties that should be exposed by AIP instances and that are not currently backed by STAC Core or extensions.
| Property Name | Possible values / Example | Common | Comment | Proposed solution |
|---|---|---|---|---|
| Online |
| to be stated in the ICD : Offline : item with no assets Online : item with assets | Order extension field order:status:
| |
Retrieval functions
Retrieve Product
Queries
| Call from LTA Client | "OGC API - Processes" operation | Details | Response of query |
|---|---|---|---|
| Product Order Request | /processes/{PROCESSID}/execution | Query type : POST PROCESSID = order-request Input parameters :
| Response by default :
Mandatory information not supported by the standard :
|
Order Status Query (status = completed) Mario : use job result to get all the parameters !! | /jobs/{JOBID}?status=successful | List of completed Jobs with their ID and following parameters :
Information not supported by the standard :
| |
Order result query | /jobs/{JOBID}/results | Returns a JSON response with output parameters set for the completed order | A process result will contain the following information :
|
| Product Staging Notification | Callback mechanism for completed jobs : requires to add a subscriber property in the order request (notification endpoint) | To assess : authorisation for callback | |
JobStatus value correspondance
| Odata status | OGC API - Processes status |
|---|---|
queued | accepted |
| in_progress | running |
| completed | successful |
| failed | failed |
| cancelled | dismissed |
Process definition
Below is a process definition for a "ProductRetrieve" process
{
"id": "ProductRetrieve",
"title": "Order LTA for product retrieving",
"description": "This asynchronous process specifies one product to retrieve from LTA, through its identifier",
"version": "1.0.0",
"jobControlOptions": [
"async-execute"
],
"outputTransmission": [
"value"
],
"inputs": {
"ProductId": {
"title": "Product identifier",
"description": "Identifier of the product to retrieve",
"minOccurs": 1,
"maxOccurs": 1,
"schema": {
"type": "string"
}
},
"Priority": {
"title": "Order priority",
"description": "Priority of the order. It is an integer from 1-100,",
"minOccurs": 0,
"maxOccurs": 1,
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 100
}
}
},
"outputs": {
"ProductLink": {
"schema": {
"type": "string"
}
},
"EvictionDate": {
"schema": {
"type": "string",
"format": "dateTime"
}
},
"OrderSize": {
"schema": {
"type": "integer"
}
}
},
"response": "document",
"links": [
{
"href": "https://lta.processing.copernicus.eu/processes/ProductRetrieve/execution",
"rel": "http://www.opengis.net/def/rel/ogc/1.0/execute",
"title": "Execute endpoint"
}
]
}
Bulk Product Retrieve
The bulk is defined by a list of products or query filter parameters and a batch size
1st level assumption: not "as is" in the OGC standard.
Ideas :
- Create a specific Process for "Bulk Create Request".
- query filter parameters : the process parameters == filters
- list of products : one parameter as a list of product IDs
- BatchOrder List Request : is the result of the "Bulk Create Request" Process
- Create a specific Process for "BatchOrder trigger"
Good to simplify the current way to do bulk (many batch orders to trigger !!)
Trigger all the batches automatically
→ offer the user to automatically execute the batch orders or not (as a parameter of "Bulk Create Request")