Connect to Cosmos DB Data in JRuby

Ready to get started?

Download for a free trial:

Download Now

Learn more:

Cosmos DB JDBC Driver

Rapidly create and deploy powerful Java applications that integrate with Cosmos DB document databases.



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!