See also: JIRA link:
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
...
Code Block | ||
---|---|---|
| ||
{ "info_job_data_schema": { "topicName": "example_topic", "key": "example_key", "message": "example_message" }, "info_type_information": {} } |
{
"info_job_data_schema": {
"topicName": "example_topic",
"key": "example_key",
"message": "example_message"
},
"info_type_information": {}
}
b) Onboarding a producer in ICS:
PUT {{baseUrl}}/data-producer/v1/info-producers/{{infoProducerId}}
Body:
Code Block | ||
---|---|---|
| ||
{
"supported_info_types": ["example_info_type_id"],
"info_job_callback_url": "http://example.com/job_callback", //POST JobCallbackUrl() + "/" + infoJob.getId();
"info_producer_supervision_callback_url": "http://example.com/producer_supervision_callback"
} |
"jobCallbackUrl" and "producerSupervisionCallbackUrl" are used for communication between a service and external producers in the context of the Information Control Service (ICS).
...
PUT {{baseUrl}}/data-consumer/v1/info-jobs/{{infoJobId}}
Body:
Code Block | ||
---|---|---|
| ||
{
"info_type_id": "example_info_type_id",
"job_owner": "example_owner",
"job_definition": {
"example_key1": "example_value1",
"example_key2": "example_value2"
},
"job_result_uri": "http://example.com/job_result",
"status_notification_uri": "http://example.com/status_notification"
} |
1. Authorization check: POST to the Authentication Agent (from the starting config config/application.yaml )
2. Validation: The URLs seem to be used only for URI validation (?)
3. Consumer starts a job on the Producer POST producerCallbacks.startInfoSubscriptionJob->restClient.post(producer.getJobCallbackUrl(), jobCallbackBody(infoJob))
ICS Callbacks Flow
...
- Data producer API: Information Type and Information Producer
- Producer CALLBACKS: GET healthcheck (supervision); Information Job Creation/Modification/Delete
- Data consumer API: Information Type Subscription Creation/Modification/Delete (REGISTERED/UNREGISTERED); Information Job (Creation/Modification/Delete) and GET Information Type
- Consumer CALLBACKS: POST Information Type Status: REGISTERED/UNREGISTERED invoked when a Information type status has been changed.
- Service status API: Number of Producers Types and Jobs