Connecting to Quix Cloud
Why Use Quix Cloud
Quix Streams was made to seamlessly integrate with the Quix Cloud.
When running Quix Streams on Quix Cloud, all connection and authentication-based settings are preconfigured for you.
Quix Cloud itself provides a frictionless environment to deploy and manage your applications using either our API or our browser-based UI.
To learn more about Quix Cloud and how to set up a project, please see the Quix Cloud docs.
Can I Use Quix Streams With My Own Kafka?
Using Quix Streams with Quix Cloud is entirely optional.
You could, for example, connect to Redpanda Cloud, or another supported broker, or connect to a self-hosted broker.
Can I Use a Schema Registry Alongside Quix Cloud?
Assuming you have a Schema Registry instance, you can use it alongside Quix Cloud using Quix Streams.
Currently, Quix Cloud does not offer a Schema Registry or support configuring one directly, which means it does not support visualizing messages serialized using one. Everything else should function as expected.
Learn how to connect to a Schema Registry here.
Connecting with Quix Streams
Here is how to connect to the Quix Cloud Kafka brokers using Quix Streams:
Within Quix Cloud
If you are running your Quix Streams Application
directly within Quix Cloud, it's configured automatically.
Just make sure broker_address
is NOT set:
Outside of Quix Cloud
1. Obtain SDK Token
First, get your SDK Token.
NOTE: A
Personal Access Token
(PAT) is also accepted, but often requires more configuration due to raised privileges. We recommend using theSDK Token
.
2. Pass SDK Token to Application
With your SDK Token
and a Quix Streams Application
, you can pass it using one of
these approaches:
- Set Environment Variable (recommended):
- Simply set
Quix__Sdk__Token
(double underscores!) to yourSDK Token
NOTE:
Quix__Sdk__Token
is set automatically in Quix Cloud, thus is the recommended approach for an easy migration.
- Simply set
OR
- Application argument
- Just do:
WARNING: This value is prioritized over
Quix__Sdk__Token
, which may cause ambiguity if both are set.
- Just do:
3. Validate it Worked!
When you initialize your Application()
, a message should be logged letting
you know it will connect to Quix Cloud when Application.run()
is called.
If not, you'll need to double check your settings and try again!
Local Development to Quix Cloud
For those wanting to develop with a local broker and then migrate to Quix Cloud, here is a recommended example pattern that avoids code changes:
from quixstreams import Application
import os
app = Application(broker_address=os.getenv("YOUR_ENV_VAR", None))
Just pick an environment variable and set it to your local broker address!
In Quix Cloud it will default to None
as desired and use the Quix Cloud environment.