QueueClient Třída

Klient pro interakci s konkrétní frontou.

Další volitelnou konfiguraci potřebujete kliknutím sem.

Dědičnost
azure.storage.queue._shared.base_client.StorageAccountHostsMixin
QueueClient
azure.storage.queue._encryption.StorageEncryptionMixin
QueueClient

Konstruktor

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

Parametry

account_url
str
Vyžadováno

Adresa URL účtu úložiště. Pokud chcete vytvořit klienta s úplným identifikátorem URI fronty, použijte metodu from_queue_url třídy .

queue_name
str
Vyžadováno

Název fronty.

credential
výchozí hodnota: None

Přihlašovací údaje, pomocí kterých se má ověřit. Tato možnost je volitelná, pokud adresa URL účtu už token SAS obsahuje. Hodnotou může být řetězec tokenu SAS, instance AzureSasCredential nebo AzureNamedKeyCredential z azure.core.credentials, sdílený přístupový klíč účtu nebo instance třídy TokenCredentials z azure.identity. Pokud identifikátor URI prostředku už obsahuje token SAS, bude se ignorovat ve prospěch explicitních přihlašovacích údajů.

  • s výjimkou případu AzureSasCredential, kde konfliktní tokeny SAS způsobí chybu ValueError. Pokud používáte instanci AzureNamedKeyCredential, název by měl být název účtu úložiště a klíč by měl být klíč účtu úložiště.
api_version
str

Verze rozhraní API služby Storage, která se má použít pro požadavky. Výchozí hodnota je nejnovější verze služby, která je kompatibilní s aktuální sadou SDK. Nastavení na starší verzi může mít za následek snížení kompatibility funkcí.

secondary_hostname
str

Název hostitele sekundárního koncového bodu.

message_encode_policy

Zásady kódování, které se mají použít u odchozích zpráv. Ve výchozím nastavení se zprávy kódovat nešifrují. Mezi další možnosti patří TextBase64EncodePolicy, BinaryBase64EncodePolicy nebo Žádná.

message_decode_policy

Zásady dekódování, které se mají použít u příchozích zpráv. Výchozí hodnota není k dekódování zpráv. Mezi další možnosti patří TextBase64DecodePolicy, BinaryBase64DecodePolicy nebo Žádná.

audience
str

Cílová skupina, která se má použít při žádosti o tokeny pro ověřování Azure Active Directory. Má účinek pouze v případě, že přihlašovací údaje jsou typu TokenCredential. Hodnota může být https://storage.azure.com/ (výchozí) nebo https://.queue.core.windows.net.

Příklady

Vytvořte klienta fronty s adresou URL a přihlašovacími údaji.


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

Metody

clear_messages

Odstraní všechny zprávy ze zadané fronty.

close

Tato metoda je zavřít sokety otevřené klientem. Při použití se správcem kontextu se nemusí používat.

create_queue

Vytvoří novou frontu v účtu úložiště.

Pokud už fronta se stejným názvem existuje, operace selže s chybou ResourceExistsError.

delete_message

Odstraní zadanou zprávu.

Obvykle se očekává, že jakmile klient načte zprávu s operací příjmu zpráv, klient zprávu zpracuje a odstraní. Pokud chcete zprávu odstranit, musíte mít samotný objekt zprávy nebo dvě položky dat: ID a pop_receipt. ID se vrátí z předchozí operace receive_messages. Pop_receipt se vrátí z poslední receive_messages operace nebo update_message . Aby byla operace delete_message úspěšná, musí se pop_receipt zadaná v požadavku shodovat s pop_receipt vrácenou z receive_messages operace nebo update_message .

delete_queue

Odstraní zadanou frontu a všechny zprávy, které obsahuje.

Po úspěšném odstranění je fronta okamžitě označena k odstranění a již není přístupná klientům. Fronta se později během uvolňování paměti odebere ze služby Queue.

Upozorňujeme, že odstranění fronty bude pravděpodobně trvat alespoň 40 sekund. Pokud dojde k pokusu o operaci s frontou v době, kdy byla odstraněna, <xref:azure.storage.queue.HttpResponseError> vyvolá se chyba .

from_connection_string

Vytvořte QueueClient z připojovacího řetězce.

from_queue_url

Klient pro interakci s konkrétní frontou.

get_queue_access_policy

Vrátí podrobnosti o všech uložených zásadách přístupu zadaných ve frontě, které lze použít se sdílenými přístupovými podpisy.

