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.StorageAccountHostsMixinQueueClientazure.storage.queue._encryption.StorageEncryptionMixinQueueClient
Konstruktor
QueueClient(account_url: str, queue_name: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any)
Parametry
- account_url
- str
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 .
- credential
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
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
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
Objekt zprávy nebo ID identifikující zprávu, která se má odstranit.
- pop_receipt
- str
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
- credential
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
- credential
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
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
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]
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
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
Objekt zprávy nebo ID identifikující zprávu, která se má aktualizovat.
- pop_receipt
- str
Platná hodnota potvrzení pop vrácená z dřívějšího volání receive_messages operace nebo update_message .
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
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
primary_endpoint
primary_hostname
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
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
Azure SDK for Python
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro