QueueClient الفصل
عميل للتفاعل مع قائمة انتظار معينة.
لمزيد من التكوين الاختياري، يرجى النقر هنا.
- توريث
-
azure.storage.queue._shared.base_client.StorageAccountHostsMixinQueueClientazure.storage.queue._encryption.StorageEncryptionMixinQueueClient
الدالمنشئ
QueueClient(account_url: str, queue_name: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any)
المعلمات
- account_url
- str
عنوان URL لحساب التخزين. لإنشاء عميل نظرا ل URI الكامل لقائمة الانتظار، استخدم from_queue_url classmethod.
- credential
بيانات الاعتماد التي يجب المصادقة بها. هذا اختياري إذا كان عنوان URL للحساب يحتوي بالفعل على رمز SAS مميز. يمكن أن تكون القيمة سلسلة رمز SAS المميز أو مثيل AzureSasCredential أو AzureNamedKeyCredential من azure.core.credentials أو مفتاح وصول مشترك للحساب أو مثيل فئة TokenCredentials من azure.identity. إذا كان عنوان URI للمورد يحتوي بالفعل على رمز SAS المميز، فسيتم تجاهل هذا لصالح بيانات اعتماد صريحة
- باستثناء حالة AzureSasCredential، حيث سترفع رموز SAS المميزة المتعارضة ValueError. إذا كنت تستخدم مثيل AzureNamedKeyCredential، يجب أن يكون "الاسم" هو اسم حساب التخزين، ويجب أن يكون "المفتاح" هو مفتاح حساب التخزين.
- api_version
- str
إصدار Storage API لاستخدامه للطلبات. القيمة الافتراضية هي أحدث إصدار خدمة متوافق مع SDK الحالي. قد يؤدي الإعداد إلى إصدار أقدم إلى تقليل توافق الميزات.
- secondary_hostname
- str
اسم مضيف نقطة النهاية الثانوية.
- message_encode_policy
نهج الترميز لاستخدام الرسائل الصادرة. الافتراضي هو عدم ترميز الرسائل. تتضمن TextBase64EncodePolicyالخيارات الأخرى ، BinaryBase64EncodePolicy أو بلا.
- message_decode_policy
نهج فك التشفير لاستخدامه في الرسائل الواردة. القيمة الافتراضية هي عدم فك تشفير الرسائل. تتضمن TextBase64DecodePolicyالخيارات الأخرى ، BinaryBase64DecodePolicy أو بلا.
- audience
- str
الجمهور الذي يجب استخدامه عند طلب الرموز المميزة لمصادقة Azure Active Directory. يكون له تأثير فقط عندما تكون بيانات الاعتماد من نوع TokenCredential. قد تكون https://storage.azure.com/ القيمة (افتراضية) أو https://.queue.core.windows.net.
أمثلة
إنشاء عميل قائمة الانتظار باستخدام عنوان URL وبيانات الاعتماد.
token_auth_queue = QueueClient.from_queue_url(
queue_url=queue.url,
credential=sas_token
)
الأساليب
clear_messages |
حذف كافة الرسائل من قائمة الانتظار المحددة. |
close |
هذا الأسلوب هو إغلاق مآخذ التوصيل التي يفتحها العميل. لا يلزم استخدامه عند استخدام مع مدير سياق. |
create_queue |
إنشاء قائمة انتظار جديدة في حساب التخزين. إذا كانت قائمة انتظار بنفس الاسم موجودة بالفعل، تفشل العملية باستخدام ResourceExistsError. |
delete_message |
حذف الرسالة المحددة. عادة بعد أن يسترد العميل رسالة مع عملية تلقي الرسائل، من المتوقع أن يقوم العميل بمعالجة الرسالة وحذفها. لحذف الرسالة، يجب أن يكون لديك كائن الرسالة نفسه، أو عنصرين من البيانات: المعرف pop_receipt. يتم إرجاع المعرف من عملية receive_messages السابقة. يتم إرجاع pop_receipt من أحدث receive_messages أو update_message عملية. لكي تنجح عملية delete_message، يجب أن تتطابق pop_receipt المحددة على الطلب مع pop_receipt التي تم إرجاعها من receive_messages العملية أو update_message . |
delete_queue |
حذف قائمة الانتظار المحددة وأي رسائل تحتوي عليها. عند حذف قائمة انتظار بنجاح، يتم وضع علامة عليها على الفور للحذف ولم يعد من الممكن للعملاء الوصول إليها. تتم إزالة قائمة الانتظار لاحقا من خدمة قائمة الانتظار أثناء تجميع البيانات المهملة. لاحظ أنه من المحتمل أن يستغرق حذف قائمة انتظار 40 ثانية على الأقل لإكمالها. إذا تمت محاولة إجراء عملية مقابل قائمة الانتظار أثناء حذفها، <xref:azure.storage.queue.HttpResponseError> فسيتم طرح. |
from_connection_string |
إنشاء QueueClient من سلسلة اتصال. |
from_queue_url |
عميل للتفاعل مع قائمة انتظار معينة. |
get_queue_access_policy |
إرجاع تفاصيل حول أي نهج وصول مخزنة محددة في قائمة الانتظار التي يمكن استخدامها مع توقيعات الوصول المشترك. |
get_queue_properties |
إرجاع كافة بيانات التعريف المعرفة من قبل المستخدم لقائمة الانتظار المحددة. لا تتضمن البيانات التي تم إرجاعها قائمة الرسائل الخاصة بقائمة الانتظار. |
peek_messages |
استرداد رسالة واحدة أو أكثر من مقدمة قائمة الانتظار، ولكن لا يغير رؤية الرسالة. يمكن استرداد الرسائل المرئية فقط. عند استرداد رسالة للمرة الأولى مع استدعاء إلى receive_messages، يتم تعيين الخاصية dequeue_count الخاصة بها إلى 1. إذا لم يتم حذفه وتم استرداده لاحقا مرة أخرى، يتم زيادة الخاصية dequeue_count. قد يستخدم العميل هذه القيمة لتحديد عدد المرات التي تم فيها استرداد رسالة. لاحظ أن استدعاء peek_messages لا يؤدي إلى زيادة قيمة dequeue_count، ولكنه يرجع هذه القيمة للعميل للقراءة. إذا تم تعيين حقل مفتاح تشفير المفتاح أو المحلل على كائن الخدمة المحلي، فسيتم فك تشفير الرسائل قبل إرجاعها. |
receive_message |
إزالة رسالة واحدة من مقدمة قائمة الانتظار. عند استرداد الرسالة من قائمة الانتظار، تتضمن الاستجابة محتوى الرسالة وقيمة pop_receipt، وهي مطلوبة لحذف الرسالة. لا يتم حذف الرسالة تلقائيا من قائمة الانتظار، ولكن بعد استردادها، لا تكون مرئية للعملاء الآخرين للفاصل الزمني المحدد بواسطة المعلمة visibility_timeout. إذا تم تعيين حقل مفتاح تشفير المفتاح أو المحلل على كائن الخدمة المحلي، فسيتم فك تشفير الرسالة قبل إرجاعها. |
receive_messages |
إزالة رسالة واحدة أو أكثر من مقدمة قائمة الانتظار. عند استرداد رسالة من قائمة الانتظار، تتضمن الاستجابة محتوى الرسالة وقيمة pop_receipt، المطلوبة لحذف الرسالة. لا يتم حذف الرسالة تلقائيا من قائمة الانتظار، ولكن بعد استردادها، لا تكون مرئية للعملاء الآخرين للفاصل الزمني المحدد بواسطة المعلمة visibility_timeout. سيقوم المكرر بإحضار الرسائل باستمرار حتى تكون قائمة الانتظار فارغة أو max_messages يتم الوصول إليها (إذا تم تعيين max_messages). إذا تم تعيين حقل مفتاح تشفير المفتاح أو المحلل على كائن الخدمة المحلي، فسيتم فك تشفير الرسائل قبل إرجاعها. |
send_message |
إضافة رسالة جديدة إلى الجزء الخلفي من قائمة انتظار الرسائل. تحدد مهلة الرؤية الوقت الذي ستكون فيه الرسالة غير مرئية. بعد انتهاء المهلة، ستصبح الرسالة مرئية. إذا لم يتم تحديد مهلة رؤية، يتم استخدام القيمة الافتراضية 0. يحدد وقت بقاء الرسالة المدة التي ستبقى فيها الرسالة في قائمة الانتظار. سيتم حذف الرسالة من قائمة الانتظار عند انتهاء فترة البقاء. إذا تم تعيين حقل مفتاح تشفير المفتاح على كائن الخدمة المحلي، فإن هذا الأسلوب سيقوم بتشفير المحتوى قبل التحميل. |
set_queue_access_policy |
تعيين نهج الوصول المخزنة لقائمة الانتظار التي يمكن استخدامها مع توقيعات الوصول المشترك. عند تعيين أذونات لقائمة انتظار، يتم استبدال الأذونات الموجودة. لتحديث أذونات قائمة الانتظار، اتصل get_queue_access_policy بإحضار جميع نهج الوصول المقترنة بقائمة الانتظار، وقم بتعديل نهج الوصول الذي ترغب في تغييره، ثم استدع هذه الدالة مع المجموعة الكاملة من البيانات لتنفيذ التحديث. عند إنشاء نهج وصول مخزن في قائمة انتظار، قد يستغرق الأمر ما يصل إلى 30 ثانية حتى يصبح ساري المفعول. أثناء هذا الفاصل الزمني، سيطرح توقيع الوصول المشترك المقترن بنهج الوصول المخزن حتى يصبح نهج الوصول نشطا <xref:azure.storage.queue.HttpResponseError> . |
set_queue_metadata |
تعيين بيانات التعريف المعرفة من قبل المستخدم في قائمة الانتظار المحددة. ترتبط بيانات التعريف بقائمة الانتظار كأزواج قيمة الاسم. |
update_message |
التحديثات مهلة رؤية الرسالة. يمكنك أيضا استخدام هذه العملية لتحديث محتويات الرسالة. يمكن استخدام هذه العملية لتوسيع نطاق رسالة قائمة الانتظار باستمرار. يمكن أن تكون هذه الوظيفة مفيدة إذا كنت تريد أن "يستأجر" دور عامل رسالة قائمة انتظار. على سبيل المثال، إذا كان دور العامل يستدعي receive_messages ويدرك أنه يحتاج إلى مزيد من الوقت لمعالجة رسالة، فيمكنه توسيع نطاق عدم وضوح الرسالة باستمرار حتى تتم معالجتها. إذا فشل دور العامل أثناء المعالجة، فستصبح الرسالة مرئية مرة أخرى في النهاية ويمكن لدور عامل آخر معالجتها. إذا تم تعيين حقل مفتاح تشفير المفتاح على كائن الخدمة المحلي، فإن هذا الأسلوب سيقوم بتشفير المحتوى قبل التحميل. |
clear_messages
حذف كافة الرسائل من قائمة الانتظار المحددة.
clear_messages(**kwargs: Any) -> None
المعلمات
- timeout
- int
تعيين المهلة من جانب الخادم للعملية بالثوان. لمزيد من التفاصيل، راجع https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. لا يتم تعقب هذه القيمة أو التحقق من صحتها على العميل. لتكوين مهلات الشبكة من جانب العميل، راجع هنا.
أمثلة
مسح كافة الرسائل.
queue.clear_messages()
close
هذا الأسلوب هو إغلاق مآخذ التوصيل التي يفتحها العميل. لا يلزم استخدامه عند استخدام مع مدير سياق.
close()
create_queue
إنشاء قائمة انتظار جديدة في حساب التخزين.
إذا كانت قائمة انتظار بنفس الاسم موجودة بالفعل، تفشل العملية باستخدام ResourceExistsError.
create_queue(*, metadata: Dict[str, str] | None = None, **kwargs: Any) -> None
المعلمات
إملاء يحتوي على أزواج الاسم والقيمة لإقرانها بقائمة الانتظار كبيانات تعريف. لاحظ أن تحتفظ أسماء بيانات التعريف بالحالة التي تم إنشاؤها بها، ولكنها غير متحسسة لحالة الأحرف عند تعيينها أو قراءتها.
- timeout
- int
تعيين المهلة من جانب الخادم للعملية بالثوان. لمزيد من التفاصيل، راجع https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. لا يتم تعقب هذه القيمة أو التحقق من صحتها على العميل. لتكوين مهلات الشبكة من جانب العميل، راجع هنا.
المرتجعات
لا شيء أو نتيجة cls (استجابة)
نوع الإرجاع
استثناءات
أمثلة
إنشاء قائمة انتظار.
queue.create_queue()
delete_message
حذف الرسالة المحددة.
عادة بعد أن يسترد العميل رسالة مع عملية تلقي الرسائل، من المتوقع أن يقوم العميل بمعالجة الرسالة وحذفها. لحذف الرسالة، يجب أن يكون لديك كائن الرسالة نفسه، أو عنصرين من البيانات: المعرف pop_receipt. يتم إرجاع المعرف من عملية receive_messages السابقة. يتم إرجاع pop_receipt من أحدث receive_messages أو update_message عملية. لكي تنجح عملية delete_message، يجب أن تتطابق pop_receipt المحددة على الطلب مع pop_receipt التي تم إرجاعها من receive_messages العملية أو update_message .
delete_message(message: str | QueueMessage, pop_receipt: str | None = None, **kwargs: Any) -> None
المعلمات
- pop_receipt
- str
قيمة إيصال pop صالحة تم إرجاعها من استدعاء سابق إلى receive_messages أو update_message.
- timeout
- int
تعيين المهلة من جانب الخادم للعملية بالثوان. لمزيد من التفاصيل، راجع https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. لا يتم تعقب هذه القيمة أو التحقق من صحتها على العميل. لتكوين مهلات الشبكة من جانب العميل، راجع هنا.
أمثلة
حذف رسالة.
# Get the message at the front of the queue
msg = next(queue.receive_messages())
# Delete the specified message
queue.delete_message(msg)
delete_queue
حذف قائمة الانتظار المحددة وأي رسائل تحتوي عليها.
عند حذف قائمة انتظار بنجاح، يتم وضع علامة عليها على الفور للحذف ولم يعد من الممكن للعملاء الوصول إليها. تتم إزالة قائمة الانتظار لاحقا من خدمة قائمة الانتظار أثناء تجميع البيانات المهملة.
لاحظ أنه من المحتمل أن يستغرق حذف قائمة انتظار 40 ثانية على الأقل لإكمالها. إذا تمت محاولة إجراء عملية مقابل قائمة الانتظار أثناء حذفها، <xref:azure.storage.queue.HttpResponseError> فسيتم طرح.
delete_queue(**kwargs: Any) -> None
المعلمات
- timeout
- int
تعيين المهلة من جانب الخادم للعملية بالثوان. لمزيد من التفاصيل، راجع https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. لا يتم تعقب هذه القيمة أو التحقق من صحتها على العميل. لتكوين مهلات الشبكة من جانب العميل، راجع هنا.
نوع الإرجاع
أمثلة
حذف قائمة انتظار.
queue.delete_queue()
from_connection_string
إنشاء QueueClient من سلسلة اتصال.
from_connection_string(conn_str: str, queue_name: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any) -> Self
المعلمات
- credential
بيانات الاعتماد التي يجب المصادقة بها. هذا اختياري إذا كان عنوان URL للحساب يحتوي بالفعل على رمز SAS مميز، أو كان سلسلة الاتصال يحتوي بالفعل على قيم مفتاح وصول مشتركة. يمكن أن تكون القيمة سلسلة رمز SAS المميز أو مثيل AzureSasCredential أو AzureNamedKeyCredential من azure.core.credentials أو مفتاح وصول مشترك للحساب أو مثيل فئة TokenCredentials من azure.identity. ستكون لبيانات الاعتماد المقدمة هنا الأسبقية على تلك الموجودة في سلسلة الاتصال. إذا كنت تستخدم مثيل AzureNamedKeyCredential، يجب أن يكون "الاسم" هو اسم حساب التخزين، ويجب أن يكون "المفتاح" هو مفتاح حساب التخزين.
- audience
- str
الجمهور الذي يجب استخدامه عند طلب الرموز المميزة لمصادقة Azure Active Directory. يكون له تأثير فقط عندما تكون بيانات الاعتماد من نوع TokenCredential. قد تكون https://storage.azure.com/ القيمة (افتراضية) أو https://.queue.core.windows.net.
المرتجعات
عميل قائمة انتظار.
نوع الإرجاع
أمثلة
إنشاء عميل قائمة الانتظار من سلسلة الاتصال.
from azure.storage.queue import QueueClient
queue = QueueClient.from_connection_string(self.connection_string, "myqueue1")
from_queue_url
عميل للتفاعل مع قائمة انتظار معينة.
from_queue_url(queue_url: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any) -> Self
المعلمات
- credential
بيانات الاعتماد التي يجب المصادقة بها. هذا اختياري إذا كان عنوان URL للحساب يحتوي بالفعل على رمز SAS مميز. يمكن أن تكون القيمة سلسلة رمز SAS المميز أو مثيل AzureSasCredential أو AzureNamedKeyCredential من azure.core.credentials أو مفتاح وصول مشترك للحساب أو مثيل فئة TokenCredentials من azure.identity. إذا كان عنوان URI للمورد يحتوي بالفعل على رمز SAS المميز، فسيتم تجاهل هذا لصالح بيانات اعتماد صريحة
- باستثناء حالة AzureSasCredential، حيث سترفع رموز SAS المميزة المتعارضة ValueError. إذا كنت تستخدم مثيل AzureNamedKeyCredential، يجب أن يكون "الاسم" هو اسم حساب التخزين، ويجب أن يكون "المفتاح" هو مفتاح حساب التخزين.
- audience
- str
الجمهور الذي يجب استخدامه عند طلب الرموز المميزة لمصادقة Azure Active Directory. يكون له تأثير فقط عندما تكون بيانات الاعتماد من نوع TokenCredential. قد تكون https://storage.azure.com/ القيمة (افتراضية) أو https://.queue.core.windows.net.
المرتجعات
عميل قائمة انتظار.
نوع الإرجاع
get_queue_access_policy
إرجاع تفاصيل حول أي نهج وصول مخزنة محددة في قائمة الانتظار التي يمكن استخدامها مع توقيعات الوصول المشترك.
get_queue_access_policy(**kwargs: Any) -> Dict[str, AccessPolicy]
المعلمات
- timeout
- int
تعيين المهلة من جانب الخادم للعملية بالثوان. لمزيد من التفاصيل، راجع https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. لا يتم تعقب هذه القيمة أو التحقق من صحتها على العميل. لتكوين مهلات الشبكة من جانب العميل، راجع هنا.
المرتجعات
قاموس لنهج الوصول المقترنة بقائمة الانتظار.
نوع الإرجاع
get_queue_properties
إرجاع كافة بيانات التعريف المعرفة من قبل المستخدم لقائمة الانتظار المحددة.
لا تتضمن البيانات التي تم إرجاعها قائمة الرسائل الخاصة بقائمة الانتظار.
get_queue_properties(**kwargs: Any) -> QueueProperties
المعلمات
- timeout
- int
يتم التعبير عن معلمة المهلة بالثوان.
المرتجعات
بيانات التعريف المعرفة من قبل المستخدم لقائمة الانتظار.
نوع الإرجاع
أمثلة
احصل على الخصائص في قائمة الانتظار.
properties = queue.get_queue_properties().metadata
peek_messages
استرداد رسالة واحدة أو أكثر من مقدمة قائمة الانتظار، ولكن لا يغير رؤية الرسالة.
يمكن استرداد الرسائل المرئية فقط. عند استرداد رسالة للمرة الأولى مع استدعاء إلى receive_messages، يتم تعيين الخاصية dequeue_count الخاصة بها إلى 1. إذا لم يتم حذفه وتم استرداده لاحقا مرة أخرى، يتم زيادة الخاصية dequeue_count. قد يستخدم العميل هذه القيمة لتحديد عدد المرات التي تم فيها استرداد رسالة. لاحظ أن استدعاء peek_messages لا يؤدي إلى زيادة قيمة dequeue_count، ولكنه يرجع هذه القيمة للعميل للقراءة.
إذا تم تعيين حقل مفتاح تشفير المفتاح أو المحلل على كائن الخدمة المحلي، فسيتم فك تشفير الرسائل قبل إرجاعها.
peek_messages(max_messages: int | None = None, **kwargs: Any) -> List[QueueMessage]
المعلمات
- max_messages
- int
قيمة عدد صحيح غير صفري تحدد عدد الرسائل التي يجب النظر إليها خاطفة من قائمة الانتظار، بحد أقصى 32. بشكل افتراضي، يتم نظرة خاطفة على رسالة واحدة من قائمة الانتظار مع هذه العملية.
- timeout
- int
تعيين المهلة من جانب الخادم للعملية بالثوان. لمزيد من التفاصيل، راجع https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. لا يتم تعقب هذه القيمة أو التحقق من صحتها على العميل. لتكوين مهلات الشبكة من جانب العميل، راجع هنا.
المرتجعات
قائمة QueueMessage الكائنات. لاحظ أنه لن يتم ملء next_visible_on pop_receipt لأن النظرة الخاطفة لا تظهر الرسالة ويمكنها استرداد الرسائل المرئية بالفعل فقط.
نوع الإرجاع
أمثلة
معاينة الرسائل.
# Peek at one message at the front of the queue
msg = queue.peek_messages()
# Peek at the last 5 messages
messages = queue.peek_messages(max_messages=5)
# Print the last 5 messages
for message in messages:
print(message.content)
receive_message
إزالة رسالة واحدة من مقدمة قائمة الانتظار.
عند استرداد الرسالة من قائمة الانتظار، تتضمن الاستجابة محتوى الرسالة وقيمة pop_receipt، وهي مطلوبة لحذف الرسالة. لا يتم حذف الرسالة تلقائيا من قائمة الانتظار، ولكن بعد استردادها، لا تكون مرئية للعملاء الآخرين للفاصل الزمني المحدد بواسطة المعلمة visibility_timeout.
إذا تم تعيين حقل مفتاح تشفير المفتاح أو المحلل على كائن الخدمة المحلي، فسيتم فك تشفير الرسالة قبل إرجاعها.
receive_message(*, visibility_timeout: int | None = None, **kwargs: Any) -> QueueMessage | None
المعلمات
- visibility_timeout
- int
إذا لم يتم تحديدها، فإن القيمة الافتراضية هي 30. يحدد قيمة مهلة الرؤية الجديدة، بالثوان، بالنسبة إلى وقت الخادم. يجب أن تكون القيمة أكبر من أو تساوي 1، ولا يمكن أن تكون أكبر من 7 أيام. لا يمكن تعيين مهلة رؤية الرسالة إلى قيمة بعد وقت انتهاء الصلاحية. يجب تعيين visibility_timeout إلى قيمة أصغر من قيمة مدة البقاء.
- timeout
- int
تعيين المهلة من جانب الخادم للعملية بالثوان. لمزيد من التفاصيل، راجع https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. لا يتم تعقب هذه القيمة أو التحقق من صحتها على العميل. لتكوين مهلات الشبكة من جانب العميل، راجع هنا.
المرتجعات
إرجاع رسالة من قائمة الانتظار أو بلا إذا كانت قائمة الانتظار فارغة.
نوع الإرجاع
أمثلة
تلقي رسالة واحدة من قائمة الانتظار.
# Pop two messages from the front of the queue
message1 = queue.receive_message()
message2 = queue.receive_message()
# We should see message 3 if we peek
message3 = queue.peek_messages()[0]
if not message1 or not message2 or not message3:
raise ValueError("One of the messages are None.")
print(message1.content)
print(message2.content)
print(message3.content)
receive_messages
إزالة رسالة واحدة أو أكثر من مقدمة قائمة الانتظار.
عند استرداد رسالة من قائمة الانتظار، تتضمن الاستجابة محتوى الرسالة وقيمة pop_receipt، المطلوبة لحذف الرسالة. لا يتم حذف الرسالة تلقائيا من قائمة الانتظار، ولكن بعد استردادها، لا تكون مرئية للعملاء الآخرين للفاصل الزمني المحدد بواسطة المعلمة visibility_timeout. سيقوم المكرر بإحضار الرسائل باستمرار حتى تكون قائمة الانتظار فارغة أو max_messages يتم الوصول إليها (إذا تم تعيين max_messages).
إذا تم تعيين حقل مفتاح تشفير المفتاح أو المحلل على كائن الخدمة المحلي، فسيتم فك تشفير الرسائل قبل إرجاعها.
receive_messages(*, messages_per_page: int | None = None, visibility_timeout: int | None = None, max_messages: int | None = None, **kwargs: Any) -> ItemPaged[QueueMessage]
المعلمات
- visibility_timeout
- int
إذا لم يتم تحديدها، فإن القيمة الافتراضية هي 30. يحدد قيمة مهلة الرؤية الجديدة، بالثوان، بالنسبة إلى وقت الخادم. يجب أن تكون القيمة أكبر من أو تساوي 1، ولا يمكن أن تكون أكبر من 7 أيام. لا يمكن تعيين مهلة رؤية الرسالة إلى قيمة بعد وقت انتهاء الصلاحية. يجب تعيين visibility_timeout إلى قيمة أصغر من قيمة مدة البقاء.
- max_messages
- int
عدد صحيح يحدد الحد الأقصى لعدد الرسائل المراد استردادها من قائمة الانتظار.
- timeout
- int
تعيين المهلة من جانب الخادم للعملية بالثوان. لمزيد من التفاصيل، راجع https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. لا يتم تعقب هذه القيمة أو التحقق من صحتها على العميل. لتكوين مهلات الشبكة من جانب العميل، راجع هنا.
المرتجعات
إرجاع مكرر رسالة لعناصر الرسالة التي تشبه الإملاء.
نوع الإرجاع
أمثلة
تلقي رسائل من قائمة الانتظار.
# Receive messages one-by-one
messages = queue.receive_messages()
for msg in messages:
print(msg.content)
# Receive messages by batch
messages = queue.receive_messages(messages_per_page=5)
for msg_batch in messages.by_page():
for msg in msg_batch:
print(msg.content)
queue.delete_message(msg)
send_message
إضافة رسالة جديدة إلى الجزء الخلفي من قائمة انتظار الرسائل.
تحدد مهلة الرؤية الوقت الذي ستكون فيه الرسالة غير مرئية. بعد انتهاء المهلة، ستصبح الرسالة مرئية. إذا لم يتم تحديد مهلة رؤية، يتم استخدام القيمة الافتراضية 0.
يحدد وقت بقاء الرسالة المدة التي ستبقى فيها الرسالة في قائمة الانتظار. سيتم حذف الرسالة من قائمة الانتظار عند انتهاء فترة البقاء.
إذا تم تعيين حقل مفتاح تشفير المفتاح على كائن الخدمة المحلي، فإن هذا الأسلوب سيقوم بتشفير المحتوى قبل التحميل.
send_message(content: object | None, *, visibility_timeout: int | None = None, time_to_live: int | None = None, **kwargs: Any) -> QueueMessage
المعلمات
محتوى الرسالة. يتم تحديد النوع المسموح به بواسطة encode_function المعينة على الخدمة. الافتراضي هو str. يمكن أن يصل حجم الرسالة المشفرة إلى 64 كيلوبايت.
- visibility_timeout
- int
إذا لم يتم تحديدها، فإن القيمة الافتراضية هي 0. يحدد قيمة مهلة الرؤية الجديدة، بالثوان، بالنسبة إلى وقت الخادم. يجب أن تكون القيمة أكبر من أو تساوي 0، ولا يمكن أن تكون أكبر من 7 أيام. لا يمكن تعيين مهلة رؤية الرسالة إلى قيمة بعد وقت انتهاء الصلاحية. يجب تعيين visibility_timeout إلى قيمة أصغر من قيمة مدة البقاء.
- time_to_live
- int
يحدد الفاصل الزمني لفترة البقاء للرسالة، بالثوان. قد يكون وقت البقاء أي رقم موجب أو -1 للنهاية. إذا تم حذف هذه المعلمة، فإن مدة البقاء الافتراضية هي 7 أيام.
- timeout
- int
تعيين المهلة من جانب الخادم للعملية بالثوان. لمزيد من التفاصيل، راجع https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. لا يتم تعقب هذه القيمة أو التحقق من صحتها على العميل. لتكوين مهلات الشبكة من جانب العميل، راجع هنا.
المرتجعات
QueueMessageعنصر. يتم أيضا ملء هذا الكائن بالمحتوى على الرغم من أنه لم يتم إرجاعه من الخدمة.
نوع الإرجاع
أمثلة
إرسال الرسائل.
queue.send_message("message1")
queue.send_message("message2", visibility_timeout=30) # wait 30s before becoming visible
queue.send_message("message3")
queue.send_message("message4")
queue.send_message("message5")
set_queue_access_policy
تعيين نهج الوصول المخزنة لقائمة الانتظار التي يمكن استخدامها مع توقيعات الوصول المشترك.
عند تعيين أذونات لقائمة انتظار، يتم استبدال الأذونات الموجودة. لتحديث أذونات قائمة الانتظار، اتصل get_queue_access_policy بإحضار جميع نهج الوصول المقترنة بقائمة الانتظار، وقم بتعديل نهج الوصول الذي ترغب في تغييره، ثم استدع هذه الدالة مع المجموعة الكاملة من البيانات لتنفيذ التحديث.
عند إنشاء نهج وصول مخزن في قائمة انتظار، قد يستغرق الأمر ما يصل إلى 30 ثانية حتى يصبح ساري المفعول. أثناء هذا الفاصل الزمني، سيطرح توقيع الوصول المشترك المقترن بنهج الوصول المخزن حتى يصبح نهج الوصول نشطا <xref:azure.storage.queue.HttpResponseError> .
set_queue_access_policy(signed_identifiers: Dict[str, AccessPolicy], **kwargs: Any) -> None
المعلمات
- signed_identifiers
- Dict[str, AccessPolicy]
نهج الوصول إلى SignedIdentifier لإقرانها بقائمة الانتظار. قد يحتوي هذا على ما يصل إلى 5 عناصر. سيقوم الإملاء الفارغ بمسح نهج الوصول المعينة على الخدمة.
- timeout
- int
تعيين المهلة من جانب الخادم للعملية بالثوان. لمزيد من التفاصيل، راجع https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. لا يتم تعقب هذه القيمة أو التحقق من صحتها على العميل. لتكوين مهلات الشبكة من جانب العميل، راجع هنا.
أمثلة
تعيين نهج وصول في قائمة الانتظار.
# Create an access policy
from azure.storage.queue import AccessPolicy, QueueSasPermissions
access_policy = AccessPolicy()
access_policy.start = datetime.utcnow() - timedelta(hours=1)
access_policy.expiry = datetime.utcnow() + timedelta(hours=1)
access_policy.permission = QueueSasPermissions(read=True)
identifiers = {'my-access-policy-id': access_policy}
# Set the access policy
queue.set_queue_access_policy(identifiers)
set_queue_metadata
تعيين بيانات التعريف المعرفة من قبل المستخدم في قائمة الانتظار المحددة.
ترتبط بيانات التعريف بقائمة الانتظار كأزواج قيمة الاسم.
set_queue_metadata(metadata: Dict[str, str] | None = None, **kwargs: Any) -> Dict[str, Any]
المعلمات
إملاء يحتوي على أزواج الاسم والقيمة لإقرانها بقائمة الانتظار كبيانات تعريف.
- timeout
- int
تعيين المهلة من جانب الخادم للعملية بالثوان. لمزيد من التفاصيل، راجع https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. لا يتم تعقب هذه القيمة أو التحقق من صحتها على العميل. لتكوين مهلات الشبكة من جانب العميل، راجع هنا.
المرتجعات
قاموس لرؤوس الاستجابة.
نوع الإرجاع
أمثلة
تعيين بيانات التعريف في قائمة الانتظار.
metadata = {'foo': 'val1', 'bar': 'val2', 'baz': 'val3'}
queue.set_queue_metadata(metadata=metadata)
update_message
التحديثات مهلة رؤية الرسالة. يمكنك أيضا استخدام هذه العملية لتحديث محتويات الرسالة.
يمكن استخدام هذه العملية لتوسيع نطاق رسالة قائمة الانتظار باستمرار. يمكن أن تكون هذه الوظيفة مفيدة إذا كنت تريد أن "يستأجر" دور عامل رسالة قائمة انتظار. على سبيل المثال، إذا كان دور العامل يستدعي receive_messages ويدرك أنه يحتاج إلى مزيد من الوقت لمعالجة رسالة، فيمكنه توسيع نطاق عدم وضوح الرسالة باستمرار حتى تتم معالجتها. إذا فشل دور العامل أثناء المعالجة، فستصبح الرسالة مرئية مرة أخرى في النهاية ويمكن لدور عامل آخر معالجتها.
إذا تم تعيين حقل مفتاح تشفير المفتاح على كائن الخدمة المحلي، فإن هذا الأسلوب سيقوم بتشفير المحتوى قبل التحميل.
update_message(message: str | QueueMessage, pop_receipt: str | None = None, content: object | None = None, *, visibility_timeout: int | None = None, **kwargs: Any) -> QueueMessage
المعلمات
- pop_receipt
- str
تم إرجاع قيمة إيصال pop صالحة من استدعاء سابق إلى receive_messages العملية أو update_message .
محتوى الرسالة. يتم تحديد النوع المسموح به بواسطة encode_function المعينة على الخدمة. الافتراضي هو str.
- visibility_timeout
- int
يحدد قيمة مهلة الرؤية الجديدة، بالثوان، بالنسبة إلى وقت الخادم. يجب أن تكون القيمة الجديدة أكبر من أو تساوي 0، ولا يمكن أن تكون أكبر من 7 أيام. لا يمكن تعيين مهلة رؤية الرسالة إلى قيمة بعد وقت انتهاء الصلاحية. يمكن تحديث الرسالة حتى يتم حذفها أو انتهاء صلاحيتها. كائن الرسالة أو معرف الرسالة الذي يحدد الرسالة المراد تحديثها.
- timeout
- int
تعيين المهلة من جانب الخادم للعملية بالثوان. لمزيد من التفاصيل، راجع https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. لا يتم تعقب هذه القيمة أو التحقق من صحتها على العميل. لتكوين مهلات الشبكة من جانب العميل، راجع هنا.
المرتجعات
QueueMessageعنصر. للراحة، يتم أيضا ملء هذا الكائن بالمحتوى، على الرغم من أنه لا يتم إرجاعه بواسطة الخدمة.
نوع الإرجاع
أمثلة
تحديث رسالة.
# Send a message
queue.send_message("update me")
# Receive the message
messages = queue.receive_messages()
# Update the message
list_result = next(messages)
message = queue.update_message(
list_result.id,
pop_receipt=list_result.pop_receipt,
visibility_timeout=0,
content="updated")
السمات
api_version
location_mode
وضع الموقع الذي يستخدمه العميل حاليا.
بشكل افتراضي، سيكون هذا "أساسي". تتضمن الخيارات "الأساسي" و"الثانوي".
نوع الإرجاع
primary_endpoint
primary_hostname
secondary_endpoint
عنوان URL لنقطة النهاية الثانوية الكاملة إذا تم تكوينه.
إذا لم يكن متوفرا، فسيتم رفع ValueError. لتحديد اسم مضيف ثانوي بشكل صريح، استخدم وسيطة الكلمة الأساسية secondary_hostname الاختيارية عند إنشاء مثيل.
نوع الإرجاع
استثناءات
secondary_hostname
اسم مضيف نقطة النهاية الثانوية.
إذا لم يكن متوفرا، فسيكون هذا بلا. لتحديد اسم مضيف ثانوي بشكل صريح، استخدم وسيطة الكلمة الأساسية secondary_hostname الاختيارية عند إنشاء مثيل.
نوع الإرجاع
url
عنوان URL الكامل لنقطة النهاية لهذا الكيان، بما في ذلك رمز SAS المميز إذا تم استخدامه.
قد تكون هذه إما نقطة النهاية الأساسية، أو نقطة النهاية الثانوية اعتمادا على الحالي location_mode. :returns: عنوان URL الكامل لنقطة النهاية لهذا الكيان، بما في ذلك رمز SAS المميز إذا تم استخدامه. :rtype: str
Azure SDK for Python