get_queue_properties

Vrátí všechna uživatelem definovaná metadata pro zadanou frontu.

Vrácená data nezahrnují seznam zpráv fronty.

peek_messages

Načte jednu nebo více zpráv z přední části fronty, ale nezmění viditelnost zprávy.

Načíst lze pouze zprávy, které jsou viditelné. Při prvním načtení zprávy voláním receive_messagesje vlastnost dequeue_count nastavena na hodnotu 1. Pokud se neodstraní a následně se znovu načte, dequeue_count vlastnost se navýší. Klient může tuto hodnotu použít k určení, kolikrát byla zpráva načtena. Všimněte si, že volání peek_messages nezvyšuje hodnotu dequeue_count, ale vrátí tuto hodnotu, aby ji klient načetl.

Pokud je u objektu místní služby nastaveno pole klíč-šifrovací-klíč nebo překladač, zprávy se před vrácením dešifrují.

receive_message

Odebere jednu zprávu z přední části fronty.

Když se zpráva načte z fronty, odpověď bude obsahovat obsah zprávy a hodnotu pop_receipt, která se vyžaduje k odstranění zprávy. Zpráva se z fronty automaticky neodstraní, ale po načtení se po dobu určenou parametrem visibility_timeout nezobrazí ostatním klientům.

Pokud je u objektu místní služby nastaveno pole klíč-šifrování-klíč nebo překladač, zpráva se před vrácením dešifruje.

receive_messages

Odebere jednu nebo více zpráv z přední části fronty.

Když je zpráva načtena z fronty, odpověď obsahuje obsah zprávy a hodnotu pop_receipt, která je nutná k odstranění zprávy. Zpráva se z fronty automaticky neodstraní, ale po načtení se po dobu určenou parametrem visibility_timeout nezobrazí ostatním klientům. Iterátor bude průběžně načítat zprávy, dokud nebude fronta prázdná nebo dokud nebude max_messages (pokud je nastavená max_messages).

Pokud je u objektu místní služby nastaveno pole klíč-šifrovací-klíč nebo překladač, zprávy se před vrácením dešifrují.

send_message

Přidá novou zprávu do zadní části fronty zpráv.

Časový limit viditelnosti určuje čas, kdy bude zpráva neviditelná. Po vypršení časového limitu se zpráva zobrazí. Pokud časový limit viditelnosti není zadaný, použije se výchozí hodnota 0.

Hodnota TTL (Time to Live) zprávy určuje, jak dlouho zpráva zůstane ve frontě. Zpráva bude odstraněna z fronty, jakmile vyprší období ttl.to-live.

Pokud je u objektu místní služby nastaveno pole klíč-encryption-key, tato metoda před nahráním zašifruje obsah.

set_queue_access_policy

Nastaví uložené zásady přístupu pro frontu, které se dají použít se sdílenými přístupovými podpisy.

Když nastavíte oprávnění pro frontu, stávající oprávnění se nahradí. Chcete-li aktualizovat oprávnění fronty, načtěte všechny get_queue_access_policy zásady přístupu přidružené k frontě, upravte zásady přístupu, které chcete změnit, a pak zavolejte tuto funkci s úplnou sadou dat, aby se aktualizace provedla.

Když vytvoříte uložené zásady přístupu ve frontě, může trvat až 30 sekund, než se projeví. Během tohoto intervalu sdílený přístupový podpis přidružený k uloženým zásadám přístupu vyvolá výjimku , <xref:azure.storage.queue.HttpResponseError> dokud zásady přístupu nebudou aktivní.

set_queue_metadata

Nastaví uživatelem definovaná metadata v zadané frontě.

Metadata jsou přidružená k frontě jako páry název-hodnota.

update_message

Aktualizace časový limit viditelnosti zprávy. Tuto operaci můžete použít také k aktualizaci obsahu zprávy.

Tuto operaci lze použít k neustálému rozšíření neviditelnosti zprávy ve frontě. Tato funkce může být užitečná, pokud chcete, aby role pracovního procesu "zapůjčení" zprávy fronty. Pokud například volá receive_messages role pracovního procesu a rozpozná, že potřebuje více času ke zpracování zprávy, může nepřetržitě rozšiřovat neviditelnost zprávy, dokud se nezpracuje. Pokud by role pracovního procesu během zpracování selhala, zpráva by se nakonec znovu zobrazila a mohla by ji zpracovat jiná role pracovního procesu.

Pokud je u objektu místní služby nastaveno pole klíč-encryption-key, tato metoda před nahráním zašifruje obsah.

clear_messages

Odstraní všechny zprávy ze zadané fronty.

clear_messages(**kwargs: Any) -> None

Parametry

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Tato hodnota se v klientovi nesleduje ani neověřuje. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Příklady

Vymaže všechny zprávy.


   queue.clear_messages()

close

Tato metoda je zavřít sokety otevřené klientem. Při použití se správcem kontextu se nemusí používat.

close()

create_queue

Vytvoří novou frontu v účtu úložiště.

Pokud už fronta se stejným názvem existuje, operace selže s chybou ResourceExistsError.

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

Parametry

metadata
Dict[str,str]

Dict obsahující páry název-hodnota, které se přidruží k frontě jako metadata. Všimněte si, že názvy metadat zachovávají velikost písmen, se kterými byly vytvořeny, ale při nastavení nebo čtení nerozlišují malá a velká písmena.

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Tato hodnota se v klientovi nesleduje ani neověřuje. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návraty

Žádný nebo výsledek cls(response)

Návratový typ

Výjimky

StorageErrorException

Příklady

Vytvořte frontu.


   queue.create_queue()

delete_message

Odstraní zadanou zprávu.

Obvykle se očekává, že jakmile klient načte zprávu s operací příjmu zpráv, klient zprávu zpracuje a odstraní. Pokud chcete zprávu odstranit, musíte mít samotný objekt zprávy nebo dvě položky dat: ID a pop_receipt. ID se vrátí z předchozí operace receive_messages. Pop_receipt se vrátí z poslední receive_messages operace nebo update_message . Aby byla operace delete_message úspěšná, musí se pop_receipt zadaná v požadavku shodovat s pop_receipt vrácenou z receive_messages operace nebo update_message .

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

Parametry

message
str nebo QueueMessage
Vyžadováno

Objekt zprávy nebo ID identifikující zprávu, která se má odstranit.

pop_receipt
str
Vyžadováno

Platná hodnota pop receipt vrácená z dřívějšího volání nebo receive_messagesupdate_message.

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Tato hodnota se v klientovi nesleduje ani neověřuje. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Příklady

Odstranění zprávy


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

   # Delete the specified message
   queue.delete_message(msg)

delete_queue

Odstraní zadanou frontu a všechny zprávy, které obsahuje.

Po úspěšném odstranění je fronta okamžitě označena k odstranění a již není přístupná klientům. Fronta se později během uvolňování paměti odebere ze služby Queue.

Upozorňujeme, že odstranění fronty bude pravděpodobně trvat alespoň 40 sekund. Pokud dojde k pokusu o operaci s frontou v době, kdy byla odstraněna, <xref:azure.storage.queue.HttpResponseError> vyvolá se chyba .

delete_queue(**kwargs: Any) -> None

Parametry

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Tato hodnota se v klientovi nesleduje ani neověřuje. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návratový typ

Příklady

Odstranění fronty


   queue.delete_queue()

from_connection_string

Vytvořte QueueClient z připojovacího řetězce.

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

Parametry

conn_str
str
Vyžadováno

Připojovací řetězec k účtu služby Azure Storage.

queue_name
str
Vyžadováno

Název fronty.

credential
výchozí hodnota: None

Přihlašovací údaje, pomocí kterých se má ověřit. Tato možnost je volitelná, pokud adresa URL účtu už má token SAS nebo pokud připojovací řetězec již obsahuje hodnoty sdíleného přístupového klíče. Hodnotou může být řetězec tokenu SAS, instance AzureSasCredential nebo AzureNamedKeyCredential z azure.core.credentials, sdílený přístupový klíč účtu nebo instance třídy TokenCredentials z azure.identity. Zde zadané přihlašovací údaje budou mít přednost před přihlašovacími údaji v připojovací řetězec. Pokud používáte instanci AzureNamedKeyCredential, název by měl být název účtu úložiště a klíč by měl být klíč účtu úložiště.

audience
str

Cílová skupina, která se má použít při žádosti o tokeny pro ověřování Azure Active Directory. Má účinek pouze v případě, že přihlašovací údaje jsou typu TokenCredential. Hodnota může být https://storage.azure.com/ (výchozí) nebo https://.queue.core.windows.net.

Návraty

Klient fronty.

Návratový typ

Příklady

Vytvořte klienta fronty z připojovací řetězec.


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

from_queue_url

