Cloud and BYOC for Orca Agent Engine are in Private Preview — request an invite
Docs

Sinks

Deliver Pulsar records to external systems with sink connectors in Orca Agent Engine on StreamNative Cloud.

A sink connector reads records from Pulsar topics and writes them to an external system. Use the connector catalog to discover built-in sink types, or deploy a sink from an uploaded NAR package.

This resource is a StreamNative Cloud capability served under /apis/cloud.sn.io/v1. A self-hosted engine does not advertise the cloud.sn.io extension group. The ork CLI and TypeScript SDK check GET /apis and report that the capability is unavailable before sending the resource request.

Get your registry endpoint

Registry endpoint

Examples on this page target your registry endpoint - the deployment host root, with no path suffix. For CLI, set ORCA_REGISTRY_URL and exactly one of ORCA_ACCESS_TOKEN (Bearer) or ORCA_API_KEY (x-api-key). For TypeScript SDK, set ORCA_BASE_URL / ORCA_API_KEY (Bearer). To find the endpoint, see Connect to the registry.

Sink configuration fields

FieldTypeRequiredDescription
namestringYesSink name. The route also carries this name.
tenant, namespacestringNoPulsar tenant and namespace. The CLI defaults to public/default.
archivestringOne package sourcebuiltin://<type>, an uploaded sink:// package, or another package URL.
classNamestringFor custom packagesSink implementation class.
inputs or topicsPatternarray or stringYesSource Pulsar topics or topic regex.
connectionstringRequired by the CLI on createWorkspace connection. Immutable after create.
configsobjectConnector-specificFields described by the sink catalog.
inputSpecsobjectNoPer-topic consumer configuration.
parallelismintegerNoSink instances. Defaults to 1 in the CLI.
processingGuaranteesenumNoDelivery guarantee.
resourcesobjectNoCPU, RAM, and disk per instance.
secretsobjectNoSecret mappings consumed by the connector.
snServiceAccountstringNoStreamNative Cloud service account used by the sink.

Discover sink types

ork sinks available-sinks -o json
ork sinks config-definition data-generator -o json

Create a sink

This example uses the data-generator sink and its defaults. It is the same built-in connector used by the Cloud CLI end-to-end lifecycle test; other sink types require the fields returned by their catalog definition.

ork sinks create \
  --name generated-output \
  --sink-type data-generator \
  --inputs persistent://public/default/events \
  --connection pulsar-main \
  --parallelism 1

Operate sinks

OperationCLITypeScriptREST
Listork sinks listorca.cloud.connectors.sinks.list()GET /apis/cloud.sn.io/v1/connectors/sinks
Retrieve configork sinks get <name>.retrieve(name)GET .../sinks/{name}
Updateork sinks update <name>.update(name, params)PUT .../sinks/{name}
Deleteork sinks delete <name>.delete(name)DELETE .../sinks/{name}
Start/stop/restartork sinks <action> <name> [instance].start, .stop, .restart and instance variantsPOST .../{name}:<action>
Statusork sinks status <name> [instance].retrieveStatus / .retrieveInstanceStatusGET .../{name}/status

Create and update are multipart requests. Connection assignment is immutable during updates. The CLI also preserves the existing autoAck, processingGuarantees, and retainOrdering values because the current runtime treats them as immutable.

Permissions

Treat every credential that can call the Workspace's cloud.sn.io routes as full access to its sinks, and separate access with Workspaces. See Control registry access.

What's next

On this page