Data Connectivity Proxy reference

This page summarizes Data Connectivity Proxy (DCP) SQL syntax, INFORMATION_SCHEMA table functions, agent CLI flags, and limitations. Dedicated SQL command and function reference pages will replace these summaries after syntax is finalized.

SQL commands

CREATE DATA CONNECTIVITY PROXY

CREATE [ OR REPLACE ] DATA CONNECTIVITY PROXY <name>
  [ NETWORK_POLICY = <policy_name> ]
  [ ENABLED = { TRUE | FALSE } ]
  [ COMMENT = '<comment>' ]

ALTER DATA CONNECTIVITY PROXY

ALTER DATA CONNECTIVITY PROXY <name> SET
  [ NETWORK_POLICY = <policy_name> ]
  [ ENABLED = { TRUE | FALSE } ]
  [ COMMENT = '<comment>' ]

ALTER DATA CONNECTIVITY PROXY <name> UNSET
  [ NETWORK_POLICY ]
  [ COMMENT ]

ALTER DATA CONNECTIVITY PROXY <name> RENAME TO <new_name>

DESCRIBE DATA CONNECTIVITY PROXY

Returns one row with the current configuration and agent status for a DCP client. Requires USAGE on the object.

DESCRIBE DATA CONNECTIVITY PROXY <name>

Key columns: NAME, ENABLED, EXTERNAL_ACCESS_INTEGRATIONS, NETWORK_POLICY, COMMENT, AGENT_STATUS, BOOTSTRAP_STATUS, BOOTSTRAP_FAILURE_REASON, LAST_BOOTSTRAP_AT, CERT_ROTATION_STATUS, LAST_CERT_ROTATION_AT, OPERATIONAL_CERT_EXPIRES_AT, LAST_AUTH_FAILURE_REASON, LAST_AUTH_FAILURE_AT, DATA_PATH_STATUS, AGENT_HEALTH, AGENT_VERSION, LAST_HEARTBEAT_AT, POLICY_APPLIED_EPOCH, AUTH_TOKEN_EXPIRES_AT, POLICY_EPOCH, REACHABLE_DESTINATIONS.

AGENT_HEALTH is derived (HEALTHY, DEGRADED, or DOWN). See Describe a DCP client.

DROP DATA CONNECTIVITY PROXY

DROP DATA CONNECTIVITY PROXY [ IF EXISTS ] <name>

SHOW DATA CONNECTIVITY PROXIES

SHOW DATA CONNECTIVITY PROXIES [ LIKE '<pattern>' ]

SQL functions

SYSTEM$GENERATE_DATA_CONNECTIVITY_PROXY_BOOTSTRAP_TOKEN

Generates a bootstrap JWT for an agent to authenticate with the DCP control plane.

SYSTEM$GENERATE_DATA_CONNECTIVITY_PROXY_BOOTSTRAP_TOKEN(
  '<dcp_client_name>',
  <validity_days>
)

Arguments:

ArgumentTypeDescription
dcp_client_nameVARCHARName of the DCP object to generate a token for
validity_daysINTEGERToken validity in days (maximum: 90)

Returns a VARCHAR containing the bootstrap JWT. Write this value to the credentials file on the agent host.

Required privilege: ACCOUNTADMIN, or OWNERSHIP on the DCP object.

INFORMATION_SCHEMA table functions

These functions take AGENT_ID as the DCP client name. You need USAGE on that client (the same privilege DESCRIBE requires). If you don’t have it, Snowflake treats the object as not existing.

DCP_CLIENT_EVENT_HISTORY

Returns one row per recorded status transition for a DCP client. A row is the status entered at OCCURRED_AT, not the current state.

TABLE(INFORMATION_SCHEMA.DCP_CLIENT_EVENT_HISTORY(
  AGENT_ID => '<dcp_client_name>'
))

Output columns: AGENT_ID, OCCURRED_AT, EVENT_TYPE, STATUS, REASON, RECORDED_AT

EVENT_TYPE: BOOTSTRAP, CONTROL_PLANE, CERT_ROTATION

STATUS: SUCCESS, FAILURE, PENDING, IN_PROGRESS

DCP_CLIENT_CONNECTION_HISTORY

Returns one row per closed connection from agent telemetry. TIME_RANGE_HOURS is optional (default 24, minimum 1, maximum 2160). The window is on recorded time.

TABLE(INFORMATION_SCHEMA.DCP_CLIENT_CONNECTION_HISTORY(
  AGENT_ID => '<dcp_client_name>'
  [ , TIME_RANGE_HOURS => <hours> ]
))

Output columns: AGENT_ID, CONNECTION_ID, WORKLOAD_ID, DESTINATION_HOST, DESTINATION_PORT, STATUS, REASON, STARTED_AT, ENDED_AT, RECORDED_AT, SETUP_DURATION_MS, BYTES_TO_DESTINATION, BYTES_FROM_DESTINATION

STATUS: SUCCESS, FAILURE, UNKNOWN

DCP_CLIENT_ROUTE_CHECK

Evaluates the live route from Snowflake through a DCP client to a destination. DESTINATION is host:port. Returns one row per stage.

TABLE(INFORMATION_SCHEMA.DCP_CLIENT_ROUTE_CHECK(
  AGENT_ID => '<dcp_client_name>',
  DESTINATION => '<host>:<port>'
))

Output columns: AGENT_ID, STAGE_ORDER, STAGE, STATUS, DETAIL, REASON, CHECKED_AT

STAGE: EGRESS_CONFIG, POLICY, BOOTSTRAP, CONTROL_PLANE, CERTIFICATES, DATA_PATH, SNOWFLAKE_INTERNAL, DESTINATION

STATUS: SUCCESS, FAILURE, IN_PROGRESS, SKIPPED, UNKNOWN

Agent CLI reference

FlagDefaultDescription
--dcp-client-nameRequiredName of the DCP object in Snowflake
--credentials-fileRequiredPath to the file containing the bootstrap JWT
--snowflake-accountRequiredSnowflake account identifier
--metrics-addr127.0.0.1:9092Address for the Prometheus metrics endpoint
--drain-timeout-secs300Seconds to wait for active tunnels to finish on SIGTERM
--health-checkNoneRun bootstrap validation and exit without starting workers
--log-levelwarnLog verbosity: error, warn, info, debug, trace

Limitations

  • DCP is available for use with Snowflake Openflow. Support for additional services is planned.
  • A single DCP object corresponds to one network scope. For data sources in isolated networks, deploy a separate agent and DCP object per network.
  • Corporate HTTP proxy support (routing the agent’s outbound traffic through an enterprise-managed forward proxy) isn’t supported.
  • Active-active load-balancing across agent instances for the same destination isn’t supported.
  • Hitless agent-process upgrade (live TCP session handoff on agent restart) isn’t supported.
  • Agent telemetry shipping to a Snowflake event table is available on AWS. Azure support follows in a subsequent release.