Klient pro interakci s konkrétní frontou.

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

Parametry

queue_url
str
Vyžadováno

Úplný identifikátor URI fronty, včetně tokenu SAS, pokud je použit.

credential
výchozí hodnota: None

Přihlašovací údaje, pomocí kterých se má ověřit. Tato možnost je volitelná, pokud adresa URL účtu už token SAS obsahuje. Hodnotou může být řetězec tokenu SAS, instance AzureSasCredential nebo AzureNamedKeyCredential z azure.core.credentials, sdílený přístupový klíč účtu nebo instance třídy TokenCredentials z azure.identity. Pokud identifikátor URI prostředku už obsahuje token SAS, bude se ignorovat ve prospěch explicitních přihlašovacích údajů.

  • s výjimkou případu AzureSasCredential, kde konfliktní tokeny SAS způsobí chybu ValueError. Pokud používáte instanci AzureNamedKeyCredential, název by měl být název účtu úložiště a klíč by měl být klíč účtu úložiště.
audience
str

Cílová skupina, která se má použít při žádosti o tokeny pro ověřování Azure Active Directory. Má účinek pouze v případě, že přihlašovací údaje jsou typu TokenCredential. Hodnota může být https://storage.azure.com/ (výchozí) nebo https://.queue.core.windows.net.

Návraty

Klient fronty.

Návratový typ

get_queue_access_policy

Vrátí podrobnosti o všech uložených zásadách přístupu zadaných ve frontě, které lze použít se sdílenými přístupovými podpisy.

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

Parametry

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Tato hodnota se v klientovi nesleduje ani neověřuje. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návraty

Slovník zásad přístupu přidružených k frontě.

Návratový typ

get_queue_properties

Vrátí všechna uživatelem definovaná metadata pro zadanou frontu.

Vrácená data nezahrnují seznam zpráv fronty.

get_queue_properties(**kwargs: Any) -> QueueProperties

Parametry

timeout
int

Parametr časového limitu se vyjadřuje v sekundách.

Návraty

Uživatelem definovaná metadata pro frontu.

Návratový typ

Příklady

Získejte vlastnosti ve frontě.


   properties = queue.get_queue_properties().metadata

peek_messages

Načte jednu nebo více zpráv z přední části fronty, ale nezmění viditelnost zprávy.

Načíst lze pouze zprávy, které jsou viditelné. Při prvním načtení zprávy voláním receive_messagesje vlastnost dequeue_count nastavena na hodnotu 1. Pokud se neodstraní a následně se znovu načte, dequeue_count vlastnost se navýší. Klient může tuto hodnotu použít k určení, kolikrát byla zpráva načtena. Všimněte si, že volání peek_messages nezvyšuje hodnotu dequeue_count, ale vrátí tuto hodnotu, aby ji klient načetl.

Pokud je u objektu místní služby nastaveno pole klíč-šifrovací-klíč nebo překladač, zprávy se před vrácením dešifrují.

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

Parametry

max_messages
int
Vyžadováno

Nenulová celočíselná hodnota, která určuje počet zpráv, které se mají z fronty zobrazit, maximálně 32. Ve výchozím nastavení se z fronty pomocí této operace zobrazí náhled jedné zprávy.

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Tato hodnota se v klientovi nesleduje ani neověřuje. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návraty

Seznam QueueMessage objektů. Všimněte si, že next_visible_on a pop_receipt se nenaplní, protože náhled nevyskočí ve zprávě a může načíst jenom viditelné zprávy.

Návratový typ

Příklady

Náhled zpráv.


   # 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

Odebere jednu zprávu z přední části fronty.

Když se zpráva načte z fronty, odpověď bude obsahovat obsah zprávy a hodnotu pop_receipt, která se vyžaduje k odstranění zprávy. Zpráva se z fronty automaticky neodstraní, ale po načtení se po dobu určenou parametrem visibility_timeout nezobrazí ostatním klientům.

Pokud je u objektu místní služby nastaveno pole klíč-šifrování-klíč nebo překladač, zpráva se před vrácením dešifruje.

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

Parametry

visibility_timeout
int

Pokud není zadaný, výchozí hodnota je 30. Určuje novou hodnotu časového limitu viditelnosti v sekundách vzhledem k času serveru. Hodnota musí být větší nebo rovna 1 a nesmí být větší než 7 dnů. Časový limit viditelnosti zprávy nelze nastavit na hodnotu pozdější než čas vypršení platnosti. visibility_timeout by měla být nastavená na hodnotu menší, než je hodnota time-to-live.

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Tato hodnota se v klientovi nesleduje ani neověřuje. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návraty

