قراءة عنصر في Azure Cosmos DB للجدول باستخدام .NET

ينطبق على: جدول

تمثل العناصر في Azure Cosmos DB كيانًا معينًا مخزنًا في جدول. في واجهة برمجة التطبيقات للجدول، يتكون العنصر من مجموعة من أزواج قيم المفاتيح التي تم تعريفها بشكل فريد بواسطة مركب مفاتيح الصف والأقسام.

قراءة العناصر باستخدام المفتاح المركب

يحتوي كل عنصر في Azure Cosmos DB للجدول على معرف فريد يحدده مركب مفاتيح الصف والأقسام. يتم تخزين هذه المفاتيح المركبة كخصائص RowKey و PartitionKey على التوالي. ضمن نطاق الجدول، لا يمكن أن يشترك عنصران في نفس مركب المعرف الفريد.

يتطلب Azure Cosmos DB كلاً من المعرف الفريد وقيمة مفتاح القسم لعنصر لإجراء قراءة للعنصر. على وجه التحديد، سيؤدي توفير المفتاح المركب إلى إجراء قراءة نقطة لهذا العنصر بتكلفة يمكن التنبؤ بها في وحدات الطلب (RUs).

قراءة عنصر

لإجراء قراءة نقطة لعنصر ما، قم باستدعاء إحدى الأساليب التالية:

قراءة عنصر باستخدام فئة مضمنة

تقرأ نقطة المثال التالية عنصرًا واحدًا بشكل غير متزامن وتُرجع النتائج التي تم إلغاء تسلسلها في قاموس باستخدام TableEntity النوع المضمن:

// Read existing item from server-side table
TableEntity readItem = await tableClient.GetEntityAsync<TableEntity>(
    partitionKey: "68719518388",
    rowKey: "gear-surf-surfboards"
);

يقرأ الأسلوب TableClient.GetEntityAsync<TableEntity> والعنصر ويعيد عنصر من النوع Response<TableEntity>. يحتوي نوع الاستجابة<> على عامل تحويل ضمني لتحويل الكائن إلى كائن **TableEntity``.

قراءة عنصر باستخدام النوع الخاص بك

إشعار

تفترض الأمثلة في هذا القسم أنك قد حددت بالفعل نوع C # لتمثيل بياناتك المسماة Product:

// C# record type for items in the table
public record Product : ITableEntity
{
    public string RowKey { get; set; } = default!;

    public string PartitionKey { get; set; } = default!;

    public string Name { get; init; } = default!;

    public int Quantity { get; init; }

    public bool Sale { get; init; }

    public ETag ETag { get; set; } = default!;

    public DateTimeOffset? Timestamp { get; set; } = default!;
}

تقرأ نقطة المثال التالية عنصرا واحدا بشكل غير متزامن وترجع عنصرا غير تسلسلي باستخدام النوع العام المتوفر:

// Read existing item from server-side table
Product readItem = await tableClient.GetEntityAsync<Product>(
    partitionKey: "68719518388",
    rowKey: "gear-surf-surfboards"
);

هام

يجب أن يقوم النوع العام الذي تستخدمه مع أسلوب TableClient.GetEntityAsync<> بتنفيذ الواجهةITableEntity.

يقرأ الأسلوب TableClient.GetEntityAsync<> والعنصر ويعيد عنصر من النوع Response<>. يحتوي نوع الاستجابة<> على عامل تحويل ضمني لتحويل الكائن إلى النوع العام. لمعرفة المزيد حول عوامل التشغيل الضمنية، راجع عوامل تشغيل التحويل المعرفة من قبل المستخدم.

الخطوات التالية

الآن بعد أن قرأت عناصر مختلفة، جرب أحد برامجنا التعليمية حول الاستعلام عن Azure Cosmos DB لبيانات الجدول.