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.StorageAccountHostsMixinQueueClientazure.storage.queue._encryption.StorageEncryptionMixinQueueClient
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
Depolama hesabının URL'si. Kuyruğa tam URI verilen bir istemci oluşturmak için classmethod kullanın from_queue_url .
- credential
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://video2.skills-academy.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
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://video2.skills-academy.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
Ö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
- pop_receipt
- str
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://video2.skills-academy.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://video2.skills-academy.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
- credential
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
- credential
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://video2.skills-academy.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
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://video2.skills-academy.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://video2.skills-academy.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://video2.skills-academy.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
İ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://video2.skills-academy.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]
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://video2.skills-academy.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
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://video2.skills-academy.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
Güncelleştirilecek iletiyi tanımlayan ileti nesnesi veya kimliği.
- pop_receipt
- str
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.
İ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://video2.skills-academy.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
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ü
primary_endpoint
primary_hostname
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ü
Ö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
Azure SDK for Python