Skip to content
Snippets Groups Projects
Commit 25c7357d authored by Asan Arifov's avatar Asan Arifov
Browse files

Merge branch 'trusted-feature/docs' into 'develop'

Add docummentation

See merge request !115
parents 93429762 bf1594d4
No related branches found
No related tags found
5 merge requests!130integer data type,!120integer data type,!119Develop to main M25,!117Develop to main M25,!115Add docummentation
Pipeline #292145 failed
Showing
with 1284 additions and 10 deletions
......@@ -20,6 +20,10 @@ Integration tests are located in a separate project for each cloud in the ```tes
## Running service locally
The steps for running `pddms-timeseries-ingestion` locally can be found in the [Local.md file](docs/tutorial/local.md) file.
## Documentation
Introduction to Production DDMS, main concepts, API catalog, production domain model, architecture and infrastructure diagrams can be found [here](https://osdu.pages.opengroup.org/platform/domain-data-mgmt-services/production/historian/services/pddms-timeseries-ingestion/).
### Open API 3.0 - Swagger
- Swagger UI : https://host/context-path/swagger/index.html
- api-docs (JSON) : https://host/context-path/api-docs
......
......@@ -12,4 +12,289 @@ The entity discovery feature enables users to obtain a specific entity or a set
More information about entities and underlying concepts can be found [here](./entities.md).
[Go to Swagger](https://osdu-glab.msft-osdu-test.org/api/pddms/entities/service/timeseries/v1/swagger-ui/index.html){ .md-button }
\ No newline at end of file
[Go to Swagger](https://osdu-ship.msft-osdu-test.org/api/pddms/entities/service/timeseries/v1/swagger-ui/index.html){ .md-button }
## API (v 1.0.0)
### /info
---
#### GET
##### Summary:
Version info
##### Description:
For deployment available public `/info` endpoint, which provides build and git related information.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Version info. |
| 400 | Invalid record format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
### /readiness_check
---
#### GET
##### Summary:
Readiness Check endpoint
##### Description:
For deployment available public `/readiness_check` endpoint, which provides `Service is ready` message.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Service is ready |
### /liveness_check
---
#### GET
##### Summary:
Liveness Check endpoint
##### Description:
For deployment available public `/liveness_check` endpoint, which provides `Service is alive` message.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Service is alive |
### /entitytypes
---
#### GET
##### Summary:
Get all the Entity Types in the Hierarchy
##### Description:
Gets all the Entity Types and labels in the requested Hierarchy with their parent-child relationship.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| hierarchy | query | Defines the Hierarchy Type to be fetched. The possible values can be discovered by querying the GET /hierarchytypes endpoint. | Yes | string |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Successful response contains a list of Entity Types. |
| 400 | Invalid request format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
### /entities
---
#### GET
##### Summary:
Get all the Entities available in the system
##### Description:
Gets the actual instances of the entities available in the system for a particular hierarchy, listing their types, names and their relationship.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| hierarchy | query | Defines the Hierarchy Type to be fetched. The possible values can be discovered by querying the GET /hierarchytypes endpoint. | Yes | string |
| types | query | Defines a type-based filter. Gets entities of the listed types only. The possible values can be discovered by querying the GET /entitytypes endpoint. Multiple types can be provided separated by comma. Example: PLATFORM,WELL | No | string |
| anchor | query | Defines an ancestor-based filter. Gets entities that are descendants of the defined anchor (Entity Key). Example: osdu:master-data--Field:ABC-FIELD-001 | No | string |
| direction | query | Defines the traversal direction on the hierarchy tree. Use UP for finding all ancestors for a given anchor. Use DOWN for finding all descendants. Default direction is DOWN. | No | string |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Successful response contains a list of Entities. |
| 400 | Invalid request format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
### /entities/{entitysetdescr}/{version}
---
#### GET
##### Summary:
Get an entity set at a specific version
##### Description:
Gets the actual instances of the entities available in the system for a particular hierarchy, listing their types, names and their relationship, constrained to a particular version and entity set descriptor.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| version | path | Version time in UNIX milliseconds. See description. Example: 1638255708841 | Yes | long |
| entitysetdescr | path | Entity Set Descriptor is case-sensitive. The value can be discovered by querying the GET /entities endpoint. Example: default: anchor=.types=.direction=DOWN, anchor=osdu:master-data--Field:ABC-FIELD-001.types=WELL.direction=DOWN | Yes | string |
| hierarchy | query | Defines the Hierarchy Type to be fetched. The possible values can be discovered by querying the GET /hierarchytypes endpoint. | Yes | string |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | The keys returned as per the criteria. |
| 400 | Invalid request format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
### /hierarchytypes
---
#### GET
##### Summary:
Get all known Hierarchy Types
##### Description:
Gets a list of all Hierarchy Types available in the system, to be used when requesting entity types and entity tree on the other endpoints.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| version | query | Version time in UNIX milliseconds. If "version" is not provided, then by default it gets the latest. See description. Example: 1638255708841 | No | long |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Successful response contains a list of all known Hierarchy Types. |
| 400 | Invalid request format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
### /entities/register
---
#### POST
##### Summary:
Register new Entity in the system
##### Description:
Registers existing OSDU Storage record Id as an entity in the system.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Entity types |
| 400 | Invalid request format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
### /entities/link
---
#### POST
##### Summary:
Link two Entities into parent-child relationship
##### Description:
Links two previously registered in the system Entities into parent-child relationship.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Entity types |
| 400 | Invalid request format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
......@@ -10,4 +10,163 @@ The model property discovery feature allows users to query and browse the catalo
More information about properties and underlying concepts can be found [here](./properties.md).
[Go to Swagger](https://osdu-glab.msft-osdu-test.org/api/pddms/ppsproperties/service/timeseries/v1/swagger-ui/index.html){ .md-button }
\ No newline at end of file
[Go to Swagger](https://osdu-ship.msft-osdu-test.org/api/pddms/ppsproperties/service/timeseries/v1/swagger-ui/index.html){ .md-button }
## API (v 1.0.0)
### /info
---
#### GET
##### Summary:
Version info
##### Description:
For deployment available public `/info` endpoint, which provides build and git related information.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Version info. |
| 400 | Invalid record format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
### /readiness_check
---
#### GET
##### Summary:
Readiness Check endpoint
##### Description:
For deployment available public `/readiness_check` endpoint, which provides `Service is ready` message.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Service is ready |
### /liveness_check
---
#### GET
##### Summary:
Liveness Check endpoint
##### Description:
For deployment available public `/liveness_check` endpoint, which provides `Service is alive` message.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Service is alive |
### /properties
---
#### GET
##### Summary:
Get a set of the properties
##### Description:
Retrieves all of the properties and associated metadata that matches the modeled facets specified as query parameters.
Attention: the response may have a significant size. It is recommended to use filters limiting its size when running in a browser.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| entityType | query | The entity type that the properties apply to. Example: 'COMPANY','FIELD','WELL'. The list of possible values can be discovered by querying the GET /entitytypes endpoint in the Entity Discovery Open API spec. If not provided, the properties for all entity types are returned. | No | string |
| product | query | The product that the desired properties should apply to. The possible values are discovered from this endpoint when not filtered, by inspecting the field 'product'. Example: 'GAS', 'OIL', 'WATER'. | No | string |
| measurement | query | Ocean/OSDD code for measurement that underlies the desired properties. The possible values are discovered from this endpoint when not filtered, by inspecting the field 'code' either under 'measurement' or 'baseMeasurement'. Example: 'flowrate', 'frequency', 'temperature', 'pressure'. | No | string |
| flowDirection | query | The flow direction of the desired properties. The possible values are discovered from this endpoint when not filtered, by inspecting the field 'flowDirection'. Example: 'production', 'injection'. | No | string |
| method | query | The measurement/creation method of the desired properties. The possible values are discovered from this endpoint when not filtered, by inspecting the field 'method'. Example: 'measured', 'allocated', 'simulated', 'estimated'. | No | string |
| summary | query | The query parameter for getting minified version of get all properties api. If this paramter is true then the response will only have two main parameters in it, descriptor and baseMeasurement(code,unitSymbol). This is to get the basic details of properties which can be returned in less time and with reduced payload size. Example: true,false. | No | boolean |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | The query is syntactically correct and there are zero or more properties matching the specification. |
| 400 | Invalid record format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
### /properties/{propdescr}
---
#### GET
##### Summary:
Describes a single time-series property
##### Description:
Retrieves a description and associated metadata of the selected property descriptor.
In the usual workflow, the consumer finds the properties using the /properties endpoint and uses this endpoint for dynamically getting details like the unit symbol or data type.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| propdescr | path | The property identifier to describe. The property descriptors, although human-readable, should not be manually guessed. They are discoverable by using the GET /properties endpoint, which displays the root field 'descriptor' on the response. Example: oil-production-rate.m=measured.e=average.t=hourly.ta=average | Yes | string |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Successful property descriptor lookup |
| 400 | Invalid record format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
......@@ -8,4 +8,297 @@ Every time-series to be saved in the system must have 3 key attributes defined:
More information about sources and underlying concepts can be found [here](./sources.md).
[Go to Swagger](https://osdu-glab.msft-osdu-test.org/api/pddms/ppssource/api/source/v1/swagger-ui/index.html){ .md-button }
[Go to Swagger](https://osdu-ship.msft-osdu-test.org/api/pddms/ppssource/api/source/v1/swagger-ui/index.html){ .md-button }
## API (v 1.0.0)
### /sources/{code}
---
#### GET
##### Summary:
Get Source by code
##### Description:
Gets Source by code.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| code | path | | Yes | string |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 400 | Invalid record format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
##### Security
| Security Schema | Scopes |
| --- | --- |
| Authorization | |
#### PUT
##### Summary:
Update Source by code
##### Description:
Updates Source by code.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| code | path | | Yes | string |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 400 | Invalid record format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
##### Security
| Security Schema | Scopes |
| --- | --- |
| Authorization | |
#### DELETE
##### Summary:
Delete Source by code
##### Description:
Deletes Source by code.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| code | path | | Yes | string |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 400 | Invalid record format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
##### Security
| Security Schema | Scopes |
| --- | --- |
| Authorization | |
### /sources
---
#### GET
##### Summary:
Get all available Sources in the system
##### Description:
Gets a collection of all Sources in the system.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 400 | Invalid record format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
##### Security
| Security Schema | Scopes |
| --- | --- |
| Authorization | |
#### POST
##### Summary:
Add new Source
##### Description:
Adds new Source into the system.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 400 | Invalid record format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
##### Security
| Security Schema | Scopes |
| --- | --- |
| Authorization | |
### /readiness_check
---
#### GET
##### Summary:
Readiness Check endpoint
##### Description:
For deployment available public `/readiness_check` endpoint, which provides `Source service is ready` message.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Source service is ready |
### /liveness_check
---
#### GET
##### Summary:
Liveness Check endpoint
##### Description:
For deployment available public `/liveness_check` endpoint, which provides `Source service is alive` message.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Source service is alive |
### /info
---
#### GET
##### Summary:
Version info
##### Description:
For deployment available public `/info` endpoint, which provides build and git related information.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| Authorization | header | | Yes | string |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Version info. |
| 400 | Invalid record format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
### /info-short
---
#### GET
##### Summary:
${infoApi.info-short.summary}
##### Description:
${infoApi.info-short.description}
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Version info. |
| 400 | Invalid record format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
......@@ -8,4 +8,158 @@ One of ingesting data into Production DDMS methods is using the time-series mana
More information about time-series and underlying concepts can be found [here](./timeseries.md).
[Go to Swagger](https://osdu-glab.msft-osdu-test.org/api/pddms/writeback/service/timeseries-management/v1/swagger-ui/index.html){ .md-button }
\ No newline at end of file
[Go to Swagger](https://osdu-ship.msft-osdu-test.org/api/pddms/writeback/service/timeseries-management/v1/swagger-ui/index.html){ .md-button }
## API (v 1.0.0)
### /info
---
#### GET
##### Summary:
Version info
##### Description:
For deployment available public `/info` endpoint, which provides build and git related information.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Version info. |
| 400 | Invalid request format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
### /readiness_check
---
#### GET
##### Summary:
Readiness Check endpoint
##### Description:
For deployment available public `/readiness_check` endpoint, which provides `Service is ready` message.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Service is ready |
### /liveness_check
---
#### GET
##### Summary:
Liveness Check endpoint
##### Description:
For deployment available public `/liveness_check` endpoint, which provides `Service is alive` message.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Service is alive |
### /{entityKey}/{propertyDescriptor}
---
#### POST
##### Summary:
Store time-series for a given entity, property and source
##### Description:
Stores the time-series associated with the selected entity, property and source
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| entityKey | path | Entity Key for the time-series to be stored (refer to Entity Discovery API for information on getting Entity Keys) Example: osdu:master-data--Well:ASPEN-2091 | Yes | string |
| propertyDescriptor | path | Property Descriptor for the time-series to be stored (refer to Property Discovery API for information on getting Property Descriptors) Example: last-stream.e=NO_AGGREGATION | Yes | string |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 202 | Points accepted for storage Note that one and only one of the data fields (timeSeriesDouble, timeSeriesString & timeSeriesLong) will be reflected corresponding to the provided data field in the request body |
| 400 | Request has incorrect information. Details are given in the response |
| 401 | Unauthorized |
| 403 | User not authorized to store points on the given entity |
| 404 | Invalid acl group or Entity key and/or property descriptor and/or source not found |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
### /batch
---
#### POST
##### Summary:
Store time-series for a collection of entity and property pairs
##### Description:
Store the time-series for a collection of entity and property pairs in a single batch operation
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 207 | Points accepted for storage Note that one and only one of the data fields (timeSeriesDouble, timeSeriesString & timeSeriesLong) will be reflected corresponding to the provided data field in the request body |
| 400 | Request has incorrect information. Details are given in the response |
| 401 | Unauthorized |
| 403 | User not authorized to store points on the given entity |
| 404 | Invalid acl group or Entity key and/or property descriptor and/or source not found |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
......@@ -8,4 +8,320 @@ Operations producing time series are a fundamental concept of the underlying orc
More information about time-series and underlying concepts can be found [here](./timeseries.md).
[Go to Swagger](https://osdu-glab.msft-osdu-test.org/api/pddms/ppstimeseries/service/timeseries/v1/swagger-ui/index.html){ .md-button }
[Go to Swagger](https://osdu-ship.msft-osdu-test.org/api/pddms/ppstimeseries/service/timeseries/v1/swagger-ui/index.html){ .md-button }
## API (v 1.0.0)
### /info
---
#### GET
##### Summary:
Version info
##### Description:
For deployment available public `/info` endpoint, which provides build and git related information.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Version info. |
| 400 | Invalid record format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
### /readiness_check
---
#### GET
##### Summary:
Readiness Check endpoint
##### Description:
For deployment available public `/readiness_check` endpoint, which provides `Service is ready` message.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Service is ready |
### /liveness_check
---
#### GET
##### Summary:
Liveness Check endpoint
##### Description:
For deployment available public `/liveness_check` endpoint, which provides `Service is alive` message.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Service is alive |
### /{entityKey}/{propertyDescriptor}/{source}
---
#### GET
##### Summary:
Get time-series for a given entity, property and source
##### Description:
Gets the time-series associated to the selected entity, property and source for a specified time range.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| entityKey | path | Entity Key for the requested time-series (refer Entity Discovery API for information on getting Entity Keys) Example: osdu:master-data--Well:ABC-WELL-001 | Yes | string |
| propertyDescriptor | path | Property Descriptor for the requested time-series (refer Property Discovery API for information on getting Property Descriptors) Example: oil-production-rate.m=measured.t=daily.ta=average | Yes | string |
| source | path | Allows consumers to select what source to get time-series from. Example: dor | Yes | string |
| start | query | Start time of the request in Unix milliseconds. Start time is inclusive. Example: 1580536800000 | Yes | long |
| end | query | End time of the request in Unix milliseconds. End time is exclusive. Example: 1597858400000 | Yes | long |
| version | query | Version time in Unix milliseconds. If "version" is not provided, then by default it gets the latest version. See description. Example: 1577858400000 | No | long |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Successful response. |
| 400 | Invalid record format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
### /batch
---
#### POST
##### Summary:
Get time-series for a collection of entities and/or a collection of properties and single source in a single batch operation
##### Description:
To prevent excessive load on the server and also to make sure the response size should not exceed the max limit, the Batch API has a limit on number of entities and properties combination. If the request exceeds the below mentioned limit on entities and properties combination, API returns status code 413.
<b>In the request payload, Limit on Entity and Property count will vary based on temporal interval</b>
<b>Millisecond rate:</b> [entities * properties <= 10000]
<b>Daily rate:</b> [entities * properties <= 5000]
<b>Weekly rate:</b> [entities * properties <= 5000]
<b>Monthly rate:</b> [entities * properties <= 5000]
<b>Yearly rate:</b> [entities * properties <= 1500]
<b>More than a Year:</b> [entities * properties <= 100]
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Successful response if all the time-series response statuses are 200. |
| 207 | Partial successful response if at least one of the time-series responses status is not 200. |
| 400 | Invalid record format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 413 | Requested Entity and Property count is out of range. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
| 504 | Returned when the batch size is larger than allowed. Try a smaller batch size. |
### /latestValue/batch
---
#### POST
##### Summary:
Get time-series latest value for a collection of entities and/or a collection of properties and single source in a single batch operation
##### Description:
Returns the collection of latest value (or the most recent value on or before the parameter if given) for each given collection of entities and properties.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Successful response if all the time-series response statuses are 200. |
| 207 | Partial successful response if at least one of the time-series responses status is not 200. |
| 400 | Invalid record format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 413 | Requested Entity and Property count is out of range. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
| 504 | Returned when the batch size is larger than allowed. Try a smaller batch size. |
### /{version}/{entityKey}/{propertyDescriptor}/{source}
---
#### GET
##### Summary:
Get the time-series for a single entity, single property and single source for the specified version
##### Description:
Gets the time-series for a single entity, single property and single source for the specified version.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| version | path | Version time in Unix milliseconds. See description. Example: 1597858400000 | Yes | long |
| entityKey | path | Entity Key for the requested time-series (refer Entity Discovery API for information on getting Entity Keys) Example: osdu:master-data--Well:ABC-WELL-001 | Yes | string |
| propertyDescriptor | path | Property Descriptor for the requested time-series (refer Property Discovery API for information on getting Property Descriptors) Example: oil-production-rate.m=measured.t=daily.ta=average | Yes | string |
| source | path | Allows consumers to select what source to get time-series from. Example: dor | Yes | string |
| start | query | Start time of the request in Unix milliseconds. Start time is inclusive. Example: 1550536800000 | Yes | long |
| end | query | End time of the request in Unix milliseconds. End time is exclusive. Example: 1597858400000 | Yes | long |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Successful response. |
| 400 | Invalid record format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
### /latestValue/{entityKey}/{propertyDescriptor}/{source}
---
#### GET
##### Summary:
Returns the latest value of a time-series
##### Description:
Returns the latest value (or the most recent value on or before the parameter if given). The TimePointResponse structure will contain the single value under the response section.
##### Parameters
| Name | Located in | Description | Required | Schema |
|--------------------|------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|--------|
| entityKey | path | Entity Key for the requested time-series (refer Entity Discovery API for information on getting Entity Keys) Example: osdu:master-data--Well:ABC-WELL-001 | Yes | string |
| propertyDescriptor | path | Property Descriptor for the requested time-series (refer Property Discovery API for information on getting Property Descriptors) Example: oil-production-rate.m=measured | Yes | string |
| source | path | Allows consumers to select what source to get time-series from. Example: dor | Yes | string |
| onOrBefore | query | The value returned should be on or before this time. If not given then the current time at the server is used. Time should be represented in Unix milliseconds. Example: 1577858400000 | No | long |
| version | query | Version time in Unix milliseconds. If "version" is not provided, then by default it gets the latest version. See description. Example: 1597858400000 | No | long |
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
|------|--------------------------------------------|
| 200 | Successful response. |
| 400 | Invalid record format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
### /latestVersion
---
#### GET
##### Summary:
Get the latest version relative to now
##### Description:
Gets the latest version relative to now. Version is in Unix milliseconds. Example: 1549638300000
##### Parameters
| Name | Located in | Description | Required | Schema |
|-------------------|------------|-------------|----------|--------|
| data-partition-id | header | Tenant Id | Yes | string |
##### Responses
| Code | Description |
|------|--------------------------------------------|
| 200 | Successful response. |
| 400 | Invalid record format. |
| 401 | Unauthorized |
| 403 | User not authorized to perform the action. |
| 404 | Invalid acl group. |
| 500 | Internal Server Error |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
......@@ -10,7 +10,7 @@ Users can register existing OSDU Storage records as entities in PDDMS, put them
The entity discovery feature enables users to obtain a specific entity or a set of entities along with their related entities.
[Go to Swagger](https://osdu-glab.msft-osdu-test.org/api/pddms/entities/service/timeseries/v1/swagger-ui/index.html){ .md-button }
[Go to Swagger](https://osdu-ship.msft-osdu-test.org/api/pddms/entities/service/timeseries/v1/swagger-ui/index.html){ .md-button }
## Property Discovery
......@@ -20,7 +20,7 @@ The Production Domain Model (PDM) serves as a catalog for the production domain,
The model property discovery feature allows users to query and browse the catalog of available properties using various filter conditions, including entity type and value type.
[Go to Swagger](https://osdu-glab.msft-osdu-test.org/api/pddms/ppsproperties/service/timeseries/v1/swagger-ui/index.html){ .md-button }
[Go to Swagger](https://osdu-ship.msft-osdu-test.org/api/pddms/ppsproperties/service/timeseries/v1/swagger-ui/index.html){ .md-button }
## Source Management
......@@ -28,7 +28,7 @@ This API is used to manage Time-series data sources.
Every time-series to be saved in the system must have 3 key attributes defined: *entity* to which it belongs, specific *model property* it represents and a *data source* it comes from. Source Management APIs allows user to define a list of all possible data sources in the system.
[Go to Swagger](https://osdu-glab.msft-osdu-test.org/api/pddms/ppssource/api/source/v1/swagger-ui/index.html){ .md-button }
[Go to Swagger](https://osdu-ship.msft-osdu-test.org/api/pddms/ppssource/api/source/v1/swagger-ui/index.html){ .md-button }
## Time-series
......@@ -36,7 +36,7 @@ Time-series Consumption API for accessing Production Data.
Operations producing time series are a fundamental concept of the underlying orchestration. An operation can be data from a source system, a calculation or the results of a model based simulation. The time series are handled in a bi-temporal approach, where the version time is the time where the fact has been stored and the physical time where the transaction has happened.
[Go to Swagger](https://osdu-glab.msft-osdu-test.org/api/pddms/ppstimeseries/service/timeseries/v1/swagger-ui/index.html){ .md-button }
[Go to Swagger](https://osdu-ship.msft-osdu-test.org/api/pddms/ppstimeseries/service/timeseries/v1/swagger-ui/index.html){ .md-button }
## Time-series Management
......@@ -44,4 +44,4 @@ This API is designed to ingest time-series data.
One of ingesting data into Production DDMS methods is using the time-series management functionality. The functionality enables users to ingest time-series data through APIs and is currently limited to adding time-series points. The data can be written for set of entities and properties. User access is controlled through entitlements and the ingested data supports bi-temporality.
[Go to Swagger](https://osdu-glab.msft-osdu-test.org/api/pddms/writeback/service/timeseries-management/v1/swagger-ui/index.html){ .md-button }
\ No newline at end of file
[Go to Swagger](https://osdu-ship.msft-osdu-test.org/api/pddms/writeback/service/timeseries-management/v1/swagger-ui/index.html){ .md-button }
\ No newline at end of file
# Comprehensive Architecture
=== "click to zoom in"
[![Navigation tabs enabled]][Navigation tabs enabled]
[Navigation tabs enabled]: ./img/osdu-pddms-architecture-comprehensive.png
# Entity Management Architecture
=== "click to zoom in"
[![Navigation tabs enabled]][Navigation tabs enabled]
[Navigation tabs enabled]: ./img/osdu-pddms-architecture-entity-management.png
# High-level Architecture
=== "click to zoom in"
[![Navigation tabs enabled]][Navigation tabs enabled]
[Navigation tabs enabled]: ./img/osdu-pddms-architecture-high-level.png
# Azure Infrastructure Architecture
=== "click to zoom in"
[![Navigation tabs enabled]][Navigation tabs enabled]
[Navigation tabs enabled]: ./img/osdu-pddms-architecture-infrastructure-azure.png
# Property Management Architecture
=== "click to zoom in"
[![Navigation tabs enabled]][Navigation tabs enabled]
[Navigation tabs enabled]: ./img/osdu-pddms-architecture-property-management.png
# Source Management Architecture
=== "click to zoom in"
[![Navigation tabs enabled]][Navigation tabs enabled]
[Navigation tabs enabled]: ./img/osdu-pddms-architecture-source-management.png
# Time-series Consumption Architecture
=== "click to zoom in"
[![Navigation tabs enabled]][Navigation tabs enabled]
[Navigation tabs enabled]: ./img/osdu-pddms-architecture-timeseries-consumption.png
# Time-series CSV Ingestion Workflow Architecture
=== "click to zoom in"
[![Navigation tabs enabled]][Navigation tabs enabled]
[Navigation tabs enabled]: ./img/osdu-pddms-architecture-timeseries-csv-ingestion-workflow.png
# Time-series Ingestion Architecture
=== "click to zoom in"
[![Navigation tabs enabled]][Navigation tabs enabled]
[Navigation tabs enabled]: ./img/osdu-pddms-architecture-timeseries-ingestion.png
docs/docs/img/ddms.png

43 KiB

docs/docs/img/osdu-pddms-architecture-comprehensive.png

705 KiB

docs/docs/img/osdu-pddms-architecture-entity-management.png

334 KiB

docs/docs/img/osdu-pddms-architecture-high-level.png

528 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment