Version:

/create/tablemonitor

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.

Input Parameter Description

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 ( {} ).

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_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:

Name Type Description
topic_id string The ZMQ topic ID to subscribe to for inserted records.
table_name string Value of input parameter table_name.
type_schema string JSON Avro schema of the table, for use in decoding published records.

Empty string in case of an error.