Mulai cepat: Menggunakan Azure Cosmos DB untuk NoSQL dengan Azure SDK untuk Rust
Dalam mulai cepat ini, Anda menyebarkan aplikasi Azure Cosmos DB for Table dasar menggunakan Azure SDK untuk Rust. Azure Cosmos DB for Table adalah penyimpanan data tanpa skema yang memungkinkan aplikasi menyimpan data tabel terstruktur di cloud. Anda mempelajari cara membuat tabel, baris, dan melakukan tugas dasar dalam sumber daya Azure Cosmos DB Anda menggunakan Azure SDK for Rust.
Penting
Rust SDK untuk Azure Cosmos DB saat ini dalam pratinjau publik. Pratinjau ini disediakan tanpa perjanjian tingkat layanan, dan kami tidak merekomendasikannya untuk beban kerja produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan terbatas.
Untuk mengetahui informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.
Dokumentasi | referensi API Kode | sumber pustaka Crate (Rust) | Azure Developer CLI
Prasyarat
- Desktop Docker
- Karat 1.80 atau yang lebih baru
Jika Anda tidak memiliki akun Azure, buat akun gratis sebelum memulai.
Memasang pustaka klien
Pustaka klien tersedia melalui Rust, sebagai peti azure_data_cosmos
.
Jika belum diinstal, instal buat
azure_data_cosmos
menggunakancargo install
.cargo install azure_data_cosmos
Selain itu, instal peti
azure_identity
jika belum diinstal.cargo install azure_identity
Model objek
Nama | Deskripsi |
---|---|
CosmosClient |
Jenis ini adalah klien utama dan digunakan untuk mengelola metadata atau database di seluruh akun. |
DatabaseClient |
Jenis ini mewakili database dalam akun. |
CollectionClient |
Jenis ini terutama digunakan untuk melakukan operasi baca, perbarui, dan hapus pada kontainer atau item yang disimpan dalam kontainer. |
Contoh kode
- Autentikasi klien
- Mendapatkan database
- Mendapatkan kontainer
- Membuat item
- Mendapatkan item
- Item kueri
Kode sampel dalam templat menggunakan database bernama cosmicworks
dan kontainer bernama products
. Kontainer products
berisi detail seperti nama, kategori, kuantitas, pengidentifikasi unik, dan bendera penjualan untuk setiap produk. Kontainer menggunakan /category
properti sebagai kunci partisi logis.
Mengautentikasi klien
Sampel ini membuat instans baru menggunakan CosmosClient
CosmosClient::new
dan mengautentikasi menggunakan DefaultAzureCredential
instans.
let credential = DefaultAzureCredential::new()?;
let client = CosmosClient::new(&endpoint, credential, None)?;
Mendapatkan database
Gunakan client.database
untuk mengambil database yang sudah ada bernama cosmicworks
.
let database = client.database_client("cosmicworks");
Mendapatkan kontainer
Ambil kontainer yang products
ada menggunakan database.container
.
let container = database.container_client("products");
Membuat item
Buat jenis baru dengan semua anggota yang ingin Anda serialkan ke JSON. Dalam contoh ini, jenis memiliki pengidentifikasi unik, dan bidang untuk kategori, nama, kuantitas, harga, dan penjualan. Dapatkan serde::Serialize
sifat pada jenis ini, sehingga dapat diserialisasikan ke JSON.
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize)]
pub struct Item {
pub id: String,
pub category: String,
pub name: String,
pub quantity: i32,
pub price: f64,
pub clearance: bool,
}
Buat item dalam kontainer menggunakan container.upsert_item
. Metode ini "upsert" item secara efektif mengganti item jika sudah ada.
let item = Item {
id: "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb".to_string(),
category: "gear-surf-surfboards".to_string(),
name: "Yamba Surfboard".to_string(),
quantity: 12,
price: 850.00,
clearance: false,
};
let partition_key = PartitionKey::from(item.category.clone());
let partition_key = PartitionKey::from(item.category.clone());
container.upsert_item(partition_key, item.clone(), None).await?;
Baca item
Lakukan operasi baca titik dengan menggunakan bidang pengidentifikasi unik (id
) dan kunci partisi. Gunakan container.ReadItem
untuk mengambil item tertentu secara efisien.
let item_id = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb";
let item_partition_key = "gear-surf-surfboards";
let response = container.read_item(item_partition_key, item_id, None).await?;
let item: Item = response.into_json_body().await?;
Buat kueri item
Lakukan kueri melalui beberapa item dalam kontainer menggunakan container.NewQueryItemsPager
. Temukan semua item dalam kategori tertentu menggunakan kueri berparameter ini:
SELECT * FROM products p WHERE p.category = @category
let item_partition_key = "gear-surf-surfboards";
let query = Query::from("SELECT * FROM c WHERE c.category = @category")
.with_parameter("@category", item_partition_key)?;
let mut pager = container.query_items::<Item>(query, item_partition_key, None)?;
while let Some(page_response) = pager.next().await {
let page = page_response?.into_body().await?;
for item in page.items {
// Do something
}
}
Jelajahi sampel Anda
Gunakan ekstensi Visual Studio Code untuk Azure Cosmos DB untuk menjelajahi data NoSQL Anda. Anda dapat melakukan operasi database inti termasuk, tetapi tidak terbatas pada:
- Melakukan kueri menggunakan scrapbook atau editor kueri
- Memodifikasi, memperbarui, membuat, dan menghapus item
- Mengimpor data massal dari sumber lain
- Mengelola database dan kontainer
Untuk informasi selengkapnya, lihat Cara menggunakan ekstensi Visual Studio Code untuk menjelajahi data Azure Cosmos DB for NoSQL.