Quickstart
Everything you need to know to get a Turbine streaming app running locally on your machine.
Initialize a Streaming App
In this step, you will initialize a streaming app with the Meroxa CLI.
- JavaScript
- Python
- Ruby
- Go
Requirements
- Latest Node.js version in LTS
- Latest npm (comes packaged with Node.js)
Use meroxa apps init yourappname --lang js
to initialize the streaming app within the local directory you are currently in.
$ meroxa apps init yourappname --lang js
You may define a different local directory path for the app project by using --path /your/local/path/
in your command.
$ meroxa apps init yourappname --lang js --path /your/local/path
Requirements
- Latest Python version.
- pip package manager (automatically installed if Python is downloaded from python.org).
pip install turbine-py
to install the Meroxa Turbine Python library.
Use meroxa apps init yourappname --lang py
to initialize the streaming app within the local directory you are currently in.
$ meroxa apps init yourappname --lang py
You may define a different local directory path for the app project by using --path /your/local/path/
in your command.
$ meroxa apps init yourappname --lang py --path /your/local/path
Requirements
- Recommended: Choose one of the following Ruby version management tools of choice:
- Latest Ruby version. If you have a Ruby version management tool installed, you can install ruby through your version management tool and specify which version you would like installed for your development use case.
Use meroxa apps init yourappname --lang rb
to initialize the streaming app within the local directory you are currently in.
meroxa apps init yourappname --lang rb
You may define a different local directory path for the app project by using --path /your/local/path/
in your command.
$ meroxa apps init yourappname --lang rb --path /your/local/path
Requirements
Use meroxa apps init yourappname --lang go
to initialize the streaming app within the local directory you are currently in.
$ meroxa apps init yourappname --lang go
You may define a different local directory path for the app project by using --path /your/local/path/
in your command.
$ meroxa apps init yourappname --lang go --path /your/local/path
If you see the following output from the Meroxa CLI—you have successfully initialized a streaming app!
✔ Application directory created!
✔ Git initialized successfully!
Turbine Data Application successfully initialized!
You can start interacting with Meroxa in your app located at "/your/local/path/yourappname".
Your Application will not be visible in the Meroxa Dashboard until after deployment.
A local app project directory will automatically be created on your local machine, complete with everything you need to build a streaming app with Turbine.
Next, let’s get your streaming app running locally on your machine to demonstrate what you can do with Turbine.
Run a Streaming App Locally
In this step, you don’t need to change any of the Turbine boilerplate code provided in the local app project directory. Simply navigate to the root of the app project running the cd
command with the name or path to your local app project directory.
$ cd /your/local/path/yourappname
Use meroxa apps run
to run your streaming app locally.
$ meroxa apps run
This will run the Turbine streaming app code locally on your machine and show you an output of JSON-formatted data fixtures. The default streaming app should take transactional data containing customer information such has customer_email
and anonymize it to something that resembles the following value ~~~1234567890~~~
.
If you see the following output—Congratulations! You have successfully run a streaming app locally.
=====================to destination resource=====================
{
id: 9582724,
category: 'camping',
product_type: 'sleeping-bag',
product_name: 'Forte 35 Sleeping Bag - Womens',
stock: true,
product_id: 361632,
shipping_address: '9718 East Virginia Avenue Silver Spring, MD 20901',
customer_email: '~~~1072928786~~~'
}
{
id: 9582725,
category: 'camping',
product_type: 'sleeping-bag',
product_name: 'Cosmic 20 Sleeping Bag - Mens',
stock: true,
product_id: 235367,
shipping_address: '881 South Newbridge Lane Upland, CA 91784',
customer_email: '~~~1067219025~~~'
}
{
id: 9582726,
category: 'camping',
product_type: 'sleeping-bag',
product_name: 'Zephyr 25 Recycled Sleeping Bag - Kids',
stock: true,
product_id: 203000,
shipping_address: '43 Sunnyslope Street Port Richey, FL 34668',
customer_email: '~~~1066104848~~~'
}
What's Next?
After you have successfully run a streaming app locally, you can start thinking about using production or test environment data. To do this, you will need to create Resources on the Meroxa Platform.
Create Resources
Resources are configurations used by the Meroxa Platform to connect to the data used in your production or test environments. These configurations can be provisioned using the Meroxa CLI, Dashboard, or Terraform Provider.
A limit of one Source Resource is required for your streaming app. However, you may enrich data records using any number of APIs through secrets. A Destination Resource is both not required or you may have multiple for your streaming app.
For Resource support and instructions on creation, see the Sources & Destinations documentation. Once your Resources are created, you can call and direct your production and test environment data utilizing Turbine methods.
Get Acquainted with Turbine
The following programming languages are supported by the Turbine Application Framework. Refer to the library specific documentation for more details.
- JavaScript
- Go
- Python
- Ruby
- Java (Coming soon)
Deploy a Streaming App
Meroxa is a Streaming Application Platform that abstracts away the challenging aspects of Kafka such as Connect, topics and partitioning by providing those aspects as a managed service. Developers can use programming languages they know and love to ingest, orchestrate, transform, and stream data to and from anywhere with a developer-first experience aimed to provide agility and participation in data streaming.
To deploy a streaming app to the Meroxa Platform, see the Deployment documentation.