Aracılığıyla paylaş


QueueClient Sınıf

Belirli bir Kuyrukla etkileşime geçmek için bir istemci.

Daha fazla isteğe bağlı yapılandırma için lütfen buraya tıklayın.

Devralma
azure.storage.queue._shared.base_client.StorageAccountHostsMixin
QueueClient
azure.storage.queue._encryption.StorageEncryptionMixin
QueueClient

Oluşturucu

QueueClient(account_url: str, queue_name: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any)

Parametreler

account_url
str
Gerekli

Depolama hesabının URL'si. Kuyruğa tam URI verilen bir istemci oluşturmak için classmethod kullanın from_queue_url .

queue_name
str
Gerekli

Kuyruğun adı.

credential
varsayılan değer: None

Kimlik doğrulaması için kullanılan kimlik bilgileri. Hesap URL'sinde zaten bir SAS belirteci varsa bu isteğe bağlıdır. Değer bir SAS belirteci dizesi, azure.core.credentials öğesinden AzureSasCredential veya AzureNamedKeyCredential örneği, hesap paylaşılan erişim anahtarı veya azure.identity'den tokenCredentials sınıfının bir örneği olabilir. Kaynak URI'sinde zaten bir SAS belirteci varsa, bu durum açık bir kimlik bilgisi lehine yoksayılır

  • Çakışan SAS belirteçlerinin bir ValueError oluşturacağı AzureSasCredential durumu dışında. AzureNamedKeyCredential örneğini kullanıyorsanız depolama hesabı adı "name" ve depolama hesabı anahtarı "anahtar" olmalıdır.
api_version
str

İstekler için kullanılacak Depolama API'sinin sürümü. Varsayılan değer, geçerli SDK ile uyumlu olan en son hizmet sürümüdür. Eski bir sürüme ayarlamak özellik uyumluluğunu azaltabilir.

secondary_hostname
str

İkincil uç noktanın ana bilgisayar adı.

message_encode_policy

Giden iletilerde kullanılacak kodlama ilkesi. Varsayılan olarak iletileri kodlamaz. Diğer seçenekler arasında TextBase64EncodePolicy, BinaryBase64EncodePolicy veya Yok bulunur.

message_decode_policy

Gelen iletilerde kullanılacak kod çözme ilkesi. Varsayılan değer iletilerin kodunu çözmek değildir. Diğer seçenekler arasında TextBase64DecodePolicy, BinaryBase64DecodePolicy veya Yok bulunur.

audience
str

Azure Active Directory kimlik doğrulaması için belirteçler istenirken kullanılacak hedef kitle. Yalnızca kimlik bilgisi TokenCredential türünde olduğunda bir etkiye sahiptir. Değer (varsayılan) veya https://.queue.core.windows.net olabilir https://storage.azure.com/ .

Örnekler

Url ve kimlik bilgileriyle kuyruk istemcisini oluşturun.


   token_auth_queue = QueueClient.from_queue_url(
       queue_url=queue.url,
       credential=sas_token
   )

Yöntemler

clear_messages

Belirtilen kuyruktan tüm iletileri siler.

close

Bu yöntem, istemci tarafından açılan yuvaları kapatmaktır. Bağlam yöneticisi ile kullanılırken kullanılması gerekmez.

create_queue

Depolama hesabında yeni bir kuyruk oluşturur.

Aynı ada sahip bir kuyruk zaten varsa, işlem ResourceExistsError ile başarısız olur.

delete_message

Belirtilen iletiyi siler.

Normalde, bir istemci alma iletileri işlemiyle bir ileti aldıktan sonra, istemcinin iletiyi işlemesi ve silmesi beklenir. İletiyi silmek için ileti nesnesinin kendisine veya iki veri öğesine sahip olmanız gerekir: id ve pop_receipt. Kimlik önceki receive_messages işleminden döndürülür. pop_receipt en son receive_messages veya update_message işlemden döndürülür. delete_message işleminin başarılı olması için istekte belirtilen pop_receipt veya update_message işleminden receive_messages döndürülen pop_receipt eşleşmesi gerekir.

delete_queue

Belirtilen kuyruğu ve içerdiği tüm iletileri siler.