Vrátí zprávu z fronty nebo Žádná, pokud je fronta prázdná.

Návratový typ

Příklady

Přijmout jednu zprávu z fronty.


   # 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

Odebere jednu nebo více zpráv z přední části fronty.

Když je zpráva načtena z fronty, odpověď obsahuje obsah zprávy a hodnotu pop_receipt, která je nutná k odstranění zprávy. Zpráva se z fronty automaticky neodstraní, ale po načtení se po dobu určenou parametrem visibility_timeout nezobrazí ostatním klientům. Iterátor bude průběžně načítat zprávy, dokud nebude fronta prázdná nebo dokud nebude max_messages (pokud je nastavená max_messages).

Pokud je u objektu místní služby nastaveno pole klíč-šifrovací-klíč nebo překladač, zprávy se před vrácením dešifrují.

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

Parametry

visibility_timeout
int

Pokud není zadaný, výchozí hodnota je 30. Určuje novou hodnotu časového limitu viditelnosti v sekundách vzhledem k času serveru. Hodnota musí být větší nebo rovna 1 a nesmí být větší než 7 dnů. Časový limit viditelnosti zprávy nelze nastavit na hodnotu pozdější než čas vypršení platnosti. visibility_timeout by měla být nastavená na hodnotu menší, než je hodnota time-to-live.

max_messages
int

Celé číslo, které určuje maximální počet zpráv, které se mají načíst z fronty.

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Tato hodnota se v klientovi nesleduje ani neověřuje. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návraty

Vrátí iterátor zpráv objektů Message podobných diktování.

Návratový typ

Příklady

Příjem zpráv z fronty


   # 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

Přidá novou zprávu do zadní části fronty zpráv.

Časový limit viditelnosti určuje čas, kdy bude zpráva neviditelná. Po vypršení časového limitu se zpráva zobrazí. Pokud časový limit viditelnosti není zadaný, použije se výchozí hodnota 0.

Hodnota TTL (Time to Live) zprávy určuje, jak dlouho zpráva zůstane ve frontě. Zpráva bude odstraněna z fronty, jakmile vyprší období ttl.to-live.

Pokud je u objektu místní služby nastaveno pole klíč-encryption-key, tato metoda před nahráním zašifruje obsah.

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

Parametry

content
Optional[object]
Vyžadováno

Obsah zprávy. Povolený typ je určen encode_function nastavenými ve službě. Výchozí hodnota je str. Zakódovaná zpráva může mít velikost až 64 kB.

visibility_timeout
int

Pokud není zadán, výchozí hodnota je 0. Určuje novou hodnotu časového limitu viditelnosti v sekundách vzhledem k času serveru. Hodnota musí být větší nebo rovna 0 a nesmí být větší než 7 dnů. Časový limit viditelnosti zprávy nelze nastavit na hodnotu pozdější než čas vypršení platnosti. visibility_timeout by měla být nastavená na hodnotu menší, než je hodnota time-to-live.

time_to_live
int

Určuje interval ttl-to-live zprávy v sekundách. Hodnota TTL (Time to Live) může být libovolné kladné číslo nebo -1 pro nekonečno. Pokud tento parametr vynecháte, výchozí hodnota TTL (Time to Live) je 7 dnů.

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Tato hodnota se v klientovi nesleduje ani neověřuje. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návraty

Objekt QueueMessage . Tento objekt je také naplněn obsahem, i když není vrácen ze služby.

Návratový typ

Příklady

Odesílání zpráv.


   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

Nastaví uložené zásady přístupu pro frontu, které se dají použít se sdílenými přístupovými podpisy.

Když nastavíte oprávnění pro frontu, stávající oprávnění se nahradí. Chcete-li aktualizovat oprávnění fronty, načtěte všechny get_queue_access_policy zásady přístupu přidružené k frontě, upravte zásady přístupu, které chcete změnit, a pak zavolejte tuto funkci s úplnou sadou dat, aby se aktualizace provedla.

Když vytvoříte uložené zásady přístupu ve frontě, může trvat až 30 sekund, než se projeví. Během tohoto intervalu sdílený přístupový podpis přidružený k uloženým zásadám přístupu vyvolá výjimku , <xref:azure.storage.queue.HttpResponseError> dokud zásady přístupu nebudou aktivní.

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

