URL: http://GPUDB_IP_ADDRESS:GPUDB_PORT/create/tablemonitor
Creates a monitor that watches for new records inserted into a particular table (identified by input parameter table_name) and forwards copies to subscribers via ZMQ. After this call completes, subscribe to the returned output parameter topic_id on the ZMQ table monitor port (default 9002). Each time an insert operation on the table completes, a multipart message is published for that topic; the first part contains only the topic ID, and each subsequent part contains one binary-encoded Avro object that was inserted. The monitor will continue to run (regardless of whether or not there are any subscribers) until deactivated with /clear/tablemonitor.
Name | Type | Description |
---|---|---|
table_name | string | Name of the table to monitor. Must not refer to a collection. |
options | map of string to strings | Optional parameters. The default value is an empty map ( {} ). |
The GPUdb server embeds the endpoint response inside a standard response structure which contains status information and the actual response to the query. Here is a description of the various fields of the wrapper:
Name | Type | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
status | String | 'OK' or 'ERROR' | ||||||||||||
message | String | Empty if success or an error message | ||||||||||||
data_type | String | 'create_table_monitor_request' or 'none' in case of an error | ||||||||||||
data | String | Empty string | ||||||||||||
data_str | JSON or String | This embedded JSON represents the result of the /create/tablemonitor endpoint:
Empty string in case of an error. |