Skip to content

Latest commit

 

History

History
 
 

cosmos-multi-database-multi-account

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
page_type languages products description urlFragment
sample
java
azure-cosmos-db
Azure Spring Boot Sample project for Cosmos Multi Database Multi Account
azure-spring-boot-sample-cosmos-multi-database-multi-account

Azure Spring Boot Sample Cosmos Multi Database Multi Account for Java

Key concepts

Getting started

Configure Cosmos Database

  1. Log into https://portal.azure.com.

  2. Click Create a resource.

  3. Input Azure Cosmos DB.

  4. Click Azure Cosmos DB Find Cosmos Resource 01

    Find Cosmos Resource 02

  5. Click Create.

    Create new Cosmos

  6. On the Create key vault page, input Subscription, Resource group, Account Name, then click Review + Create.

    Specify the options

    Create Cosmos resource

  7. When complete, click Go to resource.

    Go to resource

  8. Click Keys in the left navigation pane, copy your URI, the PRIMARY KEY and SECONDARY KEY;

    Get Connect Info

  9. Replace the content in application.properties with the obtained information.

  10. We need to create another cosmos DB as the secondary like the steps above.

  11. Add MYSQL connection attributes in application.properties.

Key concepts

Examples

Configure application.yml

# primary account cosmos config
azure.cosmos.primary.uri=your-primary-cosmosDb-uri
azure.cosmos.primary.key=your-primary-cosmosDb-key
azure.cosmos.primary.secondary-key=your-primary-cosmosDb-secondary-key
azure.cosmos.primary.database=your-primary-cosmosDb-dbName
azure.cosmos.primary.populate-query-metrics=if-populate-query-metrics

# secondary account cosmos config
azure.cosmos.secondary.uri=your-secondary-cosmosDb-uri
azure.cosmos.secondary.key=your-secondary-cosmosDb-key
azure.cosmos.secondary.secondary-key=your-secondary-cosmosDb-secondary-key
azure.cosmos.secondary.database=your-secondary-cosmosDb-dbName
azure.cosmos.secondary.populate-query-metrics=if-populate-query-metrics

#mysql connection attributes
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/db_example
spring.datasource.username=your-mysql-username
spring.datasource.password=your-mysql-password

Run with Maven

cd azure-spring-boot-samples/azure-spring-boot-sample-multi-database
mvn spring-boot:run

Verify Result: The corresponding data is added to the mysql database and cosmos database Result in MYSQL Result in Primary Cosmos Database Result in Secondary Cosmos Database

Troubleshooting

Next steps

Contributing