Parametry

signed_identifiers
Dict[str, AccessPolicy]
Vyžadováno

Zásady přístupu SignedIdentifier, které se přidruží k frontě. Může obsahovat až 5 prvků. Prázdný dikt vymaže zásady přístupu nastavené ve službě.

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Tato hodnota se v klientovi nesleduje ani neověřuje. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Příklady

Nastavte pro frontu zásady přístupu.


   # 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

Nastaví uživatelem definovaná metadata v zadané frontě.

Metadata jsou přidružená k frontě jako páry název-hodnota.

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

Parametry

metadata
Optional[Dict[str, str]]
Vyžadováno

Dict obsahující páry název-hodnota, které se přidruží k frontě jako metadata.

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Tato hodnota se v klientovi nesleduje ani neověřuje. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návraty

Slovník hlaviček odpovědi.

Návratový typ

Příklady

Nastavte metadata ve frontě.


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

update_message

Aktualizace časový limit viditelnosti zprávy. Tuto operaci můžete použít také k aktualizaci obsahu zprávy.

Tuto operaci lze použít k neustálému rozšíření neviditelnosti zprávy ve frontě. Tato funkce může být užitečná, pokud chcete, aby role pracovního procesu "zapůjčení" zprávy fronty. Pokud například volá receive_messages role pracovního procesu a rozpozná, že potřebuje více času ke zpracování zprávy, může nepřetržitě rozšiřovat neviditelnost zprávy, dokud se nezpracuje. Pokud by role pracovního procesu během zpracování selhala, zpráva by se nakonec znovu zobrazila a mohla by ji zpracovat jiná role pracovního procesu.

Pokud je u objektu místní služby nastaveno pole klíč-encryption-key, tato metoda před nahráním zašifruje obsah.

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

Parametry

message
str nebo QueueMessage
Vyžadováno

Objekt zprávy nebo ID identifikující zprávu, která se má aktualizovat.

pop_receipt
str
Vyžadováno

Platná hodnota potvrzení pop vrácená z dřívějšího volání receive_messages operace nebo update_message .

content
Optional[object]
Vyžadováno

Obsah zprávy. Povolený typ je určen encode_function nastavenými ve službě. Výchozí hodnota je str.

visibility_timeout
int

Určuje novou hodnotu časového limitu viditelnosti v sekundách vzhledem k času serveru. Nová hodnota musí být větší nebo rovna 0 a nesmí být větší než 7 dnů. Časový limit viditelnosti zprávy nelze nastavit na hodnotu pozdější než čas vypršení platnosti. Zprávu je možné aktualizovat, dokud nebude odstraněna nebo nevypršela jeho platnost. Objekt zprávy nebo ID zprávy identifikující zprávu, která se má aktualizovat.

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Tato hodnota se v klientovi nesleduje ani neověřuje. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návraty

Objekt QueueMessage . Pro usnadnění je tento objekt také naplněn obsahem, i když ho služba nevrátí.

Návratový typ

Příklady

Aktualizace zprávy


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

Atributy

api_version

Verze rozhraní API služby Storage používaná pro požadavky.

Návratový typ

str

location_mode

Režim umístění, který klient aktuálně používá.

Ve výchozím nastavení bude primární. Mezi možnosti patří primární a sekundární.

Návratový typ

str

primary_endpoint

Úplná adresa URL primárního koncového bodu.

Návratový typ

str

primary_hostname

Název hostitele primárního koncového bodu.

Návratový typ

str

secondary_endpoint

Úplná adresa URL sekundárního koncového bodu, pokud je nakonfigurovaná.

Pokud není k dispozici, vyvolá se chyba ValueError. Pokud chcete explicitně zadat sekundární název hostitele, při vytváření instance použijte volitelný argument secondary_hostname klíčového slova.

Návratový typ

str

Výjimky

secondary_hostname

Název hostitele sekundárního koncového bodu.

Pokud není k dispozici, bude to Žádná. Pokud chcete explicitně zadat sekundární název hostitele, při vytváření instance použijte volitelný argument secondary_hostname klíčového slova.

Návratový typ

url

Úplná adresa URL koncového bodu této entity, včetně tokenu SAS, pokud se používá.

V závislosti na aktuálním location_modekoncovém bodu to může být primární koncový bod nebo sekundární koncový bod. :returns: Úplná adresa URL koncového bodu této entity, včetně tokenu SAS, pokud je použit. :rtype: str