FeedOptions interface
خيارات الموجز وأساليب الاستعلام.
- Extends
الخصائص
access |
الشروط المقترنة بالطلب. |
buffer |
تمكين التخزين المؤقت للعناصر الإضافية أثناء الاستعلامات. الافتراضي: False سيؤدي ذلك إلى تخزين صفحة إضافية مؤقتا في كل مرة (مضروبة في maxDegreeOfParallelism) من الخادم في الخلفية.
يؤدي ذلك إلى تحسين زمن الانتقال عن طريق إحضار الصفحات قبل أن يحتاجها العميل. إذا كنت تستنزف جميع النتائج من الخادم، مثل |
continuation | رمز مميز غير شفاف لمتابعة التعداد. الافتراضي: غير محدد |
continuation |
رمز مميز غير شفاف لمتابعة التعداد. الافتراضي: غير محدد |
continuation |
يحد من حجم الرمز المميز للمتابعة في الاستجابة. الافتراضي: غير محدد تحتوي الرموز المميزة للمتابعة على بيانات اختيارية يمكن إزالتها من التسلسل قبل كتابتها إلى رأس. بشكل افتراضي، نحدد هذا إلى 1 كيلوبايت لتجنب الرؤوس الطويلة (Node.js لها حد حجم رأس عمومي). قد يقوم المستخدم بتعيين هذا الحقل للسماح برؤوس أطول، والتي يمكن أن تساعد الواجهة الخلفية على تحسين تنفيذ الاستعلام." |
enable |
السماح بالمسح الضوئي على الاستعلامات التي لا يمكن استخدامها كفهرسة تم إلغاء الاشتراك في المسارات المطلوبة. الافتراضي: False بشكل عام، من الأفضل تجنب استخدام هذا الإعداد. عمليات الفحص مكلفة نسبيا وتستغرق وقتا طويلا للخدمة. |
force |
يفرض هذا الإعداد على الاستعلام استخدام خطة استعلام. الافتراضي: False ملاحظة: سيؤدي ذلك إلى تعطيل دعم الرمز المميز للمتابعة، حتى لاستعلامات القسم الواحد. بالنسبة للاستعلامات مثل التجميعات ومعظم استعلامات الأقسام المتقاطعة، يحدث هذا على أي حال. ومع ذلك، نظرا لأن المكتبة لا تعرف نوع الاستعلام الذي تريده حتى نسترجع الاستجابة الأولى، لا يمكن أن يحدث بعض التحسين حتى وقت لاحق. إذا تم تمكين هذا الإعداد، فسيفرض خطة الاستعلام للاستعلام، والتي ستحفظ بعض طلبات الشبكة وتضمن حدوث التوازي. مفيد عندما تعرف أنك تقوم بالاستعلامات عبر الأقسام أو التجميع. |
max |
الحد الأقصى لعدد العمليات المتزامنة التي تقوم بتشغيل جانب العميل أثناء تنفيذ الاستعلام المتوازي في خدمة قاعدة بيانات Azure Cosmos DB. تجعل القيم السالبة النظام يقرر تلقائيا عدد العمليات المتزامنة التي سيتم تشغيلها. الافتراضي: 0 (بدون توازي) |
max |
الحد الأقصى لعدد العناصر التي سيتم إرجاعها في عملية التعداد. الافتراضي: غير محدد (سيتم تعريف الخادم للحمولة) يمكن أن يؤدي انتهاء الصلاحية بهذه القيمة عادة إلى أكبر تغييرات في الأداء للاستعلام. كلما كان عدد العناصر أصغر، كلما تم تسليم النتيجة الأولى بشكل أسرع (لغير التجميعات). بالنسبة للمبالغ الأكبر، سيستغرق الأمر وقتا أطول لخدمة الطلب، ولكن عادة ما تحصل على معدل نقل أفضل للاستعلامات الكبيرة (أي إذا كنت بحاجة إلى 1000 عنصر قبل أن تتمكن من القيام بأي إجراءات أخرى، فقم بتعيين |
partition |
تقييد الاستعلام بمفتاح قسم معين. الافتراضي: غير محدد يمكن إنجاز تحديد نطاق استعلام إلى قسم واحد بطريقتين:
الأول مفيد عندما يكون نص الاستعلام خارج سيطرتك ولكنك لا تزال تريد تقييده إلى قسم واحد. مثال: استعلام محدد من قبل المستخدم النهائي. |
populate |
تمكين مقاييس الفهرس المرجعة في رؤوس الاستجابة. الافتراضي: False |
populate |
تمكين مقاييس الاستعلام التي يتم إرجاعها في رؤوس الاستجابة. الافتراضي: False يستخدم لتصحيح أخطاء الاستعلامات البطيئة أو المكلفة. يزيد أيضا من حجم الاستجابة وإذا كنت تستخدم الحد الأقصى المنخفض لحجم الرأس في Node.js، يمكنك مواجهة المشكلات بشكل أسرع. |
use |
ملاحظة: ضع في اعتبارك استخدام changeFeed بدلا من ذلك. يشير إلى طلب موجز التغيير. يجب تعيين إلى "موجز تزايدي"، أو حذفه بخلاف ذلك. الافتراضي: False |
الخصائص الموروثة
abort |
abortSignal لتمريرها إلى جميع طلبات الشبكة الأساسية التي تم إنشاؤها بواسطة استدعاء الأسلوب هذا. راجع https://developer.mozilla.org/en-US/docs/Web/API/AbortController مثال إلغاء طلب قراءة
|
initial |
(حالة الاستخدام المتقدمة) العناوين الأولية التي يجب البدء بها عند إرسال الطلبات إلى Cosmos |
max |
تعيين قيمة staleness المقترنة بالطلب في خدمة Azure CosmosDB. بالنسبة للطلبات حيث <xref:com.azure.cosmos.ConsistencyLevel> يكون أو <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL><xref:com.azure.cosmos.ConsistencyLevel%23SESSION>، يتم ضمان الاستجابات من ذاكرة التخزين المؤقت المتكاملة لتكون لا تالفة من القيمة المشار إليها بواسطة maxIntegratedCacheStaleness هذا. عند عدم تعيين مستوى التناسق، يتم تجاهل هذه الخاصية. القيمة الافتراضية فارغة ذاكرة التخزين المؤقت Staleness مدعومة بنقاوة بالمللي ثانية. سيتم تجاهل أي شيء أصغر من مللي ثانية. |
priority |
مستوى الأولوية (منخفض/مرتفع) لكل طلب. يتم دائما تقييد الطلبات ذات الأولوية المنخفضة قبل أي طلبات ذات أولوية عالية. القيمة الافتراضية فارغة. بشكل افتراضي، تكون جميع الطلبات ذات أولوية عالية |
session |
تمكين/تعطيل الحصول على الحصة النسبية لحاوية المستندات ذات الصلة بطلبات قراءة حاوية المستند. |
تفاصيل الخاصية
accessCondition
الشروط المقترنة بالطلب.
accessCondition?: { condition: string, type: string }
قيمة الخاصية
{ condition: string, type: string }
bufferItems
تمكين التخزين المؤقت للعناصر الإضافية أثناء الاستعلامات. الافتراضي: False
سيؤدي ذلك إلى تخزين صفحة إضافية مؤقتا في كل مرة (مضروبة في maxDegreeOfParallelism) من الخادم في الخلفية.
يؤدي ذلك إلى تحسين زمن الانتقال عن طريق إحضار الصفحات قبل أن يحتاجها العميل. إذا كنت تستنزف جميع النتائج من الخادم، مثل .fetchAll
، يجب عليك عادة تمكين هذا. إذا كنت تقوم بإحضار صفحة واحدة فقط في كل مرة عبر رمز المتابعة المميز، فيجب تجنب ذلك. إذا كنت تستنزف أكثر من صفحة واحدة، ولكن ليس مجموعة النتائج بأكملها، فقد يساعد ذلك في تحسين زمن الانتقال، ولكنه سيزيد من إجمالي مقدار استخدام RU/s لخدمة الاستعلام بأكمله (حيث سيتم جلب بعض الصفحات أكثر من مرة).
bufferItems?: boolean
قيمة الخاصية
boolean
continuation
تحذير
واجهة برمجة التطبيقات هذه مهملة الآن.
Use continuationToken instead.
رمز مميز غير شفاف لمتابعة التعداد. الافتراضي: غير محدد
continuation?: string
قيمة الخاصية
string
continuationToken
رمز مميز غير شفاف لمتابعة التعداد. الافتراضي: غير محدد
continuationToken?: string
قيمة الخاصية
string
continuationTokenLimitInKB
يحد من حجم الرمز المميز للمتابعة في الاستجابة. الافتراضي: غير محدد
تحتوي الرموز المميزة للمتابعة على بيانات اختيارية يمكن إزالتها من التسلسل قبل كتابتها إلى رأس. بشكل افتراضي، نحدد هذا إلى 1 كيلوبايت لتجنب الرؤوس الطويلة (Node.js لها حد حجم رأس عمومي). قد يقوم المستخدم بتعيين هذا الحقل للسماح برؤوس أطول، والتي يمكن أن تساعد الواجهة الخلفية على تحسين تنفيذ الاستعلام."
continuationTokenLimitInKB?: number
قيمة الخاصية
number
enableScanInQuery
السماح بالمسح الضوئي على الاستعلامات التي لا يمكن استخدامها كفهرسة تم إلغاء الاشتراك في المسارات المطلوبة. الافتراضي: False
بشكل عام، من الأفضل تجنب استخدام هذا الإعداد. عمليات الفحص مكلفة نسبيا وتستغرق وقتا طويلا للخدمة.
enableScanInQuery?: boolean
قيمة الخاصية
boolean
forceQueryPlan
يفرض هذا الإعداد على الاستعلام استخدام خطة استعلام. الافتراضي: False
ملاحظة: سيؤدي ذلك إلى تعطيل دعم الرمز المميز للمتابعة، حتى لاستعلامات القسم الواحد.
بالنسبة للاستعلامات مثل التجميعات ومعظم استعلامات الأقسام المتقاطعة، يحدث هذا على أي حال. ومع ذلك، نظرا لأن المكتبة لا تعرف نوع الاستعلام الذي تريده حتى نسترجع الاستجابة الأولى، لا يمكن أن يحدث بعض التحسين حتى وقت لاحق.
إذا تم تمكين هذا الإعداد، فسيفرض خطة الاستعلام للاستعلام، والتي ستحفظ بعض طلبات الشبكة وتضمن حدوث التوازي. مفيد عندما تعرف أنك تقوم بالاستعلامات عبر الأقسام أو التجميع.
forceQueryPlan?: boolean
قيمة الخاصية
boolean
maxDegreeOfParallelism
الحد الأقصى لعدد العمليات المتزامنة التي تقوم بتشغيل جانب العميل أثناء تنفيذ الاستعلام المتوازي في خدمة قاعدة بيانات Azure Cosmos DB. تجعل القيم السالبة النظام يقرر تلقائيا عدد العمليات المتزامنة التي سيتم تشغيلها. الافتراضي: 0 (بدون توازي)
maxDegreeOfParallelism?: number
قيمة الخاصية
number
maxItemCount
الحد الأقصى لعدد العناصر التي سيتم إرجاعها في عملية التعداد. الافتراضي: غير محدد (سيتم تعريف الخادم للحمولة)
يمكن أن يؤدي انتهاء الصلاحية بهذه القيمة عادة إلى أكبر تغييرات في الأداء للاستعلام.
كلما كان عدد العناصر أصغر، كلما تم تسليم النتيجة الأولى بشكل أسرع (لغير التجميعات). بالنسبة للمبالغ الأكبر، سيستغرق الأمر وقتا أطول لخدمة الطلب، ولكن عادة ما تحصل على معدل نقل أفضل للاستعلامات الكبيرة (أي إذا كنت بحاجة إلى 1000 عنصر قبل أن تتمكن من القيام بأي إجراءات أخرى، فقم بتعيين maxItemCount
إلى 1000. إذا كان بإمكانك البدء في العمل بعد أول 100، فقم بتعيين maxItemCount
إلى 100.)
maxItemCount?: number
قيمة الخاصية
number
partitionKey
تقييد الاستعلام بمفتاح قسم معين. الافتراضي: غير محدد
يمكن إنجاز تحديد نطاق استعلام إلى قسم واحد بطريقتين:
container.items.query('SELECT * from c', { partitionKey: "foo" }).toArray()
container.items.query('SELECT * from c WHERE c.yourPartitionKey = "foo"').toArray()
الأول مفيد عندما يكون نص الاستعلام خارج سيطرتك ولكنك لا تزال تريد تقييده إلى قسم واحد. مثال: استعلام محدد من قبل المستخدم النهائي.
partitionKey?: PartitionKey
قيمة الخاصية
populateIndexMetrics
تمكين مقاييس الفهرس المرجعة في رؤوس الاستجابة. الافتراضي: False
populateIndexMetrics?: boolean
قيمة الخاصية
boolean
populateQueryMetrics
تمكين مقاييس الاستعلام التي يتم إرجاعها في رؤوس الاستجابة. الافتراضي: False
يستخدم لتصحيح أخطاء الاستعلامات البطيئة أو المكلفة. يزيد أيضا من حجم الاستجابة وإذا كنت تستخدم الحد الأقصى المنخفض لحجم الرأس في Node.js، يمكنك مواجهة المشكلات بشكل أسرع.
populateQueryMetrics?: boolean
قيمة الخاصية
boolean
useIncrementalFeed
ملاحظة: ضع في اعتبارك استخدام changeFeed بدلا من ذلك.
يشير إلى طلب موجز التغيير. يجب تعيين إلى "موجز تزايدي"، أو حذفه بخلاف ذلك. الافتراضي: False
useIncrementalFeed?: boolean
قيمة الخاصية
boolean
تفاصيل الخاصية الموروثة
abortSignal
abortSignal لتمريرها إلى جميع طلبات الشبكة الأساسية التي تم إنشاؤها بواسطة استدعاء الأسلوب هذا. راجع https://developer.mozilla.org/en-US/docs/Web/API/AbortController
مثال
إلغاء طلب قراءة
const controller = new AbortController()
const {result: item} = await items.query('SELECT * from c', { abortSignal: controller.signal});
controller.abort()
abortSignal?: AbortSignal
قيمة الخاصية
AbortSignal
موروث منSharedOptions.abortSignal
initialHeaders
(حالة الاستخدام المتقدمة) العناوين الأولية التي يجب البدء بها عند إرسال الطلبات إلى Cosmos
initialHeaders?: CosmosHeaders
قيمة الخاصية
موروث منSharedOptions.initialHeaders
maxIntegratedCacheStalenessInMs
تعيين قيمة staleness المقترنة بالطلب في خدمة Azure CosmosDB. بالنسبة للطلبات حيث <xref:com.azure.cosmos.ConsistencyLevel> يكون أو <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL><xref:com.azure.cosmos.ConsistencyLevel%23SESSION>، يتم ضمان الاستجابات من ذاكرة التخزين المؤقت المتكاملة لتكون لا تالفة من القيمة المشار إليها بواسطة maxIntegratedCacheStaleness هذا. عند عدم تعيين مستوى التناسق، يتم تجاهل هذه الخاصية.
القيمة الافتراضية فارغة
ذاكرة التخزين المؤقت Staleness مدعومة بنقاوة بالمللي ثانية. سيتم تجاهل أي شيء أصغر من مللي ثانية.
maxIntegratedCacheStalenessInMs?: number
قيمة الخاصية
number
priorityLevel
مستوى الأولوية (منخفض/مرتفع) لكل طلب. يتم دائما تقييد الطلبات ذات الأولوية المنخفضة قبل أي طلبات ذات أولوية عالية.
القيمة الافتراضية فارغة. بشكل افتراضي، تكون جميع الطلبات ذات أولوية عالية
priorityLevel?: PriorityLevel
قيمة الخاصية
موروث منSharedOptions.priorityLevel
sessionToken
تمكين/تعطيل الحصول على الحصة النسبية لحاوية المستندات ذات الصلة بطلبات قراءة حاوية المستند.
sessionToken?: string
قيمة الخاصية
string
موروث منSharedOptions.sessionToken