Bir kuyruk başarıyla silindiğinde, silinmek üzere hemen işaretlenir ve artık istemciler tarafından erişilemez. Kuyruk daha sonra çöp toplama sırasında Kuyruk hizmetinden kaldırılır.

Bir kuyruğu silme işleminin tamamlanmasının en az 40 saniye süreceğini unutmayın. Bir işlem silinirken kuyruğa karşı denenirse, bir <xref:azure.storage.queue.HttpResponseError> oluşturulur.

from_connection_string

Bağlantı Dizesinden QueueClient oluşturun.

from_queue_url

Belirli bir Kuyrukla etkileşime geçmek için bir istemci.

get_queue_access_policy

Kuyrukta belirtilen ve Paylaşılan Erişim İmzaları ile kullanılabilecek tüm saklı erişim ilkeleriyle ilgili ayrıntıları döndürür.

get_queue_properties

Belirtilen kuyruk için kullanıcı tanımlı tüm meta verileri döndürür.

Döndürülen veriler kuyruğun ileti listesini içermez.

peek_messages

Kuyruğun önünden bir veya daha fazla ileti alır, ancak iletinin görünürlüğünü değiştirmez.

Yalnızca görünen iletiler alınabilir. çağrısıyla receive_messagesbir ileti ilk kez alındığında, dequeue_count özelliği 1 olarak ayarlanır. Silinmez ve daha sonra yeniden alınırsa, dequeue_count özelliği artırılır. İstemci, bir iletinin kaç kez alındığını belirlemek için bu değeri kullanabilir. peek_messages çağrısının dequeue_count değerini artırmadığını, ancak istemcinin okuması için bu değeri döndürdüğünü unutmayın.

Yerel hizmet nesnesinde anahtar-şifreleme-anahtarı veya çözümleyici alanı ayarlanırsa, iletilerin şifresi döndürülmeden önce çözülür.

receive_message

Kuyruğun önünden bir iletiyi kaldırır.

İleti kuyruktan alındığında, yanıt ileti içeriğini ve iletiyi silmek için gereken bir pop_receipt değeri içerir. İleti kuyruktan otomatik olarak silinmez, ancak alındıktan sonra, visibility_timeout parametresi tarafından belirtilen zaman aralığı için diğer istemciler tarafından görünmez.

Anahtar-şifreleme-anahtarı veya çözümleyici alanı yerel hizmet nesnesinde ayarlanırsa, ileti döndürülmeden önce şifresi çözülür.

receive_messages

Kuyruğun önünden bir veya daha fazla iletiyi kaldırır.

Kuyruktan bir ileti alındığında, yanıt ileti içeriğini ve iletiyi silmek için gereken bir pop_receipt değeri içerir. İleti kuyruktan otomatik olarak silinmez, ancak alındıktan sonra, visibility_timeout parametresi tarafından belirtilen zaman aralığı için diğer istemciler tarafından görünmez. Yineleyici, kuyruk boş olana veya max_messages ulaşılana kadar (max_messages ayarlandıysa) iletileri sürekli olarak getirir.

Yerel hizmet nesnesinde anahtar-şifreleme-anahtarı veya çözümleyici alanı ayarlanırsa, iletilerin şifresi döndürülmeden önce çözülür.

send_message

İleti kuyruğunun arkasına yeni bir ileti ekler.

Görünürlük zaman aşımı, iletinin görünmez olacağı zamanı belirtir. Zaman aşımı süresi dolduktan sonra ileti görünür hale gelir. Görünürlük zaman aşımı belirtilmezse varsayılan 0 değeri kullanılır.

İletinin yaşam süresi, bir iletinin kuyrukta ne kadar süreyle kalacağını belirtir. Yaşam süresi dolduğunda ileti kuyruktan silinir.

Key-encryption-key alanı yerel hizmet nesnesinde ayarlandıysa, bu yöntem karşıya yüklemeden önce içeriği şifreler.

set_queue_access_policy

Paylaşılan Erişim İmzaları ile kullanılabilecek kuyruk için depolanan erişim ilkelerini ayarlar.

Bir kuyruk için izinleri ayarladığınızda, mevcut izinler değiştirilir. Kuyruğun izinlerini güncelleştirmek için öğesini çağırarak get_queue_access_policy kuyrukla ilişkili tüm erişim ilkelerini getirin, değiştirmek istediğiniz erişim ilkesini değiştirin ve ardından güncelleştirmeyi gerçekleştirmek için tam veri kümesiyle bu işlevi çağırın.

Bir kuyrukta depolanmış erişim ilkesi oluşturduğunuzda, etkin olması 30 saniye kadar sürebilir. Bu aralık boyunca, depolanan erişim ilkesiyle ilişkili paylaşılan erişim imzası, erişim ilkesi etkin olana kadar bir <xref:azure.storage.queue.HttpResponseError> oluşturur.

set_queue_metadata

Belirtilen kuyrukta kullanıcı tanımlı meta verileri ayarlar.

Meta veriler kuyrukla ad-değer çiftleri olarak ilişkilendirilir.

update_message

İletinin görünürlük zaman aşımını Güncelleştirmeler. Bu işlemi bir iletinin içeriğini güncelleştirmek için de kullanabilirsiniz.

Bu işlem, kuyruk iletisinin görünmezliğini sürekli genişletmek için kullanılabilir. Bir çalışan rolünün kuyruk iletisini "kiralamasını" istiyorsanız bu işlev yararlı olabilir. Örneğin, bir çalışan rolü bir iletiyi işlemek için daha fazla zamana ihtiyacı olduğunu çağırır receive_messages ve tanırsa, ileti işlenene kadar iletinin görünmezliğini sürekli olarak genişletebilir. çalışan rolü işleme sırasında başarısız olursa, sonunda ileti yeniden görünür hale gelir ve başka bir çalışan rolü bunu işleyebilecektir.

Key-encryption-key alanı yerel hizmet nesnesinde ayarlandıysa, bu yöntem karşıya yüklemeden önce içeriği şifreler.

clear_messages

Belirtilen kuyruktan tüm iletileri siler.

clear_messages(**kwargs: Any) -> None

Parametreler

timeout
int

İşlemin sunucu tarafı zaman aşımını saniye olarak ayarlar. Diğer ayrıntılar için bkz: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Bu değer istemcide izlenmez veya doğrulanmaz. İstemci tarafı ağ zaman aşımlarını yapılandırmak için buraya bakın.

Örnekler

Tüm iletileri temizler.


   queue.clear_messages()

close

Bu yöntem, istemci tarafından açılan yuvaları kapatmaktır. Bağlam yöneticisi ile kullanılırken kullanılması gerekmez.

close()

create_queue

Depolama hesabında yeni bir kuyruk oluşturur.

Aynı ada sahip bir kuyruk zaten varsa, işlem ResourceExistsError ile başarısız olur.

create_queue(*, metadata: Dict[str, str] | None = None, **kwargs: Any) -> None

Parametreler

metadata
Dict[str,str]

Kuyrukla meta veri olarak ilişkilendirilecek ad-değer çiftlerini içeren bir dikte. Meta veri adlarının oluşturuldukları büyük/küçük harf durumunu koruduğunu, ancak ayarlandığında veya okunduğunda büyük/küçük harfe duyarsız olduğunu unutmayın.

timeout
int

İşlemin sunucu tarafı zaman aşımını saniye olarak ayarlar. Diğer ayrıntılar için bkz: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Bu değer istemcide izlenmez veya doğrulanmaz. İstemci tarafı ağ zaman aşımlarını yapılandırmak için buraya bakın.

Döndürülenler

Hiçbiri veya cls(yanıt) sonucu

Dönüş türü

Özel durumlar

StorageErrorException

Örnekler

Kuyruk oluşturun.


   queue.create_queue()

delete_message

Belirtilen iletiyi siler.

Normalde, bir istemci alma iletileri işlemiyle bir ileti aldıktan sonra, istemcinin iletiyi işlemesi ve silmesi beklenir. İletiyi silmek için ileti nesnesinin kendisine veya iki veri öğesine sahip olmanız gerekir: id ve pop_receipt. Kimlik önceki receive_messages işleminden döndürülür. pop_receipt en son receive_messages veya update_message işlemden döndürülür. delete_message işleminin başarılı olması için istekte belirtilen pop_receipt veya update_message işleminden receive_messages döndürülen pop_receipt eşleşmesi gerekir.

delete_message(message: str | QueueMessage, pop_receipt: str | None = None, **kwargs: Any) -> None

Parametreler

message
str veya QueueMessage
Gerekli

Silinecek iletiyi tanımlayan ileti nesnesi veya kimliği.

pop_receipt
str
Gerekli

veya update_messageöğesine önceki bir çağrıdan receive_messages döndürülen geçerli bir pop receipt değeri.

timeout
int

İşlemin sunucu tarafı zaman aşımını saniye olarak ayarlar. Diğer ayrıntılar için bkz: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Bu değer istemcide izlenmez veya doğrulanmaz. İstemci tarafı ağ zaman aşımlarını yapılandırmak için buraya bakın.

Örnekler

İletiyi silme.


   # Get the message at the front of the queue
   msg = next(queue.receive_messages())

   # Delete the specified message
   queue.delete_message(msg)

delete_queue

Belirtilen kuyruğu ve içerdiği tüm iletileri siler.

Bir kuyruk başarıyla silindiğinde, silinmek üzere hemen işaretlenir ve artık istemciler tarafından erişilemez. Kuyruk daha sonra çöp toplama sırasında Kuyruk hizmetinden kaldırılır.

Bir kuyruğu silme işleminin tamamlanmasının en az 40 saniye süreceğini unutmayın. Bir işlem silinirken kuyruğa karşı denenirse, bir <xref:azure.storage.queue.HttpResponseError> oluşturulur.

delete_queue(**kwargs: Any) -> None

Parametreler

timeout
int

İşlemin sunucu tarafı zaman aşımını saniye olarak ayarlar. Diğer ayrıntılar için bkz: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Bu değer istemcide izlenmez veya doğrulanmaz. İstemci tarafı ağ zaman aşımlarını yapılandırmak için buraya bakın.

Dönüş türü

Örnekler

Kuyruğu silme.


   queue.delete_queue()

from_connection_string

Bağlantı Dizesinden QueueClient oluşturun.

from_connection_string(conn_str: str, queue_name: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any) -> Self

Parametreler

conn_str
str
Gerekli

Azure Depolama hesabına bağlantı dizesi.

queue_name
str
Gerekli

Kuyruk adı.

credential
varsayılan değer: None

Kimlik doğrulaması için kullanılan kimlik bilgileri. Hesap URL'sinde zaten bir SAS belirteci varsa veya bağlantı dizesi zaten paylaşılan erişim anahtarı değerleri varsa bu isteğe bağlıdır. Değer bir SAS belirteci dizesi, azure.core.credentials öğesinden AzureSasCredential veya AzureNamedKeyCredential örneği, hesap paylaşılan erişim anahtarı veya azure.identity'den tokenCredentials sınıfının bir örneği olabilir. Burada sağlanan kimlik bilgileri, bağlantı dizesi'daki kimlik bilgilerine göre önceliklidir. AzureNamedKeyCredential örneğini kullanıyorsanız depolama hesabı adı "name" ve depolama hesabı anahtarı "anahtar" olmalıdır.

audience
str

Azure Active Directory kimlik doğrulaması için belirteçler istenirken kullanılacak hedef kitle. Yalnızca kimlik bilgisi TokenCredential türünde olduğunda bir etkiye sahiptir. Değer (varsayılan) veya https://.queue.core.windows.net olabilir https://storage.azure.com/ .

Döndürülenler

Kuyruk istemcisi.

Dönüş türü

Örnekler

bağlantı dizesi'dan kuyruk istemcisini oluşturun.


   from azure.storage.queue import QueueClient
   queue = QueueClient.from_connection_string(self.connection_string, "myqueue1")

from_queue_url

Belirli bir Kuyrukla etkileşime geçmek için bir istemci.

from_queue_url(queue_url: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any) -> Self

Parametreler

queue_url
str
Gerekli

Kullanılırsa SAS belirteci de dahil olmak üzere kuyruğa tam URI.

credential
varsayılan değer: None

Kimlik doğrulaması için kullanılan kimlik bilgileri. Hesap URL'sinde zaten bir SAS belirteci varsa bu isteğe bağlıdır. Değer bir SAS belirteci dizesi, azure.core.credentials öğesinden AzureSasCredential veya AzureNamedKeyCredential örneği, hesap paylaşılan erişim anahtarı veya azure.identity'den tokenCredentials sınıfının bir örneği olabilir. Kaynak URI'sinde zaten bir SAS belirteci varsa, bu durum açık bir kimlik bilgisi lehine yoksayılır

  • Çakışan SAS belirteçlerinin bir ValueError oluşturacağı AzureSasCredential durumu dışında. AzureNamedKeyCredential örneğini kullanıyorsanız depolama hesabı adı "name" ve depolama hesabı anahtarı "anahtar" olmalıdır.
audience
str

Azure Active Directory kimlik doğrulaması için belirteçler istenirken kullanılacak hedef kitle. Yalnızca kimlik bilgisi TokenCredential türünde olduğunda bir etkiye sahiptir. Değer (varsayılan) veya https://.queue.core.windows.net olabilir https://storage.azure.com/ .

Döndürülenler

Kuyruk istemcisi.

Dönüş türü

get_queue_access_policy

Kuyrukta belirtilen ve Paylaşılan Erişim İmzaları ile kullanılabilecek tüm saklı erişim ilkeleriyle ilgili ayrıntıları döndürür.

get_queue_access_policy(**kwargs: Any) -> Dict[str, AccessPolicy]

Parametreler

timeout
int

İşlemin sunucu tarafı zaman aşımını saniye olarak ayarlar. Diğer ayrıntılar için bkz: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Bu değer istemcide izlenmez veya doğrulanmaz. İstemci tarafı ağ zaman aşımlarını yapılandırmak için buraya bakın.

Döndürülenler

Kuyrukla ilişkili erişim ilkeleri sözlüğü.

Dönüş türü

get_queue_properties

Belirtilen kuyruk için kullanıcı tanımlı tüm meta verileri döndürür.

Döndürülen veriler kuyruğun ileti listesini içermez.

get_queue_properties(**kwargs: Any) -> QueueProperties

Parametreler

timeout
int

Zaman aşımı parametresi saniye cinsinden ifade edilir.

Döndürülenler

Kuyruk için kullanıcı tanımlı meta veriler.

Dönüş türü

Örnekler

Kuyrukta özellikleri alın.


   properties = queue.get_queue_properties().metadata

peek_messages

Kuyruğun önünden bir veya daha fazla ileti alır, ancak iletinin görünürlüğünü değiştirmez.

Yalnızca görünen iletiler alınabilir. çağrısıyla receive_messagesbir ileti ilk kez alındığında, dequeue_count özelliği 1 olarak ayarlanır. Silinmez ve daha sonra yeniden alınırsa, dequeue_count özelliği artırılır. İstemci, bir iletinin kaç kez alındığını belirlemek için bu değeri kullanabilir. peek_messages çağrısının dequeue_count değerini artırmadığını, ancak istemcinin okuması için bu değeri döndürdüğünü unutmayın.

Yerel hizmet nesnesinde anahtar-şifreleme-anahtarı veya çözümleyici alanı ayarlanırsa, iletilerin şifresi döndürülmeden önce çözülür.

peek_messages(max_messages: int | None = None, **kwargs: Any) -> List[QueueMessage]

Parametreler

max_messages
int
Gerekli

En fazla 32 olmak üzere kuyruktan göz atacak iletilerin sayısını belirten sıfır olmayan bir tamsayı değeri. Varsayılan olarak, bu işlemle kuyruktan tek bir iletiye göz atılır.

timeout
int

İşlemin sunucu tarafı zaman aşımını saniye olarak ayarlar. Diğer ayrıntılar için bkz: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Bu değer istemcide izlenmez veya doğrulanmaz. İstemci tarafı ağ zaman aşımlarını yapılandırmak için buraya bakın.

Döndürülenler

Nesnelerin listesi QueueMessage . next_visible_on ve pop_receipt doldurulmayacağını unutmayın çünkü göz atma işlemi iletiyi açmaz ve yalnızca önceden görünen iletileri alabilir.

Dönüş türü

Örnekler

İletileri Gözatma.


   # 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

Kuyruğun önünden bir iletiyi kaldırır.

İleti kuyruktan alındığında, yanıt ileti içeriğini ve iletiyi silmek için gereken bir pop_receipt değeri içerir. İleti kuyruktan otomatik olarak silinmez, ancak alındıktan sonra, visibility_timeout parametresi tarafından belirtilen zaman aralığı için diğer istemciler tarafından görünmez.

Anahtar-şifreleme-anahtarı veya çözümleyici alanı yerel hizmet nesnesinde ayarlanırsa, ileti döndürülmeden önce şifresi çözülür.

receive_message(*, visibility_timeout: int | None = None, **kwargs: Any) -> QueueMessage | None

Parametreler

visibility_timeout
int

Belirtilmezse, varsayılan değer 30'dur. Sunucu süresine göre saniye olarak yeni görünürlük zaman aşımı değerini belirtir. Değer 1'den büyük veya buna eşit olmalı ve 7 günden büyük olamaz. İletinin görünürlük zaman aşımı süresi, süre sonu süresinden sonraki bir değere ayarlanamaz. visibility_timeout yaşam süresi değerinden daha küçük bir değere ayarlanmalıdır.

timeout
int

İşlemin sunucu tarafı zaman aşımını saniye olarak ayarlar. Diğer ayrıntılar için bkz: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Bu değer istemcide izlenmez veya doğrulanmaz. İstemci tarafı ağ zaman aşımlarını yapılandırmak için buraya bakın.

Döndürülenler

Kuyruk boşsa Kuyruk'tan veya Hiçbiri'nden bir ileti döndürür.

Dönüş türü

Örnekler

Kuyruktan bir ileti alın.


   # 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

Kuyruğun önünden bir veya daha fazla iletiyi kaldırır.

Kuyruktan bir ileti alındığında, yanıt ileti içeriğini ve iletiyi silmek için gereken bir pop_receipt değeri içerir. İleti kuyruktan otomatik olarak silinmez, ancak alındıktan sonra, visibility_timeout parametresi tarafından belirtilen zaman aralığı için diğer istemciler tarafından görünmez. Yineleyici, kuyruk boş olana veya max_messages ulaşılana kadar (max_messages ayarlandıysa) iletileri sürekli olarak getirir.

Yerel hizmet nesnesinde anahtar-şifreleme-anahtarı veya çözümleyici alanı ayarlanırsa, iletilerin şifresi döndürülmeden önce çözülür.

receive_messages(*, messages_per_page: int | None = None, visibility_timeout: int | None = None, max_messages: int | None = None, **kwargs: Any) -> ItemPaged[QueueMessage]

Parametreler

visibility_timeout
int

Belirtilmezse, varsayılan değer 30'dur. Sunucu süresine göre saniye olarak yeni görünürlük zaman aşımı değerini belirtir. Değer 1'den büyük veya buna eşit olmalı ve 7 günden büyük olamaz. İletinin görünürlük zaman aşımı süresi, süre sonu süresinden sonraki bir değere ayarlanamaz. visibility_timeout yaşam süresi değerinden daha küçük bir değere ayarlanmalıdır.

max_messages
int

Kuyruktan alınacak en fazla ileti sayısını belirten bir tamsayı.

timeout
int

İşlemin sunucu tarafı zaman aşımını saniye olarak ayarlar. Diğer ayrıntılar için bkz: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Bu değer istemcide izlenmez veya doğrulanmaz. İstemci tarafı ağ zaman aşımlarını yapılandırmak için buraya bakın.

Döndürülenler

Dikte benzeri İleti nesnelerinin ileti yineleyicisini döndürür.

Dönüş türü

Örnekler

Kuyruktan ileti alma.


   # 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

İleti kuyruğunun arkasına yeni bir ileti ekler.

Görünürlük zaman aşımı, iletinin görünmez olacağı zamanı belirtir. Zaman aşımı süresi dolduktan sonra ileti görünür hale gelir. Görünürlük zaman aşımı belirtilmezse varsayılan 0 değeri kullanılır.

İletinin yaşam süresi, bir iletinin kuyrukta ne kadar süreyle kalacağını belirtir. Yaşam süresi dolduğunda ileti kuyruktan silinir.

Key-encryption-key alanı yerel hizmet nesnesinde ayarlandıysa, bu yöntem karşıya yüklemeden önce içeriği şifreler.

send_message(content: object | None, *, visibility_timeout: int | None = None, time_to_live: int | None = None, **kwargs: Any) -> QueueMessage

Parametreler

content
Optional[object]
Gerekli

