title | description | author | manager | ms.technology | ms.topic | ms.date | ms.author | monikerRange |
---|---|---|---|---|---|---|---|---|
Add Azure Cosmos DB by using Connected Services |
Connect Azure Cosmos DB support to your application by using Connected Services in Visual Studio on Windows and add a connected service. |
AngelosP |
jmartens |
vs-azure |
conceptual |
05/15/2023 |
angelpe |
>= vs-2019 |
[!INCLUDE Visual Studio]
With Visual Studio, you can connect any of the following to Azure Cosmos DB by using the Connected Services feature:
- .NET Framework console app
- ASP.NET MVC (.NET Framework)
- ASP.NET Core
- .NET Core (including console app, WPF, Windows Forms, class library)
- .NET Core Worker Role
- Azure Functions
- Universal Windows Platform App
- Xamarin
- Cordova
The connected service functionality adds all the needed references and connection code to your project, and modifies your configuration files appropriately.
Note
This topic applies to Visual Studio on Windows. For Visual Studio for Mac, see Connected services in Visual Studio for Mac.
- Visual Studio with the Azure workload installed.
- A project of one of the supported types
:::moniker range="vs-2019"
-
Open your project in Visual Studio.
-
In Solution Explorer, right-click the Connected Services node, and, from the context menu, select Add Connected Service.
-
In the Connected Services tab, select the + icon for Service Dependencies.
-
In the Add Dependency page, select Azure Cosmos DB.
If you aren't signed in already, sign into your Azure account. If you don't have an Azure account, you can sign up for a free trial.
-
In the Azure Cosmos DB screen, select an existing Azure Cosmos DB, and select Next.
If you need to create a database, go to the next step. Otherwise, skip to step 7.
-
To create an Azure Cosmos DB:
-
Enter a connection string name, and choose whether you want the connection string stored in a local secrets file, or in Azure Key Vault.
-
The Summary of changes screen shows all the modifications that will be made to your project if you complete the process. If the changes look OK, choose Finish.
-
The connection appears under the Service Dependencies section of the Connected Services tab.
:::moniker range=">=vs-2022"
Note
For .NET Framework projects, Connected Services UI is slightly different. To see the differences, compare to the Visual Studio 2019 version of this page.
-
Open your project in Visual Studio.
-
In Solution Explorer, right-click the Connected Services node, and, from the context menu, select Add to open the menu of available services.
-
Choose Azure Cosmos DB. The Connect to dependency page appears. You should see two options, one for a local emulator, Azure Cosmos DB Emulator on container (Local), and one for connecting to the live Azure Cosmos DB service. You can reduce cost and simplify early development by starting with the local emulator. You can migrate to the live service later by repeating these steps and choosing the other option.
If you choose to use the Azure Cosmos DB Emulator, click Next to see the Summary of changes screen, which shows how your project is being modified. A NuGet package reference is added to your project and the connection code for the local emulator is added to your project. Once you click Finish on the last screen, the container for the emulator is created; you'll see the image download status in the output window.
If you want to connect to the Azure service, continue to the next step, or if you aren't signed in already, sign into your Azure account before continuing. If you don't have an Azure account, you can sign up for a free trial.
-
In the Azure Cosmos DB screen, select an existing Azure Cosmos DB, and select Next.
If you need to create a database, go to the next step. Otherwise, skip to step 7.
-
To create an Azure Cosmos DB:
-
Enter a connection string name, and choose whether you want the connection string stored in a local secrets file, or in Azure Key Vault.
The connection string is added as a secret and made available in the app configuration. In ASP.NET Core apps, you can access this connection string by using the
Configuration
property on theWebApplicationBuild
object. -
The Summary of changes screen shows all the modifications that will be made to your project if you complete the process. If the changes look OK, choose Finish.
-
In Solution Explorer, double-click on the Connected Services node to open the Connected Services tab. The connection appears under the Service Dependencies section:
If you click on the three dots next to the dependency you added, you can see various options such as Connect to reopen the wizard and change the connection. You can also click the three dots at the top right of the window to see options to start local dependencies, change settings, and more. :::moniker-end
Learn how to store secrets safely by following Safe storage of app secrets in development in ASP.NET Core. In particular, to read the connection string from the secrets store, you can add code as in Read the secret via the configuration API. The code might look like this, where builder
is an instance of WebApplicationBuild
that appears in Program.cs in ASP.NET Core project templates:
// New instance of CosmosClient class using a connection string
using CosmosClient client = new(
connectionString: builder.Configuration["CosmosDBConnectionString"]
);
The CosmosClient
provides access to Cosmos DB functionality through its various methods. Once you have an instance of CosmosClient
, you can create a NoSQL database by following this guide: Create a database in Azure Cosmos DB for NoSQL using .NET.