URL: http://<db.host>:<db.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.
Input Parameter Description
Name | Type | Description | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
table_name | string | Name of the table to monitor, in [schema_name.]table_name format, using standard name resolution rules. | ||||||||||||||||||||||||||||||||||||
options | map of string to strings | Optional parameters. The default value is an empty map ( {} ).
|
Output Parameter Description
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_response' 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. |