FeedOptions interface

خيارات الموجز وأساليب الاستعلام.

Extends

الخصائص

accessCondition

الشروط المقترنة بالطلب.

bufferItems

تمكين التخزين المؤقت للعناصر الإضافية أثناء الاستعلامات. الافتراضي: False

سيؤدي ذلك إلى تخزين صفحة إضافية مؤقتا في كل مرة (مضروبة في maxDegreeOfParallelism) من الخادم في الخلفية. يؤدي ذلك إلى تحسين زمن الانتقال عن طريق إحضار الصفحات قبل أن يحتاجها العميل. إذا كنت تستنزف جميع النتائج من الخادم، مثل .fetchAll، يجب عليك عادة تمكين هذا. إذا كنت تقوم بإحضار صفحة واحدة فقط في كل مرة عبر رمز المتابعة المميز، فيجب تجنب ذلك. إذا كنت تستنزف أكثر من صفحة واحدة، ولكن ليس مجموعة النتائج بأكملها، فقد يساعد ذلك في تحسين زمن الانتقال، ولكنه سيزيد من إجمالي مقدار استخدام RU/s لخدمة الاستعلام بأكمله (حيث سيتم جلب بعض الصفحات أكثر من مرة).

continuation

رمز مميز غير شفاف لمتابعة التعداد. الافتراضي: غير محدد

continuationToken

رمز مميز غير شفاف لمتابعة التعداد. الافتراضي: غير محدد

continuationTokenLimitInKB

يحد من حجم الرمز المميز للمتابعة في الاستجابة. الافتراضي: غير محدد

تحتوي الرموز المميزة للمتابعة على بيانات اختيارية يمكن إزالتها من التسلسل قبل كتابتها إلى رأس. بشكل افتراضي، نحدد هذا إلى 1 كيلوبايت لتجنب الرؤوس الطويلة (Node.js لها حد حجم رأس عمومي). قد يقوم المستخدم بتعيين هذا الحقل للسماح برؤوس أطول، والتي يمكن أن تساعد الواجهة الخلفية على تحسين تنفيذ الاستعلام."

enableScanInQuery

السماح بالمسح الضوئي على الاستعلامات التي لا يمكن استخدامها كفهرسة تم إلغاء الاشتراك في المسارات المطلوبة. الافتراضي: False

بشكل عام، من الأفضل تجنب استخدام هذا الإعداد. عمليات الفحص مكلفة نسبيا وتستغرق وقتا طويلا للخدمة.

forceQueryPlan

يفرض هذا الإعداد على الاستعلام استخدام خطة استعلام. الافتراضي: False

ملاحظة: سيؤدي ذلك إلى تعطيل دعم الرمز المميز للمتابعة، حتى لاستعلامات القسم الواحد.

بالنسبة للاستعلامات مثل التجميعات ومعظم استعلامات الأقسام المتقاطعة، يحدث هذا على أي حال. ومع ذلك، نظرا لأن المكتبة لا تعرف نوع الاستعلام الذي تريده حتى نسترجع الاستجابة الأولى، لا يمكن أن يحدث بعض التحسين حتى وقت لاحق.

إذا تم تمكين هذا الإعداد، فسيفرض خطة الاستعلام للاستعلام، والتي ستحفظ بعض طلبات الشبكة وتضمن حدوث التوازي. مفيد عندما تعرف أنك تقوم بالاستعلامات عبر الأقسام أو التجميع.

maxDegreeOfParallelism

الحد الأقصى لعدد العمليات المتزامنة التي تقوم بتشغيل جانب العميل أثناء تنفيذ الاستعلام المتوازي في خدمة قاعدة بيانات Azure Cosmos DB. تجعل القيم السالبة النظام يقرر تلقائيا عدد العمليات المتزامنة التي سيتم تشغيلها. الافتراضي: 0 (بدون توازي)

maxItemCount

الحد الأقصى لعدد العناصر التي سيتم إرجاعها في عملية التعداد. الافتراضي: غير محدد (سيتم تعريف الخادم للحمولة)

يمكن أن يؤدي انتهاء الصلاحية بهذه القيمة عادة إلى أكبر تغييرات في الأداء للاستعلام.

