Jelajahi Microsoft .NET SDK v3 untuk Azure Cosmos DB
Unit ini berfokus pada Azure Cosmos DB .NET SDK v3 untuk API untuk NoSQL. (Paket NuGet Microsoft.Azure.Cosmos .) Jika Anda terbiasa dengan versi .NET SDK sebelumnya, Anda mungkin terbiasa dengan kumpulan istilah dan dokumen.
Repositori GitHub azure-cosmos-dotnet-v3 menyertakan solusi sampel .NET terbaru. Anda menggunakan solusi ini untuk melakukan CRUD (membuat, membaca, memperbarui, dan menghapus) dan operasi umum lainnya pada sumber daya Azure Cosmos DB.
Karena Azure Cosmos DB mendukung beberapa model API, versi 3 dari .NET SDK menggunakan kontainer dan item istilah generik. Sebuah kontainer dapat berupa kumpulan, grafik, atau tabel. Sebuah item dapat berupa dokumen, edge/puncak, atau baris, dan merupakan konten di dalam kontainer.
Berikut ini adalah contoh yang menunjukkan beberapa operasi utama yang harus Anda kenal. Untuk contoh lainnya, silakan kunjungi tautan GitHub yang ditampilkan sebelumnya. Contoh di bawah ini semuanya menggunakan metode versi async.
CosmosClient
Membuat CosmosClient
baru dengan string koneksi. CosmosClient
aman untuk utas. Rekomendasinya adalah mempertahankan satu instans CosmosClient
per masa pakai aplikasi yang memungkinkan manajemen dan performa koneksi yang efisien.
CosmosClient client = new CosmosClient(endpoint, key);
Contoh database
Membuat database
Metode ini CosmosClient.CreateDatabaseAsync
melemparkan pengecualian jika database dengan nama yang sama sudah ada.
// New instance of Database class referencing the server-side database
Database database1 = await client.CreateDatabaseAsync(
id: "adventureworks-1"
);
CosmosClient.CreateDatabaseIfNotExistsAsync
memeriksa apakah database ada, dan jika belum ada, akan membuat database baru. Hanya database id
yang digunakan untuk memverifikasi apakah ada database yang sudah ada.
// New instance of Database class referencing the server-side database
Database database2 = await client.CreateDatabaseIfNotExistsAsync(
id: "adventureworks-2"
);
Baca database menurut ID
Membaca database dari layanan Azure Cosmos DB sebagai operasi asinkron.
DatabaseResponse readResponse = await database.ReadAsync();
Menghapus database
Hapus Database sebagai operasi asinkron.
await database.DeleteAsync();
Contoh kontainer
Membuat kontainer
Metode Database.CreateContainerIfNotExistsAsync
memeriksa apakah kontainer ada, dan jika belum ada, akan membuat kontainer baru. Hanya kontainer id
yang digunakan untuk memverifikasi apakah ada kontainer yang ada.
// Set throughput to the minimum value of 400 RU/s
ContainerResponse simpleContainer = await database.CreateContainerIfNotExistsAsync(
id: containerId,
partitionKeyPath: partitionKey,
throughput: 400);
Mendapatkan kontainer menurut ID
Container container = database.GetContainer(containerId);
ContainerProperties containerProperties = await container.ReadContainerAsync();
Menghapus kontainer
Hapus Kontainer sebagai operasi asinkron.
await database.GetContainer(containerId).DeleteContainerAsync();
Contoh item
Membuat item
Gunakan metode Container.CreateItemAsync
untuk membuat item. Metode ini memerlukan objek serial JSON yang harus berisi properti id
, dan partitionKey
.
ItemResponse<SalesOrder> response = await container.CreateItemAsync(salesOrder, new PartitionKey(salesOrder.AccountNumber));
Baca item
Gunakan metode Container.ReadItemAsync
untuk membaca item. Metode ini memerlukan jenis untuk membuat serial item bersama dengan properti id
, dan partitionKey
.
string id = "[id]";
string accountNumber = "[partition-key]";
ItemResponse<SalesOrder> response = await container.ReadItemAsync(id, new PartitionKey(accountNumber));
Membuat kueri item
Metode Container.GetItemQueryIterator
membuat kueri untuk item di bagian kontainer di database Azure Cosmos menggunakan pernyataan SQL dengan nilai parameter. Hal ini menampilkan FeedIterator
.
QueryDefinition query = new QueryDefinition(
"select * from sales s where s.AccountNumber = @AccountInput ")
.WithParameter("@AccountInput", "Account1");
FeedIterator<SalesOrder> resultSet = container.GetItemQueryIterator<SalesOrder>(
query,
requestOptions: new QueryRequestOptions()
{
PartitionKey = new PartitionKey("Account1"),
MaxItemCount = 1
});
Sumber daya lainnya
Repositori GitHub azure-cosmos-dotnet-v3 mencakup solusi sampel .NET terbaru untuk melakukan CRUD dan operasi umum lainnya pada sumber daya Azure Cosmos DB.
Kunjungi artikel ini Azure Cosmos DB.NET V3 SDK (Microsoft.Azure.Cosmos) contoh API SQL untuk tautan langsung ke contoh spesifik di repositori GitHub.