Skip to main content

CREATE SINK

Grammar only. This statement describes a connector effect target. It does not create durable row storage, dispatch an effect or enable SQL writes.

Syntaxโ€‹

CREATE SINK name INTO connector_kind CONNECTION connection_name
[ [WITH] (option = option_value [, ...]) ];
option_value := 'text' | SECRET('credential_reference')

Names and connector kinds are identifiers. The option list is optional and, when present, nonempty. WITH is optional only before a supplied list. The grammar does not resolve a connection name or validate option names, duplicates or values against a connector implementation.

Examplesโ€‹

These examples illustrate syntax only:

CREATE SINK deliveries INTO HTTP CONNECTION remote_api;
CREATE SINK notices INTO HTTP CONNECTION remote_api WITH (path = '/events');

path is an illustrative option, not an implemented SQL sink configuration. There is no INSERT INTO sink, SELECT INTO or continuous query-to-sink form in the SQL grammar.

Meaning and current interfaceโ€‹

A sink represents external I/O through a connector, with recorded intent, authorization for an attempt and a captured outcome. It is distinct from a Table or KV mutation. Replay reads the recorded outcome; it must not redispatch. An unknown remote outcome still needs the connector's reconciliation policy.

Use the existing effect APIs to perform supported HTTP/gRPC operations. Naming a sink would not authorize dispatch, resolve credentials or promise cancellation of remote work. See CREATE CONNECTION for the configuration syntax and secret references.

See streaming and effects for query-to-effect boundaries and INSERT for the absence of SQL writes.

Source: createSink.