QABDI REST API for index maintenance

The Qlik Associative Big Data Index REST API provides a REST gateway to access the public RPCs of the Index Maintenance Service. The REST API module is used to add data to an index and trigger an incremental update of the index with of the data model to include the new data.

Sending a REST request

The following endpoints are currently supported.

To add a file to the index:

POST https://localhost:8080/v1/bdi/singlefileadd

To trigger a new index update without waiting for the index delay interval to elapse:

POST https://localhost:8080/v1/bdi/triggersingleupdate

For example, to notify the indexing service of a new file, the following curl command can be used:

curl -k -X POST -H "Content-Type: application/json" -d "{\"file_path\":\"/path/to/my/file.parquet\"}" "https://localhost:8080/v1/bdi/singlefileadd"

To force the Index Manager to start indexing any new files that have already been notified, the following curl command can be used:

curl -k -X POST -H "Content-Type: application/json" -d "{\"schema_name\":\"/path/to/my/schema.json\"}" "https://localhost:8080/v1/bdi/triggersingleupdate"

The backslash characters are currently necessary to escape the quotation marks because the event_infos Potobuf message structure is treated as a member of a wrapping JSON object by the Ggrpc-gateway. Its contents is a string that must also be a JSON structure sent to the Index Maintenance Service.

These curl statements result in a REST API POST to the Gateway server on port 8080 which in turn forwards those POSTs to as grpc RPC calls to the Index Maintenance Service.

The REST POSTs can be issued from a host other than the one on which the Gateway Service and Index Maintenance Service are running. then the localhost in the curl statements must be replaced with the IP address of the host on which the Gateway Service and Index Maintenance Service are running.

Did this information help you?

Thanks for letting us know. Is there anything you'd like to tell us about this topic?

Can you tell us why it did not help you and how we can improve it?