Использование базы данных Cosmos DB из приложения Windows
В этой статье содержатся шаги, необходимые для работы с базой данных Cosmos DB из приложения Windows. Здесь также приведены небольшие фрагменты кода, в которых показано, как с взаимодействовать с базами данных программным способом.
Настройка решения
Этот пример можно использовать с любым проектом WPF, Windows Forms, WinUI 3 и UWP для подключения приложения Windows к базе данных Cosmos DB. Выполните следующие действия, чтобы установить пакет и попробовать пример кода для некоторых основных задач.
- Откройте Консоль диспетчера пакетов (Представление -> Другие окна -> Консоль диспетчера пакетов). Используйте команду
Install-Package Microsoft.Azure.Cosmos
, чтобы установить пакет NuGet для клиентской библиотеки Azure Cosmos DB для NoSQL для .NET. Это позволит программным способом получить доступ к базам данных Cosmos DB. - Создайте проект и убедитесь, что сборка успешно выполнена без ошибок.
Затем необходимо создать экземпляр Cosmos DB в Azure. Для этого выполните действия, описанные в статье "Создание учетной записи базы данных NoSQL в Azure Cosmos DB".
Работа с Cosmos DB с помощью примера кода
Следующий пример кода получает контейнер из экземпляра Cosmos DB в Azure, а затем добавляет новый элемент в этот контейнер. Затем он использует API запросов NoSQL Cosmos DB для извлечения элемента из контейнера и вывода состояния ответа. Обратите внимание, что конечная точка, ключ проверки подлинности и имя базы данных должны быть настроены на основе экземпляра Cosmos DB, созданного в предыдущем разделе.
Примечание.
Полный пример, включая сведения о требуемой настройке и настройке Cosmos DB, см. в статье "Разработка консольного приложения .NET с помощью Azure Cosmos DB для 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}");
}
Связанный контент
Windows developer