İleti içeriği. İzin verilen tür, hizmette ayarlanan encode_function tarafından belirlenir. Varsayılan değer str'dir. Kodlanmış iletinin boyutu en fazla 64 KB olabilir.

visibility_timeout
int

Belirtilmezse, varsayılan değer 0'dır. Sunucu süresine göre saniye olarak yeni görünürlük zaman aşımı değerini belirtir. Değer 0'dan büyük veya buna eşit olmalıdır ve 7 günden büyük olamaz. İletinin görünürlük zaman aşımı süresi, süre sonu süresinden sonraki bir değere ayarlanamaz. visibility_timeout yaşam süresi değerinden daha küçük bir değere ayarlanmalıdır.

time_to_live
int

İletinin yaşam süresini saniye cinsinden belirtir. Yaşam süresi herhangi bir pozitif sayı veya sonsuzluk için -1 olabilir. Bu parametre atlanırsa, varsayılan yaşam süresi 7 gündür.

timeout
int

İşlemin sunucu tarafı zaman aşımını saniye olarak ayarlar. Diğer ayrıntılar için bkz: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Bu değer istemcide izlenmez veya doğrulanmaz. İstemci tarafı ağ zaman aşımlarını yapılandırmak için buraya bakın.

Döndürülenler

Bir QueueMessage nesnesi. Bu nesne, hizmetten döndürülmese de içerikle de doldurulur.

Dönüş türü

Örnekler

İleti gönderme.


   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

Paylaşılan Erişim İmzaları ile kullanılabilecek kuyruk için depolanan erişim ilkelerini ayarlar.

Bir kuyruk için izinleri ayarladığınızda, mevcut izinler değiştirilir. Kuyruğun izinlerini güncelleştirmek için öğesini çağırarak get_queue_access_policy kuyrukla ilişkili tüm erişim ilkelerini getirin, değiştirmek istediğiniz erişim ilkesini değiştirin ve ardından güncelleştirmeyi gerçekleştirmek için tam veri kümesiyle bu işlevi çağırın.

Bir kuyrukta depolanmış erişim ilkesi oluşturduğunuzda, etkin olması 30 saniye kadar sürebilir. Bu aralık boyunca, depolanan erişim ilkesiyle ilişkili paylaşılan erişim imzası, erişim ilkesi etkin olana kadar bir <xref:azure.storage.queue.HttpResponseError> oluşturur.

set_queue_access_policy(signed_identifiers: Dict[str, AccessPolicy], **kwargs: Any) -> None

Parametreler

signed_identifiers
Dict[str, AccessPolicy]
Gerekli

Kuyrukla ilişkilendirilecek SignedIdentifier erişim ilkeleri. Bu, en fazla 5 öğe içerebilir. Boş bir dikte, hizmette ayarlanan erişim ilkelerini temizler.

timeout
int

İşlemin sunucu tarafı zaman aşımını saniye olarak ayarlar. Diğer ayrıntılar için bkz: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Bu değer istemcide izlenmez veya doğrulanmaz. İstemci tarafı ağ zaman aşımlarını yapılandırmak için buraya bakın.

Örnekler

Kuyrukta bir erişim ilkesi ayarlayın.


   # 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

Belirtilen kuyrukta kullanıcı tanımlı meta verileri ayarlar.

Meta veriler kuyrukla ad-değer çiftleri olarak ilişkilendirilir.

set_queue_metadata(metadata: Dict[str, str] | None = None, **kwargs: Any) -> Dict[str, Any]

Parametreler

metadata
Optional[Dict[str, str]]
Gerekli

Kuyrukla meta veri olarak ilişkilendirilecek ad-değer çiftlerini içeren bir dikte.

timeout
int

İşlemin sunucu tarafı zaman aşımını saniye olarak ayarlar. Diğer ayrıntılar için bkz: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Bu değer istemcide izlenmez veya doğrulanmaz. İstemci tarafı ağ zaman aşımlarını yapılandırmak için buraya bakın.

Döndürülenler

Yanıt üst bilgilerinin sözlüğü.

Dönüş türü

Örnekler

Kuyrukta meta verileri ayarlayın.


   metadata = {'foo': 'val1', 'bar': 'val2', 'baz': 'val3'}
   queue.set_queue_metadata(metadata=metadata)

update_message

