URL: http://GPUDB_IP_ADDRESS:GPUDB_PORT/create/tablemonitor
Creates a monitor that watches for a single table modification event type (insert, update, or delete) on a particular table (identified by input parameter table_name) and forwards event notifications 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 operation of the given type 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 corresponds to the event and can be decoded using output parameter type_schema. The monitor will continue to run (regardless of whether or not there are any subscribers) until deactivated with /clear/tablemonitor.
For more information on table monitors, see Table Monitors.
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. |