A data sink is reference object for a data target that is external to the database. It consists of the location & connection information to that external target. A data sink can make use of a credential object for storing remote authentication information.
A data sink name must adhere to the standard naming criteria. Each data sink exists within a schema and follows the standard name resolution rules for tables.
The following data sink types are supported:
- CData (CData Software source-specific JDBC driver; see driver list for the full list of supported JDBC drivers)
- JDBC
- Apache Kafka
- HTTP/HTTPS Webhook
Data sinks perform no function by themselves, but act as proxies for transmitting data when referenced as a destination in the creation of a table monitor (see also the CREATE STREAM command in SQL).
Note
- CData data sinks can use a JDBC credential for authentication.
- Kafka data sinks will be validated upon creation, by default, and will fail to be created if an authorized connection cannot be established.
Managing Data Sinks
A data sink can be managed using the following API endpoint calls. For managing data sinks in SQL, see CREATE DATA SINK.
API Call | Description |
---|---|
/create/datasink | Creates a data sink, given a location and connection information |
/alter/datasink | Modifies the properties of a data sink, validating the new connection |
/drop/datasink | Removes the data sink reference from the database; optionally removing all dependent table monitors as well |
/show/datasink | Outputs the data sink properties |
/grant/permission | Grants the permission for a user to connect to a data sink |
/revoke/permission | Revokes the permission for a user to connect to a data sink |
Creating a Data Sink
To create a data sink, kin_dsink, that targets Apache Kafka, in Python:
|
|
Provider-Specific Syntax
Several authentication schemes across multiple providers are supported.
CData
|
|
JDBC
|
|
Kafka
|
|
|
|
Webhook
|
|
|
|