> For the complete documentation index, see [llms.txt](https://upsolver.gitbook.io/content/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://upsolver.gitbook.io/content/reference-1/sql-commands/connections/create-connection/confluent-cloud.md).

# Confluent Cloud

To ingest data from your Confluent topic, you must first create a connection that provides the appropriate credentials to access your topic.

## Syntax

```sql
CREATE CONFLUENT CONNECTION <connection_identifier> 
    HOST[S] = { '<host>' | ('<host>' [, ...]) }
    [ CONSUMER_PROPERTIES = '<properties>' ] 
    [ VERSION = { CURRENT | LEGACY } ]  
    [ REQUIRE_STATIC_IP = { TRUE | FALSE } ]
    [ SSL = { TRUE | FALSE } ]
    [ TOPIC_DISPLAY_FILTER[S] = { '<topic_name>' | ('<topic_name>' [, ...]) } ]
    [ SASL_USERNAME = '<username/api_key>' ]
    [ SASL_PASSWORD = '<password/api_secret>' ]
    [ COMMENT = '<comment>' ]
```

#### Jump to

* [`HOST[S]`](#host-s)
* [`CONSUMER_PROPERTIES`](#consumer_properties-editable)
* [`VERSION`](#version)
* [`REQUIRE_STATIC_IP`](#require_static_ip-editable)
* [`SSL`](#ssl-editable)
* [`TOPIC_DISPLAY_FILTER[S]`](#topic_display_filter-s-editable)
* [`SASL_USERNAME`](#sasl_username)
* [`SASL_PASSWORD`](#sasl_password)
* [`COMMENT`](#comment-editable)

## Connection options

#### `HOST[S]`

Type: `text | list`

A single host or a list of Confluent hosts in the format of `hostname:port`.

#### `CONSUMER_PROPERTIES` — editable

Type: `text_area`

(Optional) Extra properties to configure for the consumer.

See: [Consumer configurations](https://docs.confluent.io/platform/current/installation/configuration/consumer-configs.html)

#### `VERSION`

Values: `{ CURRENT | LEGACY }`

Default: `CURRENT`

(Optional) Legacy is for anything before 0.10.

#### `REQUIRE_STATIC_IP` — editable

Type: `boolean`

Default: `true`

(Optional) With Upsolver clusters, you can configure how many elastic IPs it should allocate and use within that cluster.

If the cluster running the job has at least one elastic IP set and `REQUIRE_STATIC_IP` is enabled, then the job runs on a server that has an elastic IP associated with it

#### `SSL` — editable

Type: `Boolean`

Default: `false`

(Optional) If enabled, SSL is used to connect.

Please contact Upsolver to ensure your CA certificate is supported.

#### `TOPIC_DISPLAY_FILTER[S]` — editable

Type: `text | list`

(Optional) A single topic or the list of topics to show. If left empty, all topics are visible.

#### `SASL_USERNAME`

Type: `text`

(Optional) Configure the SASL username to be used to authenticate with Confluent. For Confluent this is usually an API key created in the Confluent web console.

#### `SASL_PASSWORD`

Type: `text`

(Optional) Configure the SASL password to be used to authenticate with Confluent. For Confluent this is usually an API token created in the Confluent web console.

When this setting is enabled along with [SASL\_USERNAME](#sasl_username) the following configuration will get added to the consumer/producer properties of the client created:

```sql
security.protocol = SASL_SSL
sasl.jaas.config = org.apache.kafka.common.security.plain.PlainLoginModule   
    required username = "API_KEY"   password = "SECRET";
ssl.endpoint.identification.algorithm = https
sasl.mechanism = PLAIN
```

For other authentication settings, you may configure the [CONSUMER\_PROPERTIES](#consumer_properties-editable) directly.

#### `COMMENT` — editable

Type: `text`

(Optional) A description or comment regarding this connection.

## Minimum example

```sql
CREATE CONFLUENT CONNECTION my_kafka_connection
    HOSTS = ('foo:9092', 'bar:9092');
```

## Full example

```sql
CREATE CONFLUENT CONNECTION my_kafka_connection
    HOSTS = ('foo:9092', 'bar:9092')
    SASL_USERNAME = 'API_KEY'
    SASL_PASSWORD = 'SECRET'
    VERSION = CURRENT
    REQUIRE_STATIC_IP = true
    SSL = false
    TOPIC_DISPLAY_FILTERS = ('topic1', 'topic2')
    COMMENT = 'My new Kafka connection';
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://upsolver.gitbook.io/content/reference-1/sql-commands/connections/create-connection/confluent-cloud.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
