1 | Bulk Get Request |
Code Block |
---|
title | /v1/batch/data/ds/{datastore-name} |
---|
collapse | true |
---|
| body:
["cm-1",...,"cm-n"] |
curl --location --request |
| GET | 'http://localhost:8080/ncmp/v1/batch/data/ds/ncmp-datastore: | operationalpassthrough-running?resourceIdentifier= | parent%2Fchild%2526options%3D(a%3D1%2Cb%3D2parent/child%26options=(a=1,b=2)&topic=my-topic-name&options=( | fields%3Dschemas%2Fschemafields=schemas/schema)' \ |
--header 'Authorization: Basic Y3BzdXNlcjpjcHNyMGNrcyE=' \ |
--header 'Content-Type: application/json' \ |
--data '[ "40137a9771f84459affa795fa1d633ab", "f5a92ec7a7db4d6fbb0e0ce2803a86cc" ]' |
| Define new get operation "getResourceDataForCmHandles" into ncmp.yml |
2 | Ack Client Request |
Code Block |
---|
title | Response 200 |
---|
collapse | true |
---|
| {"requestId":"123"} |
|
|
3 | DMI Bulk Request |
Code Block |
---|
title | /v1/ch/batch/data/ds/{datastore-name}&topic=topicParamInQuery |
---|
collapse | true |
---|
| body: {"Cmhandles":["cm-1",...,"cm-n"],"requestId":123} |
| The DMI PLugin should be told (included in request) the client topic so that NCMP does not have to 'remember' to relation between request id and client topic!
|
4 | Ack Client Request |
Code Block |
---|
title | Response 202 |
---|
collapse | true |
---|
| |
|
|
5 | Kafka Messages from DMI to NCMP |
Code Block |
---|
title | Topic: ncmp-async-m2m |
---|
collapse | true |
---|
| Message Details TBD |
|
|
6 | Kafka Message(s) from NCMP to Client Table
|
Code Block |
---|
title | Topic: <client topic> |
---|
collapse | true |
---|
| Message Details TBD |
|
|
7 | Alternative for 4/5 → Non responding DMI. NCMP will have to create error message detailing cm-handles |
| See decision # 8 and 9 |
8 | Response message structure ? (Flow no. 5) Non responding DMI-plugin |
Code Block |
---|
title | Non responding DMI-plugin |
---|
collapse | true |
---|
| {
"timestamp":"2023-03-01T23:00:00.345-0400",
"requestId":123,
"error": "DMI Service Unavailable, {service-name}",
"Cmhandles":["cm-1",...,"cm-n"]
} |
|
|
9 | Response message structure ? (Flow no. 5) Non existing cm handles |
Code Block |
---|
title | Non existing cm handles |
---|
collapse | true |
---|
| {
"timestamp":"2023-03-01T23:00:00.345-0400",
"requestId":123,
"error":"Cm-Handle not found",
"Cmhandles":["cm-1",...,"cm-n"]
} |
|
|
10 | Non Ready cm handles |
Code Block |
---|
title | Non READY existing cm handles |
---|
collapse | true |
---|
| {
"timestamp":"2023-03-01T23:00:00.345-0400",
"requestId":123,
"error":"Cm-Handle not in READY state.",
"Cmhandles":["cm-1",...,"cm-n"]
} |
|
|
11 | URL pattern for DMI-Plugin bulk endpoints | Existing DMI endpoints are : /v1/ch/{cmHandle}/data/ds/{datastore-name}
datastore-name: - ncmp-datastore:passthrough-operational
- ncmp-datastore:passthrough-running
...&topic=topicParamInQuery
CPS Proposed : /v1/ch/batch/data/ds/{datastore-name} ...&topic=topicParamInQuery cm handle ids and requestid into body |
|