Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł zawiera kroki wymagane do włączenia pracy z bazą danych Cosmos DB z poziomu aplikacji Windows. Zawiera również mały fragment kodu pokazujący sposób interakcji z bazą danych w kodzie.
Konfigurowanie rozwiązania
Ten przykład może być używany z dowolnym projektem WPF, Windows Forms i WinUI w celu połączenia aplikacji systemu Windows z bazą danych Cosmos DB. Wykonaj następujące kroki, aby zainstalować pakiet i wypróbować przykładowy kod dla niektórych podstawowych zadań.
- Otwórz konsolę Package Manager (Wyświetl -> Inne Windows -> Package Manager Console). Użyj polecenia
Install-Package Microsoft.Azure.Cosmos, aby zainstalować pakiet NuGet dla Azure Cosmos DB dla biblioteki klienta NoSQL dla .NET. Umożliwi to programowy dostęp do baz danych usługi Cosmos DB. - Skompiluj projekt i upewnij się, że kompilacja zakończyła się pomyślnie bez błędów.
Następnie należy utworzyć wystąpienie usługi Cosmos DB w Azure. Możesz to zrobić, wykonując kroki opisane w Utwórz konto bazy danych NoSQL w Azure Cosmos DB.
Praca z usługą Cosmos DB przy użyciu przykładowego kodu
Poniższy przykładowy kod pobiera kontener z wystąpienia usługi Cosmos DB w Azure, a następnie dodaje nowy element do tego kontenera. Następnie używa interfejsu API zapytań NoSQL usługi Cosmos DB, aby pobrać element z kontenera i wyświetlić stan odpowiedzi. Należy pamiętać, że punkt końcowy, klucz uwierzytelniania i nazwa bazy danych trzeba dostosować na podstawie instancji usługi Cosmos DB utworzonej w poprzedniej sekcji.
Uwaga / Notatka
Zobacz kompletny przykład, w tym informacje o wymaganej konfiguracji usługi Cosmos DB, w Tworzenie aplikacji konsolowej .NET z Azure Cosmos DB dla 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}");
}