Bagikan melalui


Menggunakan database Cosmos DB dari aplikasi Windows

Artikel ini berisi langkah-langkah yang diperlukan untuk mengaktifkan bekerja dengan database Cosmos DB dari aplikasi Windows. Ini juga berisi cuplikan kode kecil yang menunjukkan bagaimana Anda dapat berinteraksi dengan database dalam kode.

Menyiapkan solusi Anda

Contoh ini dapat digunakan dengan proyek WPF, Formulir Windows, WinUI 3, dan UWP apa pun untuk menghubungkan aplikasi Windows Anda ke database Cosmos DB. Ikuti langkah-langkah ini untuk menginstal paket dan mencoba contoh kode untuk beberapa tugas dasar.

  1. Buka Konsol Manajer Paket (Lihat -> Windows Lain -> Konsol Manajer Paket). Gunakan perintah Install-Package Microsoft.Azure.Cosmos untuk menginstal paket NuGet untuk pustaka klien Azure Cosmos DB for NoSQL untuk .NET. Ini akan memungkinkan Anda untuk mengakses database Cosmos DB secara terprogram.
  2. Bangun proyek Anda dan pastikan build berhasil tanpa kesalahan.

Selanjutnya, Anda harus membuat instans Cosmos DB di Azure. Anda dapat melakukan ini dengan mengikuti langkah-langkah dalam Membuat akun database NoSQL di Azure Cosmos DB.

Bekerja dengan Cosmos DB menggunakan kode sampel

Kode sampel berikut mendapatkan kontainer dari instans Cosmos DB di Azure, lalu menambahkan item baru ke kontainer tersebut. Kemudian menggunakan API kueri NoSQL Cosmos DB untuk mengambil item dari kontainer dan menghasilkan status respons. Perhatikan bahwa titik akhir, kunci autentikasi, dan nama database perlu disesuaikan berdasarkan instans Cosmos DB yang Anda buat di bagian sebelumnya.

Catatan

Untuk contoh lengkapnya, termasuk informasi tentang penyiapan dan konfigurasi Cosmos DB yang diperlukan, lihat Mengembangkan aplikasi konsol .NET dengan Azure Cosmos DB untuk 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}");
}