كلما كان عدد العناصر أصغر، كلما تم تسليم النتيجة الأولى بشكل أسرع (لغير التجميعات). بالنسبة للمبالغ الأكبر، سيستغرق الأمر وقتا أطول لخدمة الطلب، ولكن عادة ما تحصل على معدل نقل أفضل للاستعلامات الكبيرة (أي إذا كنت بحاجة إلى 1000 عنصر قبل أن تتمكن من القيام بأي إجراءات أخرى، فقم بتعيين maxItemCount إلى 1000. إذا كان بإمكانك البدء في العمل بعد أول 100، فقم بتعيين maxItemCount إلى 100.)

partitionKey

تقييد الاستعلام بمفتاح قسم معين. الافتراضي: غير محدد

يمكن إنجاز تحديد نطاق استعلام إلى قسم واحد بطريقتين:

container.items.query('SELECT * from c', { partitionKey: "foo" }).toArray() container.items.query('SELECT * from c WHERE c.yourPartitionKey = "foo"').toArray()

الأول مفيد عندما يكون نص الاستعلام خارج سيطرتك ولكنك لا تزال تريد تقييده إلى قسم واحد. مثال: استعلام محدد من قبل المستخدم النهائي.

populateIndexMetrics

تمكين مقاييس الفهرس المرجعة في رؤوس الاستجابة. الافتراضي: False

populateQueryMetrics

تمكين مقاييس الاستعلام التي يتم إرجاعها في رؤوس الاستجابة. الافتراضي: False

يستخدم لتصحيح أخطاء الاستعلامات البطيئة أو المكلفة. يزيد أيضا من حجم الاستجابة وإذا كنت تستخدم الحد الأقصى المنخفض لحجم الرأس في Node.js، يمكنك مواجهة المشكلات بشكل أسرع.

useIncrementalFeed

ملاحظة: ضع في اعتبارك استخدام changeFeed بدلا من ذلك.

يشير إلى طلب موجز التغيير. يجب تعيين إلى "موجز تزايدي"، أو حذفه بخلاف ذلك. الافتراضي: False

الخصائص الموروثة

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()
initialHeaders

(حالة الاستخدام المتقدمة) العناوين الأولية التي يجب البدء بها عند إرسال الطلبات إلى Cosmos

maxIntegratedCacheStalenessInMs

تعيين قيمة staleness المقترنة بالطلب في خدمة Azure CosmosDB. بالنسبة للطلبات حيث <xref:com.azure.cosmos.ConsistencyLevel> يكون أو <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL><xref:com.azure.cosmos.ConsistencyLevel%23SESSION>، يتم ضمان الاستجابات من ذاكرة التخزين المؤقت المتكاملة لتكون لا تالفة من القيمة المشار إليها بواسطة maxIntegratedCacheStaleness هذا. عند عدم تعيين مستوى التناسق، يتم تجاهل هذه الخاصية.

القيمة الافتراضية فارغة

ذاكرة التخزين المؤقت Staleness مدعومة بنقاوة بالمللي ثانية. سيتم تجاهل أي شيء أصغر من مللي ثانية.

priorityLevel

مستوى الأولوية (منخفض/مرتفع) لكل طلب. يتم دائما تقييد الطلبات ذات الأولوية المنخفضة قبل أي طلبات ذات أولوية عالية.

القيمة الافتراضية فارغة. بشكل افتراضي، تكون جميع الطلبات ذات أولوية عالية

sessionToken

تمكين/تعطيل الحصول على الحصة النسبية لحاوية المستندات ذات الصلة بطلبات قراءة حاوية المستند.

تفاصيل الخاصية

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

موروث منSharedOptions.maxIntegratedCacheStalenessInMs

priorityLevel

مستوى الأولوية (منخفض/مرتفع) لكل طلب. يتم دائما تقييد الطلبات ذات الأولوية المنخفضة قبل أي طلبات ذات أولوية عالية.

القيمة الافتراضية فارغة. بشكل افتراضي، تكون جميع الطلبات ذات أولوية عالية

priorityLevel?: PriorityLevel

قيمة الخاصية

موروث منSharedOptions.priorityLevel

sessionToken

تمكين/تعطيل الحصول على الحصة النسبية لحاوية المستندات ذات الصلة بطلبات قراءة حاوية المستند.

sessionToken?: string

قيمة الخاصية

string

موروث منSharedOptions.sessionToken