İletinin görünürlük zaman aşımını Güncelleştirmeler. Bu işlemi bir iletinin içeriğini güncelleştirmek için de kullanabilirsiniz.

Bu işlem, kuyruk iletisinin görünmezliğini sürekli genişletmek için kullanılabilir. Bir çalışan rolünün kuyruk iletisini "kiralamasını" istiyorsanız bu işlev yararlı olabilir. Örneğin, bir çalışan rolü bir iletiyi işlemek için daha fazla zamana ihtiyacı olduğunu çağırır receive_messages ve tanırsa, ileti işlenene kadar iletinin görünmezliğini sürekli olarak genişletebilir. çalışan rolü işleme sırasında başarısız olursa, sonunda ileti yeniden görünür hale gelir ve başka bir çalışan rolü bunu işleyebilecektir.

Key-encryption-key alanı yerel hizmet nesnesinde ayarlandıysa, bu yöntem karşıya yüklemeden önce içeriği şifreler.

update_message(message: str | QueueMessage, pop_receipt: str | None = None, content: object | None = None, *, visibility_timeout: int | None = None, **kwargs: Any) -> QueueMessage

Parametreler

message
str veya QueueMessage
Gerekli

Güncelleştirilecek iletiyi tanımlayan ileti nesnesi veya kimliği.

pop_receipt
str
Gerekli

veya update_message işlemine receive_messages yapılan önceki bir çağrıdan döndürülen geçerli bir pop alındı bilgisi değeri.

content
Optional[object]
Gerekli

İleti içeriği. İzin verilen tür, hizmette ayarlanan encode_function tarafından belirlenir. Varsayılan değer str'dir.

visibility_timeout
int

Sunucu süresine göre saniye olarak yeni görünürlük zaman aşımı değerini belirtir. Yeni değer 0'dan büyük veya buna eşit olmalı ve 7 günden büyük olamaz. İletinin görünürlük zaman aşımı süresi, süre sonu süresinden sonraki bir değere ayarlanamaz. İleti silinene veya süresi dolana kadar güncelleştirilebilir. Güncelleştirilecek iletiyi tanımlayan ileti nesnesi veya ileti kimliği.

timeout
int

İşlemin sunucu tarafı zaman aşımını saniye olarak ayarlar. Diğer ayrıntılar için bkz: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Bu değer istemcide izlenmez veya doğrulanmaz. İstemci tarafı ağ zaman aşımlarını yapılandırmak için buraya bakın.

Döndürülenler

Bir QueueMessage nesnesi. Kolaylık olması için, hizmet tarafından döndürülmemesine rağmen bu nesne içerikle de doldurulur.

Dönüş türü

Örnekler

İletiyi güncelleştirme.


   # 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")

Öznitelikler

api_version

İstekler için kullanılan Depolama API'sinin sürümü.

Dönüş türü

str

location_mode

İstemcinin şu anda kullandığı konum modu.

Varsayılan olarak bu "birincil" olur. Seçenekler arasında "birincil" ve "ikincil" bulunur.

Dönüş türü

str

primary_endpoint

Tam birincil uç nokta URL'si.

Dönüş türü

str

primary_hostname

Birincil uç noktanın ana bilgisayar adı.

Dönüş türü

str

secondary_endpoint

Yapılandırıldıysa tam ikincil uç nokta URL'si.

Kullanılamıyorsa bir ValueError oluşturulur. İkincil ana bilgisayar adını açıkça belirtmek için, örneklemede isteğe bağlı secondary_hostname anahtar sözcük bağımsız değişkenini kullanın.

Dönüş türü

str

Özel durumlar

secondary_hostname

İkincil uç noktanın ana bilgisayar adı.

Kullanılamıyorsa, bu Yok olur. İkincil ana bilgisayar adını açıkça belirtmek için, örneklemede isteğe bağlı secondary_hostname anahtar sözcük bağımsız değişkenini kullanın.

Dönüş türü

url

Kullanılırsa SAS belirteci de dahil olmak üzere bu varlığın tam uç nokta URL'si.

Bu birincil uç nokta veya geçerli location_modeöğesine bağlı olarak ikincil uç nokta olabilir. :returns: Kullanıldıysa SAS belirteci de dahil olmak üzere bu varlığa ilişkin tam uç nokta URL'si. :rtype: str