pub struct CreateTableMonitorRequestOptions
pub event: String,
pub monitor_id: String,
pub datasink_name: String,
pub max_consecutive_failures: String,
pub failed_notifications_table_name: String,
pub destination: String,
pub kafka_topic_name: String,
pub increasing_column: String,
pub expression: String,
pub join_table_names: String,
pub join_column_names: String,
pub join_expressions: String,
pub refresh_method: String,
pub refresh_period: String,
pub refresh_start_time: String,
Optional parameters for the /create/tablemonitor endpoint.
Default::default() is the empty set: only options set explicitly are sent, and anything left empty falls back to the server’s own default.
Fields
event: StringType of modification event on the target table to be monitored by this table monitor. Server default: insert.
monitor_id: StringID to use for this monitor instead of a randomly generated one.
datasink_name: StringName of an existing data sink to send change data notifications to.
max_consecutive_failures: StringMaximum number of consecutive failed notification attempts before suspending the stream. A value of -1 (default) disables auto-suspend. This value is by rank and not overall.
failed_notifications_table_name: StringName of a table to which failed stream notifications are written when the stream is suspended. The database will attempt to send notifications persisted in this table when the stream is resumed. The table has the following columns: rank (long), job_id (long), uuid (uuid), timestamp (timestamp), error_msg (string), payload (bytes). Leave this option empty to disable persisting failed notification events.
destination: StringDestination for the output data in format ‘destination_type://path[:port]’. Supported destination types are ‘http’, ‘https’ and ‘kafka’.
kafka_topic_name: StringName of the Kafka topic to publish to if destination in options is specified and is a Kafka broker.
increasing_column: StringColumn on subscribed table that will increase for new records (e.g., TIMESTAMP).
expression: StringFilter expression to limit records for notification.
join_table_names: StringA comma-separated list of tables (optionally with aliases) to include in the join. The monitored table table_name must be included, representing only the newly inserted rows (deltas) since the last notification. Other tables can be any existing tables or views. Aliases can be used with the ‘table_name as alias’ syntax.
join_column_names: StringA comma-separated list of columns or expressions to include from the joined tables. Column references can use table names or aliases defined in ‘join_table_names’. Each column can optionally be aliased using ‘as’. The selected columns will also appear in the notification output.
join_expressions: StringFilter or join expressions to apply when combining the tables. Expressions are standard SQL-style conditions and can reference any table or alias listed in ‘join_table_names’. This corresponds to the WHERE clause of the underlying join, and can include conditions to filter the delta rows.
refresh_method: StringMethod controlling when the table monitor reports changes to the table_name. Server default: on_change.
refresh_period: StringWhen refresh_method is periodic, specifies the period in seconds at which changes are reported.
refresh_start_time: StringWhen refresh_method is periodic, specifies the first time at which changes are reported. Value is a datetime string with format ‘YYYY-MM-DD HH:MM:SS’.
Implementations
Trait Implementations
fn clone(&self) -> CreateTableMonitorRequestOptions
fn clone_from(&mut self, source: &Self)
source. Read more