التشغيل السريع: استخدام Azure Cosmos DB ل NoSQL مع Azure SDK ل Rust
في هذا التشغيل السريع، يمكنك نشر تطبيق Azure Cosmos DB الأساسي للجدول باستخدام Azure SDK ل Rust. Azure Cosmos DB للجدول هو مخزن بيانات بلا مخطط يسمح للتطبيقات بتخزين بيانات الجدول المنظمة في السحابة. ستتعلم كيفية إنشاء جداول وصفوف وتنفيذ المهام الأساسية داخل مورد Azure Cosmos DB باستخدام Azure SDK ل Rust.
هام
SDK Rust ل Azure Cosmos DB قيد المعاينة العامة حاليا. يتم توفير هذه المعاينة دون اتفاقية على مستوى الخدمة، ولا نوصي بها لأحمال عمل الإنتاج. بعض الميزات ربما لا تكون مدعمة أو بها بعض القدرات المقيدة.
لمزيد من المعلومات، راجع شروط الاستخدام التكميلية لمعاينات Microsoft Azure.
الوثائق | المرجعية لمكتبة الوثائق المرجعية صندوق التعليمات البرمجية | المصدر (Rust) | Azure Developer CLI
المتطلبات الأساسية
- Docker Desktop
- Rust 1.80 أو أحدث
إذا لم يكن لديك حساب Azure، فأنشئ حساباً مجانياً قبل أن تبدأ.
تثبيت مكتبة العميل
تتوفر مكتبة العميل من خلال Rust، ك azure_data_cosmos
صندوق.
إذا لم يكن مثبتا بالفعل، فقم
azure_data_cosmos
بتثبيت الإنشاء باستخدامcargo install
.cargo install azure_data_cosmos
أيضا، قم بتثبيت
azure_identity
الصندوق إذا لم يكن مثبتا بالفعل.cargo install azure_identity
نموذج الكائن
Name | الوصف |
---|---|
CosmosClient |
هذا النوع هو العميل الأساسي ويستخدم لإدارة بيانات التعريف أو قواعد البيانات على مستوى الحساب. |
DatabaseClient |
يمثل هذا النوع قاعدة بيانات داخل الحساب. |
CollectionClient |
يستخدم هذا النوع بشكل أساسي لتنفيذ عمليات القراءة والتحديث والحذف على الحاوية أو العناصر المخزنة داخل الحاوية. |
أمثلة على التعليمات البرمجية
يستخدم نموذج التعليمات البرمجية في القالب قاعدة بيانات باسم cosmicworks
وحاوية باسم products
.
products
تحتوي الحاوية على تفاصيل مثل الاسم والفئة والكمية والمعرف الفريد وعلامة البيع لكل منتج. تستخدم الحاوية الخاصية /category
كمفتاح قسم منطقي.
مصادقة العميل
ينشئ هذا النموذج مثيلا CosmosClient
جديدا لاستخدام CosmosClient::new
المثيل والمصادقة عليه DefaultAzureCredential
.
let credential = DefaultAzureCredential::new()?;
let client = CosmosClient::new(&endpoint, credential, None)?;
الحصول على قاعدة بيانات
استخدم client.database
لاسترداد قاعدة البيانات الموجودة المسماة cosmicworks
.
let database = client.database_client("cosmicworks");
الحصول على حاوية
استرداد الحاوية الموجودة products
باستخدام database.container
.
let container = database.container_client("products");
إنشاء عنصر
أنشئ نوعا جديدا مع جميع الأعضاء الذين تريد تسلسلهم إلى JSON. في هذا المثال، يحتوي النوع على معرف فريد وحقول للفئة والاسم والكمية والسعر والبيع. اشتقاق السمة serde::Serialize
على هذا النوع، بحيث يمكن تسلسلها إلى 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,
}
إنشاء عنصر في الحاوية باستخدام container.upsert_item
. هذا الأسلوب "upserts" العنصر استبدال العنصر بشكل فعال إذا كان موجودا بالفعل.
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?;
قراءة عنصر
تنفيذ عملية قراءة نقطة باستخدام كل من المعرف الفريد (id
) وحقول مفتاح القسم. استخدم container.ReadItem
لاسترداد العنصر المحدد بكفاءة.
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?;
عناصر الاستعلام
تنفيذ استعلام عبر عناصر متعددة في حاوية باستخدام container.NewQueryItemsPager
. ابحث عن كافة العناصر ضمن فئة محددة باستخدام هذا الاستعلام الذي تم تحديد معلمات له:
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
}
}
استكشف بياناتك
استخدم ملحق Visual Studio Code ل Azure Cosmos DB لاستكشاف بيانات NoSQL. يمكنك تنفيذ عمليات قاعدة البيانات الأساسية بما في ذلك على سبيل المثال لا الحصر:
- تنفيذ الاستعلامات باستخدام سجل قصاصات أو محرر الاستعلام
- تعديل العناصر وتحديثها وإنشائه وحذفها
- استيراد البيانات المجمعة من مصادر أخرى
- إدارة قواعد البيانات والحاويات
لمزيد من المعلومات، راجع كيفية استخدام ملحق Visual Studio Code لاستكشاف Azure Cosmos DB لبيانات NoSQL.
المحتوى ذو الصلة
- التشغيل السريع ل .NET
- Node.js التشغيل السريع
- التشغيل السريع ل Java
- التشغيل السريع ل Python
- التشغيل السريع