Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo contiene i passaggi necessari per abilitare l'uso di un database Cosmos DB da un'app Windows. Contiene anche un piccolo frammento di codice che mostra come puoi interagire con il database nel codice.
Configurare la soluzione
Questo esempio può essere usato con qualsiasi progetto WPF, Windows Forms, WinUI e UWP per connettere l'app Windows a un database Cosmos DB. Completare questa procedura per installare il pacchetto e provare il codice di esempio per alcune attività di base.
- Aprire la console Package Manager (Visualizza -> Altro Windows -> Package Manager Console). Usare il comando
Install-Package Microsoft.Azure.Cosmosper installare il pacchetto NuGet per la libreria client .NET di Azure Cosmos DB per NoSQL. Ciò permetterà di accedere ai database Cosmos DB a livello di codice. - Compilare il progetto e assicurarsi che la compilazione abbia avuto esito positivo senza errori.
Sarà quindi necessario creare un'istanza di Cosmos DB in Azure. A tale scopo, seguire la procedura descritta in Creare un account di database NoSQL in Azure Cosmos DB.
Usare Cosmos DB con il codice di esempio
Il codice di esempio seguente ottiene un contenitore da un'istanza di Cosmos DB in Azure, quindi aggiunge un nuovo elemento a tale contenitore. Usa quindi l'API di query NoSQL di Cosmos DB per recuperare l'elemento dal contenitore e restituire lo stato della risposta. Si noti che l'endpoint, la chiave di autenticazione e il nome del database devono essere personalizzati in base all'istanza di Cosmos DB creata nella sezione precedente.
Nota
Per un esempio completo, incluse le informazioni sull'installazione e la configurazione di Cosmos DB necessarie, vedere Develop a .NET console application with Azure Cosmos DB for NoSQL.
using Microsoft.Azure.Cosmos;
...
public async Task CosmosSample(string endpoint, string authKey)
{
// CONNECT
var client = new CosmosClient(
accountEndpoint: endpoint,
authKeyOrResourceToken: authKey
);
Database database = client.GetDatabase("sample_customers");
ContainerProperties properties = new(
id: "customers",
partitionKeyPath: "/location"
);
Container container = await database.CreateContainerIfNotExistsAsync(properties);
// WRITE DATA
string customerId = "1234";
string state = "WA";
var customer = new
{
id = customerId,
name = "John Doe",
location = state
};
var createResponse = await container.CreateItemAsync(customer);
Console.WriteLine($"[Status code: {createResponse.StatusCode}]\t{customerId}");
// READ DATA
string sql = "SELECT * FROM customers c WHERE c.id = @id";
var query = new QueryDefinition(
query: sql
).WithParameter("@id", customerId);
using var feed = container.GetItemQueryIterator<dynamic>(queryDefinition: query);
var queryResponse = await feed.ReadNextAsync();
Console.WriteLine($"[Status code: {queryResponse.StatusCode}]\t{customerId}");
}