Discover how a bimodal integration strategy can address the major data management challenges facing your organization today.
Get the Report →Connect to Cosmos DB Data in JRuby
Create a simple JRuby app with access to live Cosmos DB data.
JRuby is a high-performance, stable, fully threaded Java implementation of the Ruby programming language. The CData JDBC Driver for Cosmos DB makes it easy to integrate connectivity to live Cosmos DB data in JRuby. This article shows how to create a simple JRuby app that connects to Cosmos DB data, executes a query, and displays the results.
Configure a JDBC Connection to Cosmos DB Data
Before creating the app, note the installation location for the JAR file for the JDBC Driver (typically C:\Program Files\CData\CData JDBC Driver for Cosmos DB\lib).
JRuby natively supports JDBC, so you can easily connect to Cosmos DB and execute SQL queries. Initialize the JDBC connection with the getConnection function of the java.sql.DriverManager class.
To obtain the connection string needed to connect to a Cosmos DB account using the SQL API, log in to the Azure Portal, select Azure Cosmos DB, and select your account. In the Settings section, click Connection String and set the following values:
- AccountEndpoint: The Cosmos DB account URL from the Keys blade of the Cosmos DB account
- AccountKey: In the Azure portal, navigate to the Cosmos DB service and select your Azure Cosmos DB account. From the resource menu, go to the Keys page. Find the PRIMARY KEY value and set AccountKey to this value.
Built-in Connection String Designer
For assistance in constructing the JDBC URL, use the connection string designer built into the Cosmos DB JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.
java -jar cdata.jdbc.cosmosdb.jar
Fill in the connection properties and copy the connection string to the clipboard.
Below is a typical JDBC connection string for Cosmos DB:
jdbc:cosmosdb:AccountEndpoint=myAccountEndpoint;AccountKey=myAccountKey;
Create a JRuby App with Connectivity to Cosmos DB Data
Create a new Ruby file (for example: CosmosDBSelect.rb) and open it in a text editor. Copy the following code into your file:
require 'java'
require 'rubygems'
require 'C:/Program Files/CData/CData JDBC Driver for Cosmos DB 2018/lib/cdata.jdbc.cosmosdb.jar'
url = "jdbc:cosmosdb:AccountEndpoint=myAccountEndpoint;AccountKey=myAccountKey;"
conn = java.sql.DriverManager.getConnection(url)
stmt = conn.createStatement
rs = stmt.executeQuery("SELECT City, CompanyName FROM Customers")
while (rs.next) do
puts rs.getString(1) + ' ' + rs.getString(2)
end
With the file completed, you are ready to display your Cosmos DB data with JRuby. To do so, simply run your file from the command line:
jruby -S CosmosDBSelect.rb
Writing SQL-92 queries to Cosmos DB allows you to quickly and easily incorporate Cosmos DB data into your own JRuby applications. Download a free trial today!