| --- |
| id: io-use |
| title: How to use Pulsar connectors |
| sidebar_label: "Use" |
| original_id: io-use |
| --- |
| |
| ````mdx-code-block |
| import Tabs from '@theme/Tabs'; |
| import TabItem from '@theme/TabItem'; |
| ```` |
| |
| |
| This guide describes how to use Pulsar connectors. |
| |
| ## Install a connector |
| |
| Pulsar bundles several [builtin connectors](io-connectors) used to move data in and out of commonly used systems (such as database and messaging system). Optionally, you can create and use your desired non-builtin connectors. |
| |
| :::note |
| |
| When using a non-builtin connector, you need to specify the path of a archive file for the connector. |
| |
| ::: |
| |
| To set up a builtin connector, follow |
| the instructions [here](getting-started-standalone.md#installing-builtin-connectors). |
| |
| After the setup, the builtin connector is automatically discovered by Pulsar brokers (or function-workers), so no additional installation steps are required. |
| |
| ## Configure a connector |
| |
| You can configure the following information: |
| |
| * [Configure a default storage location for a connector](#configure-a-default-storage-location-for-a-connector) |
| |
| * [Configure a connector with a YAML file](#configure-a-connector-with-yaml-file) |
| |
| ### Configure a default storage location for a connector |
| |
| To configure a default folder for builtin connectors, set the `connectorsDirectory` parameter in the `./conf/functions_worker.yml` configuration file. |
| |
| **Example** |
| |
| Set the `./connectors` folder as the default storage location for builtin connectors. |
| |
| ``` |
| |
| ######################## |
| # Connectors |
| ######################## |
| |
| connectorsDirectory: ./connectors |
| |
| ``` |
| |
| ### Configure a connector with a YAML file |
| |
| To configure a connector, you need to provide a YAML configuration file when creating a connector. |
| |
| The YAML configuration file tells Pulsar where to locate connectors and how to connect connectors with Pulsar topics. |
| |
| **Example 1** |
| |
| Below is a YAML configuration file of a Cassandra sink, which tells Pulsar: |
| |
| * Which Cassandra cluster to connect |
| |
| * What is the `keyspace` and `columnFamily` to be used in Cassandra for collecting data |
| |
| * How to map Pulsar messages into Cassandra table key and columns |
| |
| ```shell |
| |
| tenant: public |
| namespace: default |
| name: cassandra-test-sink |
| ... |
| # cassandra specific config |
| configs: |
| roots: "localhost:9042" |
| keyspace: "pulsar_test_keyspace" |
| columnFamily: "pulsar_test_table" |
| keyname: "key" |
| columnName: "col" |
| |
| ``` |
| |
| **Example 2** |
| |
| Below is a YAML configuration file of a Kafka source. |
| |
| ```shell |
| |
| configs: |
| bootstrapServers: "pulsar-kafka:9092" |
| groupId: "test-pulsar-io" |
| topic: "my-topic" |
| sessionTimeoutMs: "10000" |
| autoCommitEnabled: "false" |
| |
| ``` |
| |
| **Example 3** |
| |
| Below is a YAML configuration file of a PostgreSQL JDBC sink. |
| |
| ```shell |
| |
| configs: |
| userName: "postgres" |
| password: "password" |
| jdbcUrl: "jdbc:postgresql://localhost:5432/test_jdbc" |
| tableName: "test_jdbc" |
| |
| ``` |
| |
| ## Get available connectors |
| |
| Before starting using connectors, you can perform the following operations: |
| |
| * [Reload connectors](#reload) |
| |
| * [Get a list of available connectors](#get-available-connectors) |
| |
| ### `reload` |
| |
| If you add or delete a nar file in a connector folder, reload the available builtin connector before using it. |
| |
| #### Source |
| |
| Use the `reload` subcommand. |
| |
| ```shell |
| |
| $ pulsar-admin sources reload |
| |
| ``` |
| |
| For more information, see [`here`](io-cli.md#reload). |
| |
| #### Sink |
| |
| Use the `reload` subcommand. |
| |
| ```shell |
| |
| $ pulsar-admin sinks reload |
| |
| ``` |
| |
| For more information, see [`here`](io-cli.md#reload-1). |
| |
| ### `available` |
| |
| After reloading connectors (optional), you can get a list of available connectors. |
| |
| #### Source |
| |
| Use the `available-sources` subcommand. |
| |
| ```shell |
| |
| $ pulsar-admin sources available-sources |
| |
| ``` |
| |
| #### Sink |
| |
| Use the `available-sinks` subcommand. |
| |
| ```shell |
| |
| $ pulsar-admin sinks available-sinks |
| |
| ``` |
| |
| ## Run a connector |
| |
| To run a connector, you can perform the following operations: |
| |
| * [Create a connector](#create) |
| |
| * [Start a connector](#start) |
| |
| * [Run a connector locally](#localrun) |
| |
| ### `create` |
| |
| You can create a connector using **Admin CLI**, **REST API** or **JAVA admin API**. |
| |
| #### Source |
| |
| Create a source connector. |
| |
| ````mdx-code-block |
| <Tabs |
| defaultValue="Admin CLI" |
| values={[{"label":"Admin CLI","value":"Admin CLI"},{"label":"REST API","value":"REST API"},{"label":"Java Admin API","value":"Java Admin API"}]}> |
| |
| <TabItem value="Admin CLI"> |
| |
| Use the `create` subcommand. |
| |
| ``` |
| |
| $ pulsar-admin sources create options |
| |
| ``` |
| |
| For more information, see [here](io-cli.md#create). |
| |
| </TabItem> |
| <TabItem value="REST API"> |
| |
| Send a `POST` request to this endpoint: {@inject: endpoint|POST|/admin/v3/sources/:tenant/:namespace/:sourceName|operation/registerSource?version=@pulsar:version_number@} |
| |
| </TabItem> |
| <TabItem value="Java Admin API"> |
| |
| * Create a source connector with a **local file**. |
| |
| ```java |
| |
| void createSource(SourceConfig sourceConfig, |
| String fileName) |
| throws PulsarAdminException |
| |
| ``` |
| |
| **Parameter** |
| |
| |Name|Description |
| |---|--- |
| `sourceConfig` | The source configuration object |
| |
| **Exception** |
| |
| |Name|Description| |
| |---|--- |
| | `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`createSource`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#createSource-SourceConfig-java.lang.String-). |
| |
| * Create a source connector using a **remote file** with a URL from which fun-pkg can be downloaded. |
| |
| ```java |
| |
| void createSourceWithUrl(SourceConfig sourceConfig, |
| String pkgUrl) |
| throws PulsarAdminException |
| |
| ``` |
| |
| Supported URLs are `http` and `file`. |
| |
| **Example** |
| |
| * HTTP: http://www.repo.com/fileName.jar |
| |
| * File: file:///dir/fileName.jar |
| |
| **Parameter** |
| |
| Parameter| Description |
| |---|--- |
| `sourceConfig` | The source configuration object |
| `pkgUrl` | URL from which pkg can be downloaded |
| |
| **Exception** |
| |
| |Name|Description| |
| |---|--- |
| | `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`createSourceWithUrl`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#createSourceWithUrl-SourceConfig-java.lang.String-). |
| |
| </TabItem> |
| |
| </Tabs> |
| ```` |
| |
| #### Sink |
| |
| Create a sink connector. |
| |
| ````mdx-code-block |
| <Tabs |
| defaultValue="Admin CLI" |
| values={[{"label":"Admin CLI","value":"Admin CLI"},{"label":"REST API","value":"REST API"},{"label":"Java Admin API","value":"Java Admin API"}]}> |
| |
| <TabItem value="Admin CLI"> |
| |
| Use the `create` subcommand. |
| |
| ``` |
| |
| $ pulsar-admin sinks create options |
| |
| ``` |
| |
| For more information, see [here](io-cli.md#create-1). |
| |
| </TabItem> |
| <TabItem value="REST API"> |
| |
| Send a `POST` request to this endpoint: {@inject: endpoint|POST|/admin/v3/sinks/:tenant/:namespace/:sinkName|operation/registerSink?version=@pulsar:version_number@} |
| |
| </TabItem> |
| <TabItem value="Java Admin API"> |
| |
| * Create a sink connector with a **local file**. |
| |
| ```java |
| |
| void createSink(SinkConfig sinkConfig, |
| String fileName) |
| throws PulsarAdminException |
| |
| ``` |
| |
| **Parameter** |
| |
| |Name|Description |
| |---|--- |
| `sinkConfig` | The sink configuration object |
| |
| **Exception** |
| |
| |Name|Description| |
| |---|--- |
| | `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`createSink`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#createSink-SinkConfig-java.lang.String-). |
| |
| * Create a sink connector using a **remote file** with a URL from which fun-pkg can be downloaded. |
| |
| ```java |
| |
| void createSinkWithUrl(SinkConfig sinkConfig, |
| String pkgUrl) |
| throws PulsarAdminException |
| |
| ``` |
| |
| Supported URLs are `http` and `file`. |
| |
| **Example** |
| |
| * HTTP: http://www.repo.com/fileName.jar |
| |
| * File: file:///dir/fileName.jar |
| |
| **Parameter** |
| |
| Parameter| Description |
| |---|--- |
| `sinkConfig` | The sink configuration object |
| `pkgUrl` | URL from which pkg can be downloaded |
| |
| **Exception** |
| |
| |Name|Description| |
| |---|--- |
| | `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`createSinkWithUrl`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#createSinkWithUrl-SinkConfig-java.lang.String-). |
| |
| </TabItem> |
| |
| </Tabs> |
| ```` |
| |
| ### `start` |
| |
| You can start a connector using **Admin CLI** or **REST API**. |
| |
| #### Source |
| |
| Start a source connector. |
| |
| ````mdx-code-block |
| <Tabs |
| defaultValue="Admin CLI" |
| values={[{"label":"Admin CLI","value":"Admin CLI"},{"label":"REST API","value":"REST API"}]}> |
| |
| <TabItem value="Admin CLI"> |
| |
| Use the `start` subcommand. |
| |
| ``` |
| |
| $ pulsar-admin sources start options |
| |
| ``` |
| |
| For more information, see [here](io-cli.md#start). |
| |
| </TabItem> |
| <TabItem value="REST API"> |
| |
| * Start **all** source connectors. |
| |
| Send a `POST` request to this endpoint: {@inject: endpoint|POST|/admin/v3/sources/:tenant/:namespace/:sourceName/start|operation/startSource?version=@pulsar:version_number@} |
| |
| * Start a **specified** source connector. |
| |
| Send a `POST` request to this endpoint: {@inject: endpoint|POST|/admin/v3/sources/:tenant/:namespace/:sourceName/:instanceId/start|operation/startSource?version=@pulsar:version_number@} |
| |
| </TabItem> |
| |
| </Tabs> |
| ```` |
| |
| #### Sink |
| |
| Start a sink connector. |
| |
| ````mdx-code-block |
| <Tabs |
| defaultValue="Admin CLI" |
| values={[{"label":"Admin CLI","value":"Admin CLI"},{"label":"REST API","value":"REST API"}]}> |
| |
| <TabItem value="Admin CLI"> |
| |
| Use the `start` subcommand. |
| |
| ``` |
| |
| $ pulsar-admin sinks start options |
| |
| ``` |
| |
| For more information, see [here](io-cli.md#start-1). |
| |
| </TabItem> |
| <TabItem value="REST API"> |
| |
| * Start **all** sink connectors. |
| |
| Send a `POST` request to this endpoint: {@inject: endpoint|POST|/admin/v3/sources/:tenant/:namespace/:sinkName/start|operation/startSink?version=@pulsar:version_number@} |
| |
| * Start a **specified** sink connector. |
| |
| Send a `POST` request to this endpoint: {@inject: endpoint|POST|/admin/v3/sinks/:tenant/:namespace/:sourceName/:instanceId/start|operation/startSink?version=@pulsar:version_number@} |
| |
| </TabItem> |
| |
| </Tabs> |
| ```` |
| |
| ### `localrun` |
| |
| You can run a connector locally rather than deploying it on a Pulsar cluster using **Admin CLI**. |
| |
| #### Source |
| |
| Run a source connector locally. |
| |
| ````mdx-code-block |
| <Tabs |
| defaultValue="Admin CLI" |
| values={[{"label":"Admin CLI","value":"Admin CLI"}]}> |
| |
| <TabItem value="Admin CLI"> |
| |
| Use the `localrun` subcommand. |
| |
| ``` |
| |
| $ pulsar-admin sources localrun options |
| |
| ``` |
| |
| For more information, see [here](io-cli.md#localrun). |
| |
| </TabItem> |
| |
| </Tabs> |
| ```` |
| |
| #### Sink |
| |
| Run a sink connector locally. |
| |
| ````mdx-code-block |
| <Tabs |
| defaultValue="Admin CLI" |
| values={[{"label":"Admin CLI","value":"Admin CLI"}]}> |
| |
| <TabItem value="Admin CLI"> |
| |
| Use the `localrun` subcommand. |
| |
| ``` |
| |
| $ pulsar-admin sinks localrun options |
| |
| ``` |
| |
| For more information, see [here](io-cli.md#localrun-1). |
| |
| </TabItem> |
| |
| </Tabs> |
| ```` |
| |
| ## Monitor a connector |
| |
| To monitor a connector, you can perform the following operations: |
| |
| * [Get the information of a connector](#get) |
| |
| * [Get the list of all running connectors](#list) |
| |
| * [Get the current status of a connector](#status) |
| |
| ### `get` |
| |
| You can get the information of a connector using **Admin CLI**, **REST API** or **JAVA admin API**. |
| |
| #### Source |
| |
| Get the information of a source connector. |
| |
| ````mdx-code-block |
| <Tabs |
| defaultValue="Admin CLI" |
| values={[{"label":"Admin CLI","value":"Admin CLI"},{"label":"REST API","value":"REST API"},{"label":"Java Admin API","value":"Java Admin API"}]}> |
| |
| <TabItem value="Admin CLI"> |
| |
| Use the `get` subcommand. |
| |
| ``` |
| |
| $ pulsar-admin sources get options |
| |
| ``` |
| |
| For more information, see [here](io-cli.md#get). |
| |
| </TabItem> |
| <TabItem value="REST API"> |
| |
| Send a `GET` request to this endpoint: {@inject: endpoint|GET|/admin/v3/sources/:tenant/:namespace/:sourceName|operation/getSourceInfo?version=@pulsar:version_number@} |
| |
| </TabItem> |
| <TabItem value="Java Admin API"> |
| |
| ```java |
| |
| SourceConfig getSource(String tenant, |
| String namespace, |
| String source) |
| throws PulsarAdminException |
| |
| ``` |
| |
| **Example** |
| |
| This is a sourceConfig. |
| |
| ```java |
| |
| { |
| "tenant": "tenantName", |
| "namespace": "namespaceName", |
| "name": "sourceName", |
| "className": "className", |
| "topicName": "topicName", |
| "configs": {}, |
| "parallelism": 1, |
| "processingGuarantees": "ATLEAST_ONCE", |
| "resources": { |
| "cpu": 1.0, |
| "ram": 1073741824, |
| "disk": 10737418240 |
| } |
| } |
| |
| ``` |
| |
| This is a sourceConfig example. |
| |
| ``` |
| |
| { |
| "tenant": "public", |
| "namespace": "default", |
| "name": "debezium-mysql-source", |
| "className": "org.apache.pulsar.io.debezium.mysql.DebeziumMysqlSource", |
| "topicName": "debezium-mysql-topic", |
| "configs": { |
| "database.user": "debezium", |
| "database.server.id": "184054", |
| "database.server.name": "dbserver1", |
| "database.port": "3306", |
| "database.hostname": "localhost", |
| "database.password": "dbz", |
| "database.history.pulsar.service.url": "pulsar://127.0.0.1:6650", |
| "value.converter": "org.apache.kafka.connect.json.JsonConverter", |
| "database.whitelist": "inventory", |
| "key.converter": "org.apache.kafka.connect.json.JsonConverter", |
| "database.history": "org.apache.pulsar.io.debezium.PulsarDatabaseHistory", |
| "pulsar.service.url": "pulsar://127.0.0.1:6650", |
| "database.history.pulsar.topic": "history-topic2" |
| }, |
| "parallelism": 1, |
| "processingGuarantees": "ATLEAST_ONCE", |
| "resources": { |
| "cpu": 1.0, |
| "ram": 1073741824, |
| "disk": 10737418240 |
| } |
| } |
| |
| ``` |
| |
| **Exception** |
| |
| Exception name | Description |
| |---|--- |
| `PulsarAdminException.NotAuthorizedException` | You don't have the admin permission |
| `PulsarAdminException.NotFoundException` | Cluster doesn't exist |
| `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`getSource`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#getSource-java.lang.String-java.lang.String-java.lang.String-). |
| |
| </TabItem> |
| |
| </Tabs> |
| ```` |
| |
| #### Sink |
| |
| Get the information of a sink connector. |
| |
| ````mdx-code-block |
| <Tabs |
| defaultValue="Admin CLI" |
| values={[{"label":"Admin CLI","value":"Admin CLI"},{"label":"REST API","value":"REST API"},{"label":"Java Admin API","value":"Java Admin API"}]}> |
| |
| <TabItem value="Admin CLI"> |
| |
| Use the `get` subcommand. |
| |
| ``` |
| |
| $ pulsar-admin sinks get options |
| |
| ``` |
| |
| For more information, see [here](io-cli.md#get-1). |
| |
| </TabItem> |
| <TabItem value="REST API"> |
| |
| Send a `GET` request to this endpoint: {@inject: endpoint|GET|/admin/v3/sinks/:tenant/:namespace/:sinkName|operation/getSinkInfo?version=@pulsar:version_number@} |
| |
| </TabItem> |
| <TabItem value="Java Admin API"> |
| |
| ```java |
| |
| SinkConfig getSink(String tenant, |
| String namespace, |
| String sink) |
| throws PulsarAdminException |
| |
| ``` |
| |
| **Example** |
| |
| This is a sinkConfig. |
| |
| ```json |
| |
| { |
| "tenant": "tenantName", |
| "namespace": "namespaceName", |
| "name": "sinkName", |
| "className": "className", |
| "inputSpecs": { |
| "topicName": { |
| "isRegexPattern": false |
| } |
| }, |
| "configs": {}, |
| "parallelism": 1, |
| "processingGuarantees": "ATLEAST_ONCE", |
| "retainOrdering": false, |
| "autoAck": true |
| } |
| |
| ``` |
| |
| This is a sinkConfig example. |
| |
| ```json |
| |
| { |
| "tenant": "public", |
| "namespace": "default", |
| "name": "pulsar-postgres-jdbc-sink", |
| "className": "org.apache.pulsar.io.jdbc.PostgresJdbcAutoSchemaSink", |
| "inputSpecs": { |
| "pulsar-postgres-jdbc-sink-topic": { |
| "isRegexPattern": false |
| } |
| }, |
| "configs": { |
| "password": "password", |
| "jdbcUrl": "jdbc:postgresql://localhost:5432/pulsar_postgres_jdbc_sink", |
| "userName": "postgres", |
| "tableName": "pulsar_postgres_jdbc_sink" |
| }, |
| "parallelism": 1, |
| "processingGuarantees": "ATLEAST_ONCE", |
| "retainOrdering": false, |
| "autoAck": true |
| } |
| |
| ``` |
| |
| **Parameter description** |
| |
| Name| Description |
| |---|--- |
| `tenant` | Tenant name |
| `namespace` | Namespace name |
| `sink` | Sink name |
| |
| For more information, see [`getSink`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#getSink-java.lang.String-java.lang.String-java.lang.String-). |
| |
| </TabItem> |
| |
| </Tabs> |
| ```` |
| |
| ### `list` |
| |
| You can get the list of all running connectors using **Admin CLI**, **REST API** or **JAVA admin API**. |
| |
| #### Source |
| |
| Get the list of all running source connectors. |
| |
| ````mdx-code-block |
| <Tabs |
| defaultValue="Admin CLI" |
| values={[{"label":"Admin CLI","value":"Admin CLI"},{"label":"REST API","value":"REST API"},{"label":"Java Admin API","value":"Java Admin API"}]}> |
| |
| <TabItem value="Admin CLI"> |
| |
| Use the `list` subcommand. |
| |
| ``` |
| |
| $ pulsar-admin sources list options |
| |
| ``` |
| |
| For more information, see [here](io-cli.md#list). |
| |
| </TabItem> |
| <TabItem value="REST API"> |
| |
| Send a `GET` request to this endpoint: {@inject: endpoint|GET|/admin/v3/sources/:tenant/:namespace/|operation/listSources?version=@pulsar:version_number@} |
| |
| </TabItem> |
| <TabItem value="Java Admin API"> |
| |
| ```java |
| |
| List<String> listSources(String tenant, |
| String namespace) |
| throws PulsarAdminException |
| |
| ``` |
| |
| **Response example** |
| |
| ```java |
| |
| ["f1", "f2", "f3"] |
| |
| ``` |
| |
| **Exception** |
| |
| Exception name | Description |
| |---|--- |
| `PulsarAdminException.NotAuthorizedException` | You don't have the admin permission |
| `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`listSource`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#listSources-java.lang.String-java.lang.String-). |
| |
| </TabItem> |
| |
| </Tabs> |
| ```` |
| |
| #### Sink |
| |
| Get the list of all running sink connectors. |
| |
| ````mdx-code-block |
| <Tabs |
| defaultValue="Admin CLI" |
| values={[{"label":"Admin CLI","value":"Admin CLI"},{"label":"REST API","value":"REST API"},{"label":"Java Admin API","value":"Java Admin API"}]}> |
| |
| <TabItem value="Admin CLI"> |
| |
| Use the `list` subcommand. |
| |
| ``` |
| |
| $ pulsar-admin sinks list options |
| |
| ``` |
| |
| For more information, see [here](io-cli.md#list-1). |
| |
| </TabItem> |
| <TabItem value="REST API"> |
| |
| Send a `GET` request to this endpoint: {@inject: endpoint|GET|/admin/v3/sinks/:tenant/:namespace/|operation/listSinks?version=@pulsar:version_number@} |
| |
| </TabItem> |
| <TabItem value="Java Admin API"> |
| |
| ```java |
| |
| List<String> listSinks(String tenant, |
| String namespace) |
| throws PulsarAdminException |
| |
| ``` |
| |
| **Response example** |
| |
| ```java |
| |
| ["f1", "f2", "f3"] |
| |
| ``` |
| |
| **Exception** |
| |
| Exception name | Description |
| |---|--- |
| `PulsarAdminException.NotAuthorizedException` | You don't have the admin permission |
| `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`listSource`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#listSinks-java.lang.String-java.lang.String-). |
| |
| </TabItem> |
| |
| </Tabs> |
| ```` |
| |
| ### `status` |
| |
| You can get the current status of a connector using **Admin CLI**, **REST API** or **JAVA admin API**. |
| |
| #### Source |
| |
| Get the current status of a source connector. |
| |
| ````mdx-code-block |
| <Tabs |
| defaultValue="Admin CLI" |
| values={[{"label":"Admin CLI","value":"Admin CLI"},{"label":"REST API","value":"REST API"},{"label":"Java Admin API","value":"Java Admin API"}]}> |
| |
| <TabItem value="Admin CLI"> |
| |
| Use the `status` subcommand. |
| |
| ``` |
| |
| $ pulsar-admin sources status options |
| |
| ``` |
| |
| For more information, see [here](io-cli.md#status). |
| |
| </TabItem> |
| <TabItem value="REST API"> |
| |
| * Get the current status of **all** source connectors. |
| |
| Send a `GET` request to this endpoint: {@inject: endpoint|GET|/admin/v3/sources/:tenant/:namespace/:sourceName/status|operation/getSourceStatus?version=@pulsar:version_number@} |
| |
| * Gets the current status of a **specified** source connector. |
| |
| Send a `GET` request to this endpoint: {@inject: endpoint|GET|/admin/v3/sources/:tenant/:namespace/:sourceName/:instanceId/status|operation/getSourceStatus?version=@pulsar:version_number@} |
| |
| </TabItem> |
| <TabItem value="Java Admin API"> |
| |
| * Get the current status of **all** source connectors. |
| |
| ```java |
| |
| SourceStatus getSourceStatus(String tenant, |
| String namespace, |
| String source) |
| throws PulsarAdminException |
| |
| ``` |
| |
| **Parameter** |
| |
| Parameter| Description |
| |---|--- |
| `tenant` | Tenant name |
| `namespace` | Namespace name |
| `sink` | Source name |
| |
| **Exception** |
| |
| Name | Description |
| |---|--- |
| `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`getSourceStatus`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#getSource-java.lang.String-java.lang.String-java.lang.String-). |
| |
| * Gets the current status of a **specified** source connector. |
| |
| ```java |
| |
| SourceStatus.SourceInstanceStatus.SourceInstanceStatusData getSourceStatus(String tenant, |
| String namespace, |
| String source, |
| int id) |
| throws PulsarAdminException |
| |
| ``` |
| |
| **Parameter** |
| |
| Parameter| Description |
| |---|--- |
| `tenant` | Tenant name |
| `namespace` | Namespace name |
| `sink` | Source name |
| `id` | Source instanceID |
| |
| **Exception** |
| |
| Exception name | Description |
| |---|--- |
| `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`getSourceStatus`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#getSourceStatus-java.lang.String-java.lang.String-java.lang.String-int-). |
| |
| </TabItem> |
| |
| </Tabs> |
| ```` |
| |
| #### Sink |
| |
| Get the current status of a Pulsar sink connector. |
| |
| ````mdx-code-block |
| <Tabs |
| defaultValue="Admin CLI" |
| values={[{"label":"Admin CLI","value":"Admin CLI"},{"label":"REST API","value":"REST API"},{"label":"Java Admin API","value":"Java Admin API"}]}> |
| |
| <TabItem value="Admin CLI"> |
| |
| Use the `status` subcommand. |
| |
| ``` |
| |
| $ pulsar-admin sinks status options |
| |
| ``` |
| |
| For more information, see [here](io-cli.md#status-1). |
| |
| </TabItem> |
| <TabItem value="REST API"> |
| |
| * Get the current status of **all** sink connectors. |
| |
| Send a `GET` request to this endpoint: {@inject: endpoint|GET|/admin/v3/sinks/:tenant/:namespace/:sinkName/status|operation/getSinkStatus?version=@pulsar:version_number@} |
| |
| * Gets the current status of a **specified** sink connector. |
| |
| Send a `GET` request to this endpoint: {@inject: endpoint|GET|/admin/v3/sinks/:tenant/:namespace/:sourceName/:instanceId/status|operation/getSinkInstanceStatus?version=@pulsar:version_number@} |
| |
| </TabItem> |
| <TabItem value="Java Admin API"> |
| |
| * Get the current status of **all** sink connectors. |
| |
| ```java |
| |
| SinkStatus getSinkStatus(String tenant, |
| String namespace, |
| String sink) |
| throws PulsarAdminException |
| |
| ``` |
| |
| **Parameter** |
| |
| Parameter| Description |
| |---|--- |
| `tenant` | Tenant name |
| `namespace` | Namespace name |
| `sink` | Source name |
| |
| **Exception** |
| |
| Exception name | Description |
| |---|--- |
| `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`getSinkStatus`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#getSinkStatus-java.lang.String-java.lang.String-java.lang.String-). |
| |
| * Gets the current status of a **specified** source connector. |
| |
| ```java |
| |
| SinkStatus.SinkInstanceStatus.SinkInstanceStatusData getSinkStatus(String tenant, |
| String namespace, |
| String sink, |
| int id) |
| throws PulsarAdminException |
| |
| ``` |
| |
| **Parameter** |
| |
| Parameter| Description |
| |---|--- |
| `tenant` | Tenant name |
| `namespace` | Namespace name |
| `sink` | Source name |
| `id` | Sink instanceID |
| |
| **Exception** |
| |
| Exception name | Description |
| |---|--- |
| `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`getSinkStatusWithInstanceID`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#getSinkStatus-java.lang.String-java.lang.String-java.lang.String-int-). |
| |
| </TabItem> |
| |
| </Tabs> |
| ```` |
| |
| ## Update a connector |
| |
| ### `update` |
| |
| You can update a running connector using **Admin CLI**, **REST API** or **JAVA admin API**. |
| |
| #### Source |
| |
| Update a running Pulsar source connector. |
| |
| ````mdx-code-block |
| <Tabs |
| defaultValue="Admin CLI" |
| values={[{"label":"Admin CLI","value":"Admin CLI"},{"label":"REST API","value":"REST API"},{"label":"Java Admin API","value":"Java Admin API"}]}> |
| |
| <TabItem value="Admin CLI"> |
| |
| Use the `update` subcommand. |
| |
| ``` |
| |
| $ pulsar-admin sources update options |
| |
| ``` |
| |
| For more information, see [here](io-cli.md#update). |
| |
| </TabItem> |
| <TabItem value="REST API"> |
| |
| Send a `PUT` request to this endpoint: {@inject: endpoint|PUT|/admin/v3/sources/:tenant/:namespace/:sourceName|operation/updateSource?version=@pulsar:version_number@} |
| |
| </TabItem> |
| <TabItem value="Java Admin API"> |
| |
| * Update a running source connector with a **local file**. |
| |
| ```java |
| |
| void updateSource(SourceConfig sourceConfig, |
| String fileName) |
| throws PulsarAdminException |
| |
| ``` |
| |
| **Parameter** |
| |
| | Name | Description |
| |---|--- |
| |`sourceConfig` | The source configuration object |
| |
| **Exception** |
| |
| |Name|Description| |
| |---|--- |
| |`PulsarAdminException.NotAuthorizedException`| You don't have the admin permission |
| | `PulsarAdminException.NotFoundException` | Cluster doesn't exist |
| | `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`updateSource`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#updateSource-SourceConfig-java.lang.String-). |
| |
| * Update a source connector using a **remote file** with a URL from which fun-pkg can be downloaded. |
| |
| ```java |
| |
| void updateSourceWithUrl(SourceConfig sourceConfig, |
| String pkgUrl) |
| throws PulsarAdminException |
| |
| ``` |
| |
| Supported URLs are `http` and `file`. |
| |
| **Example** |
| |
| * HTTP: http://www.repo.com/fileName.jar |
| |
| * File: file:///dir/fileName.jar |
| |
| **Parameter** |
| |
| | Name | Description |
| |---|--- |
| | `sourceConfig` | The source configuration object |
| | `pkgUrl` | URL from which pkg can be downloaded |
| |
| **Exception** |
| |
| |Name|Description| |
| |---|--- |
| |`PulsarAdminException.NotAuthorizedException`| You don't have the admin permission |
| | `PulsarAdminException.NotFoundException` | Cluster doesn't exist |
| | `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`createSourceWithUrl`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#updateSourceWithUrl-SourceConfig-java.lang.String-). |
| |
| </TabItem> |
| |
| </Tabs> |
| ```` |
| |
| #### Sink |
| |
| Update a running Pulsar sink connector. |
| |
| ````mdx-code-block |
| <Tabs |
| defaultValue="Admin CLI" |
| values={[{"label":"Admin CLI","value":"Admin CLI"},{"label":"REST API","value":"REST API"},{"label":"Java Admin API","value":"Java Admin API"}]}> |
| |
| <TabItem value="Admin CLI"> |
| |
| Use the `update` subcommand. |
| |
| ``` |
| |
| $ pulsar-admin sinks update options |
| |
| ``` |
| |
| For more information, see [here](io-cli.md#update-1). |
| |
| </TabItem> |
| <TabItem value="REST API"> |
| |
| Send a `PUT` request to this endpoint: {@inject: endpoint|PUT|/admin/v3/sinks/:tenant/:namespace/:sinkName|operation/updateSink?version=@pulsar:version_number@} |
| |
| </TabItem> |
| <TabItem value="Java Admin API"> |
| |
| * Update a running sink connector with a **local file**. |
| |
| ```java |
| |
| void updateSink(SinkConfig sinkConfig, |
| String fileName) |
| throws PulsarAdminException |
| |
| ``` |
| |
| **Parameter** |
| |
| | Name | Description |
| |---|--- |
| |`sinkConfig` | The sink configuration object |
| |
| **Exception** |
| |
| |Name|Description| |
| |---|--- |
| |`PulsarAdminException.NotAuthorizedException`| You don't have the admin permission |
| | `PulsarAdminException.NotFoundException` | Cluster doesn't exist |
| | `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`updateSink`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#updateSink-SinkConfig-java.lang.String-). |
| |
| * Update a sink connector using a **remote file** with a URL from which fun-pkg can be downloaded. |
| |
| ```java |
| |
| void updateSinkWithUrl(SinkConfig sinkConfig, |
| String pkgUrl) |
| throws PulsarAdminException |
| |
| ``` |
| |
| Supported URLs are `http` and `file`. |
| |
| **Example** |
| |
| * HTTP: http://www.repo.com/fileName.jar |
| |
| * File: file:///dir/fileName.jar |
| |
| **Parameter** |
| |
| | Name | Description |
| |---|--- |
| | `sinkConfig` | The sink configuration object |
| | `pkgUrl` | URL from which pkg can be downloaded |
| |
| **Exception** |
| |
| |Name|Description| |
| |---|--- |
| |`PulsarAdminException.NotAuthorizedException`| You don't have the admin permission |
| |`PulsarAdminException.NotFoundException` | Cluster doesn't exist |
| |`PulsarAdminException` | Unexpected error |
| |
| For more information, see [`updateSinkWithUrl`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#updateSinkWithUrl-SinkConfig-java.lang.String-). |
| |
| </TabItem> |
| |
| </Tabs> |
| ```` |
| |
| ## Stop a connector |
| |
| ### `stop` |
| |
| You can stop a connector using **Admin CLI**, **REST API** or **JAVA admin API**. |
| |
| #### Source |
| |
| Stop a source connector. |
| |
| ````mdx-code-block |
| <Tabs |
| defaultValue="Admin CLI" |
| values={[{"label":"Admin CLI","value":"Admin CLI"},{"label":"REST API","value":"REST API"},{"label":"Java Admin API","value":"Java Admin API"}]}> |
| |
| <TabItem value="Admin CLI"> |
| |
| Use the `stop` subcommand. |
| |
| ``` |
| |
| $ pulsar-admin sources stop options |
| |
| ``` |
| |
| For more information, see [here](io-cli.md#stop). |
| |
| </TabItem> |
| <TabItem value="REST API"> |
| |
| * Stop **all** source connectors. |
| |
| Send a `POST` request to this endpoint: {@inject: endpoint|POST|/admin/v3/sources/:tenant/:namespace/:sourceName|operation/stopSource?version=@pulsar:version_number@} |
| |
| * Stop a **specified** source connector. |
| |
| Send a `POST` request to this endpoint: {@inject: endpoint|POST|/admin/v3/sources/:tenant/:namespace/:sourceName/:instanceId|operation/stopSource?version=@pulsar:version_number@} |
| |
| </TabItem> |
| <TabItem value="Java Admin API"> |
| |
| * Stop **all** source connectors. |
| |
| ```java |
| |
| void stopSource(String tenant, |
| String namespace, |
| String source) |
| throws PulsarAdminException |
| |
| ``` |
| |
| **Parameter** |
| |
| | Name | Description |
| |---|--- |
| `tenant` | Tenant name |
| `namespace` | Namespace name |
| `source` | Source name |
| |
| **Exception** |
| |
| |Name|Description| |
| |---|--- |
| | `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`stopSource`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#stopSource-java.lang.String-java.lang.String-java.lang.String-). |
| |
| * Stop a **specified** source connector. |
| |
| ```java |
| |
| void stopSource(String tenant, |
| String namespace, |
| String source, |
| int instanceId) |
| throws PulsarAdminException |
| |
| ``` |
| |
| **Parameter** |
| |
| | Name | Description |
| |---|--- |
| `tenant` | Tenant name |
| `namespace` | Namespace name |
| `source` | Source name |
| `instanceId` | Source instanceID |
| |
| **Exception** |
| |
| |Name|Description| |
| |---|--- |
| | `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`stopSource`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#stopSource-java.lang.String-java.lang.String-java.lang.String-int-). |
| |
| </TabItem> |
| |
| </Tabs> |
| ```` |
| |
| #### Sink |
| |
| Stop a sink connector. |
| |
| ````mdx-code-block |
| <Tabs |
| defaultValue="Admin CLI" |
| values={[{"label":"Admin CLI","value":"Admin CLI"},{"label":"REST API","value":"REST API"},{"label":"Java Admin API","value":"Java Admin API"}]}> |
| |
| <TabItem value="Admin CLI"> |
| |
| Use the `stop` subcommand. |
| |
| ``` |
| |
| $ pulsar-admin sinks stop options |
| |
| ``` |
| |
| For more information, see [here](io-cli.md#stop-1). |
| |
| </TabItem> |
| <TabItem value="REST API"> |
| |
| * Stop **all** sink connectors. |
| |
| Send a `POST` request to this endpoint: {@inject: endpoint|POST|/admin/v3/sinks/:tenant/:namespace/:sinkName/stop|operation/stopSink?version=@pulsar:version_number@} |
| |
| * Stop a **specified** sink connector. |
| |
| Send a `POST` request to this endpoint: {@inject: endpoint|POST|/admin/v3/sources/:tenant/:namespace/:sinkeName/:instanceId/stop|operation/stopSink?version=@pulsar:version_number@} |
| |
| </TabItem> |
| <TabItem value="Java Admin API"> |
| |
| * Stop **all** sink connectors. |
| |
| ```java |
| |
| void stopSink(String tenant, |
| String namespace, |
| String sink) |
| throws PulsarAdminException |
| |
| ``` |
| |
| **Parameter** |
| |
| | Name | Description |
| |---|--- |
| `tenant` | Tenant name |
| `namespace` | Namespace name |
| `source` | Source name |
| |
| **Exception** |
| |
| |Name|Description| |
| |---|--- |
| | `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`stopSink`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#stopSink-java.lang.String-java.lang.String-java.lang.String-). |
| |
| * Stop a **specified** sink connector. |
| |
| ```java |
| |
| void stopSink(String tenant, |
| String namespace, |
| String sink, |
| int instanceId) |
| throws PulsarAdminException |
| |
| ``` |
| |
| **Parameter** |
| |
| | Name | Description |
| |---|--- |
| `tenant` | Tenant name |
| `namespace` | Namespace name |
| `source` | Source name |
| `instanceId` | Source instanceID |
| |
| **Exception** |
| |
| |Name|Description| |
| |---|--- |
| | `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`stopSink`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#stopSink-java.lang.String-java.lang.String-java.lang.String-int-). |
| |
| </TabItem> |
| |
| </Tabs> |
| ```` |
| |
| ## Restart a connector |
| |
| ### `restart` |
| |
| You can restart a connector using **Admin CLI**, **REST API** or **JAVA admin API**. |
| |
| #### Source |
| |
| Restart a source connector. |
| |
| ````mdx-code-block |
| <Tabs |
| defaultValue="Admin CLI" |
| values={[{"label":"Admin CLI","value":"Admin CLI"},{"label":"REST API","value":"REST API"},{"label":"Java Admin API","value":"Java Admin API"}]}> |
| |
| <TabItem value="Admin CLI"> |
| |
| Use the `restart` subcommand. |
| |
| ``` |
| |
| $ pulsar-admin sources restart options |
| |
| ``` |
| |
| For more information, see [here](io-cli.md#restart). |
| |
| </TabItem> |
| <TabItem value="REST API"> |
| |
| * Restart **all** source connectors. |
| |
| Send a `POST` request to this endpoint: {@inject: endpoint|POST|/admin/v3/sources/:tenant/:namespace/:sourceName/restart|operation/restartSource?version=@pulsar:version_number@} |
| |
| * Restart a **specified** source connector. |
| |
| Send a `POST` request to this endpoint: {@inject: endpoint|POST|/admin/v3/sources/:tenant/:namespace/:sourceName/:instanceId/restart|operation/restartSource?version=@pulsar:version_number@} |
| |
| </TabItem> |
| <TabItem value="Java Admin API"> |
| |
| * Restart **all** source connectors. |
| |
| ```java |
| |
| void restartSource(String tenant, |
| String namespace, |
| String source) |
| throws PulsarAdminException |
| |
| ``` |
| |
| **Parameter** |
| |
| | Name | Description |
| |---|--- |
| `tenant` | Tenant name |
| `namespace` | Namespace name |
| `source` | Source name |
| |
| **Exception** |
| |
| |Name|Description| |
| |---|--- |
| | `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`restartSource`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#restartSource-java.lang.String-java.lang.String-java.lang.String-). |
| |
| * Restart a **specified** source connector. |
| |
| ```java |
| |
| void restartSource(String tenant, |
| String namespace, |
| String source, |
| int instanceId) |
| throws PulsarAdminException |
| |
| ``` |
| |
| **Parameter** |
| |
| | Name | Description |
| |---|--- |
| `tenant` | Tenant name |
| `namespace` | Namespace name |
| `source` | Source name |
| `instanceId` | Source instanceID |
| |
| **Exception** |
| |
| |Name|Description| |
| |---|--- |
| | `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`restartSource`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#restartSource-java.lang.String-java.lang.String-java.lang.String-int-). |
| |
| </TabItem> |
| |
| </Tabs> |
| ```` |
| |
| #### Sink |
| |
| Restart a sink connector. |
| |
| ````mdx-code-block |
| <Tabs |
| defaultValue="Admin CLI" |
| values={[{"label":"Admin CLI","value":"Admin CLI"},{"label":"REST API","value":"REST API"},{"label":"Java Admin API","value":"Java Admin API"}]}> |
| |
| <TabItem value="Admin CLI"> |
| |
| Use the `restart` subcommand. |
| |
| ``` |
| |
| $ pulsar-admin sinks restart options |
| |
| ``` |
| |
| For more information, see [here](io-cli.md#restart-1). |
| |
| </TabItem> |
| <TabItem value="REST API"> |
| |
| * Restart **all** sink connectors. |
| |
| Send a `POST` request to this endpoint: {@inject: endpoint|POST|/admin/v3/sources/:tenant/:namespace/:sinkName/restart|operation/restartSource?version=@pulsar:version_number@} |
| |
| * Restart a **specified** sink connector. |
| |
| Send a `POST` request to this endpoint: {@inject: endpoint|POST|/admin/v3/sources/:tenant/:namespace/:sinkName/:instanceId/restart|operation/restartSource?version=@pulsar:version_number@} |
| |
| </TabItem> |
| <TabItem value="Java Admin API"> |
| |
| * Restart all Pulsar sink connectors. |
| |
| ```java |
| |
| void restartSink(String tenant, |
| String namespace, |
| String sink) |
| throws PulsarAdminException |
| |
| ``` |
| |
| **Parameter** |
| |
| | Name | Description |
| |---|--- |
| `tenant` | Tenant name |
| `namespace` | Namespace name |
| `sink` | Sink name |
| |
| **Exception** |
| |
| |Name|Description| |
| |---|--- |
| | `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`restartSink`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#restartSink-java.lang.String-java.lang.String-java.lang.String-). |
| |
| * Restart a **specified** sink connector. |
| |
| ```java |
| |
| void restartSink(String tenant, |
| String namespace, |
| String sink, |
| int instanceId) |
| throws PulsarAdminException |
| |
| ``` |
| |
| **Parameter** |
| |
| | Name | Description |
| |---|--- |
| `tenant` | Tenant name |
| `namespace` | Namespace name |
| `source` | Source name |
| `instanceId` | Sink instanceID |
| |
| **Exception** |
| |
| |Name|Description| |
| |---|--- |
| | `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`restartSink`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#restartSink-java.lang.String-java.lang.String-java.lang.String-int-). |
| |
| </TabItem> |
| |
| </Tabs> |
| ```` |
| |
| ## Delete a connector |
| |
| ### `delete` |
| |
| You can delete a connector using **Admin CLI**, **REST API** or **JAVA admin API**. |
| |
| #### Source |
| |
| Delete a source connector. |
| |
| ````mdx-code-block |
| <Tabs |
| defaultValue="Admin CLI" |
| values={[{"label":"Admin CLI","value":"Admin CLI"},{"label":"REST API","value":"REST API"},{"label":"Java Admin API","value":"Java Admin API"}]}> |
| |
| <TabItem value="Admin CLI"> |
| |
| Use the `delete` subcommand. |
| |
| ``` |
| |
| $ pulsar-admin sources delete options |
| |
| ``` |
| |
| For more information, see [here](io-cli.md#delete). |
| |
| </TabItem> |
| <TabItem value="REST API"> |
| |
| Delete al Pulsar source connector. |
| |
| Send a `DELETE` request to this endpoint: {@inject: endpoint|DELETE|/admin/v3/sources/:tenant/:namespace/:sourceName|operation/deregisterSource?version=@pulsar:version_number@} |
| |
| </TabItem> |
| <TabItem value="Java Admin API"> |
| |
| Delete a source connector. |
| |
| ```java |
| |
| void deleteSource(String tenant, |
| String namespace, |
| String source) |
| throws PulsarAdminException |
| |
| ``` |
| |
| **Parameter** |
| |
| | Name | Description |
| |---|--- |
| `tenant` | Tenant name |
| `namespace` | Namespace name |
| `source` | Source name |
| |
| **Exception** |
| |
| |Name|Description| |
| |---|--- |
| |`PulsarAdminException.NotAuthorizedException`| You don't have the admin permission |
| | `PulsarAdminException.NotFoundException` | Cluster doesn't exist |
| | `PulsarAdminException.PreconditionFailedException` | Cluster is not empty |
| | `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`deleteSource`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Source.html#deleteSource-java.lang.String-java.lang.String-java.lang.String-). |
| |
| </TabItem> |
| |
| </Tabs> |
| ```` |
| |
| #### Sink |
| |
| Delete a sink connector. |
| |
| ````mdx-code-block |
| <Tabs |
| defaultValue="Admin CLI" |
| values={[{"label":"Admin CLI","value":"Admin CLI"},{"label":"REST API","value":"REST API"},{"label":"Java Admin API","value":"Java Admin API"}]}> |
| |
| <TabItem value="Admin CLI"> |
| |
| Use the `delete` subcommand. |
| |
| ``` |
| |
| $ pulsar-admin sinks delete options |
| |
| ``` |
| |
| For more information, see [here](io-cli.md#delete-1). |
| |
| </TabItem> |
| <TabItem value="REST API"> |
| |
| Delete a sink connector. |
| |
| Send a `DELETE` request to this endpoint: {@inject: endpoint|DELETE|/admin/v3/sinks/:tenant/:namespace/:sinkName|operation/deregisterSink?version=@pulsar:version_number@} |
| |
| </TabItem> |
| <TabItem value="Java Admin API"> |
| |
| Delete a Pulsar sink connector. |
| |
| ```java |
| |
| void deleteSink(String tenant, |
| String namespace, |
| String source) |
| throws PulsarAdminException |
| |
| ``` |
| |
| **Parameter** |
| |
| | Name | Description |
| |---|--- |
| `tenant` | Tenant name |
| `namespace` | Namespace name |
| `sink` | Sink name |
| |
| **Exception** |
| |
| |Name|Description| |
| |---|--- |
| |`PulsarAdminException.NotAuthorizedException`| You don't have the admin permission |
| | `PulsarAdminException.NotFoundException` | Cluster doesn't exist |
| | `PulsarAdminException.PreconditionFailedException` | Cluster is not empty |
| | `PulsarAdminException` | Unexpected error |
| |
| For more information, see [`deleteSource`](https://pulsar.apache.org/api/admin/org/apache/pulsar/client/admin/Sink.html#deleteSink-java.lang.String-java.lang.String-java.lang.String-). |
| |
| </TabItem> |
| |
| </Tabs> |
| ```` |