QueueClient Osztály
Egy adott üzenetsort kezelő ügyfél.
További választható konfigurációért kattintson ide.
- Öröklődés
-
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)
Paraméterek
- account_url
- str
A tárfiók URL-címe. Ahhoz, hogy létrehozhasson egy ügyfelet, amely a teljes URI-t adja meg az üzenetsornak, használja a from_queue_url classmethod parancsot.
- credential
A hitelesítéshez használt hitelesítő adatok. Ez nem kötelező, ha a fiók URL-címe már rendelkezik SAS-jogkivonattal. Az érték lehet SAS-jogkivonat-sztring, egy AzureSasCredential vagy AzureNamedKeyCredential példánya az azure.core.credentials-ből, egy fiók megosztott hozzáférési kulcsa vagy az azure.identity tokencredentials osztályának egy példánya. Ha az erőforrás URI-ja már tartalmaz SAS-jogkivonatot, a rendszer ezt figyelmen kívül hagyja egy explicit hitelesítő adat javára.
- kivéve az AzureSasCredential esetében, ahol az ütköző SAS-jogkivonatok ValueError értéket fognak létrehozni. Ha azureNamedKeyCredential-példányt használ, a "név" a tárfiók neve, a "kulcs" pedig a tárfiók kulcsa.
- api_version
- str
A kérésekhez használandó Storage API-verzió. Az alapértelmezett érték az aktuális SDK-val kompatibilis legújabb szolgáltatásverzió. A régebbi verzióra való beállítás csökkentett funkciókompatibilitást eredményezhet.
- secondary_hostname
- str
A másodlagos végpont állomásneve.
- message_encode_policy
A kimenő üzeneteken használandó kódolási szabályzat. Az alapértelmezett érték nem az üzenetek kódolása. Egyéb lehetőségek: TextBase64EncodePolicy, BinaryBase64EncodePolicy vagy Nincs.
- message_decode_policy
A bejövő üzenetekhez használandó dekódolási szabályzat. Az alapértelmezett érték nem az üzenetek dekódolásához szükséges. Egyéb lehetőségek: TextBase64DecodePolicy, BinaryBase64DecodePolicy vagy Nincs.
- audience
- str
Az Azure Active Directory-hitelesítés jogkivonatainak lekéréséhez használni kívánt célközönség. Csak akkor van hatása, ha a hitelesítő adatok TokenCredential típusúak. Az érték lehet https://storage.azure.com/ (alapértelmezett) vagy https://.queue.core.windows.net.
Példák
Hozza létre az üzenetsor-ügyfelet URL-címmel és hitelesítő adatokkal.
token_auth_queue = QueueClient.from_queue_url(
queue_url=queue.url,
credential=sas_token
)
Metódusok
clear_messages |
Törli az összes üzenetet a megadott üzenetsorból. |
close |
Ezzel a módszerrel zárja be az ügyfél által megnyitott szoftvercsatornákat. A környezetkezelővel való használathoz nem szükséges használni. |
create_queue |
Új üzenetsort hoz létre a tárfiókban. Ha már létezik egy azonos nevű üzenetsor, a művelet resourceExistsError művelettel meghiúsul. |
delete_message |
Törli a megadott üzenetet. Általában miután egy ügyfél lekért egy üzenetet az üzenet fogadása művelettel, az ügyfélnek várhatóan fel kell dolgoznia és törölnie kell az üzenetet. Az üzenet törléséhez magának az üzenetobjektumnak vagy két adatelemnek kell lennie: azonosító és pop_receipt. Az azonosító az előző receive_messages műveletből lesz visszaadva. A pop_receipt a legutóbbi receive_messages vagy update_message a műveletből lesz visszaadva. Ahhoz, hogy a delete_message művelet sikeres legyen, a kérelemben megadott pop_receipt meg kell egyeznie a vagy update_message művelet által receive_messages visszaadott pop_receipt. |
delete_queue |
Törli a megadott üzenetsort és a benne lévő üzeneteket. Ha egy üzenetsor sikeresen törölve van, a rendszer azonnal megjelöli törlésre, és már nem érhető el az ügyfelek számára. A rendszer később eltávolítja az üzenetsort a Queue szolgáltatásból a szemétgyűjtés során. Vegye figyelembe, hogy az üzenetsor törlése valószínűleg legalább 40 másodpercet vesz igénybe. Ha a rendszer egy műveletet kísérel meg az üzenetsoron a törlés közben, a rendszer egy <xref:azure.storage.queue.HttpResponseError> üzenetet küld. |
from_connection_string |
QueueClient létrehozása kapcsolati sztringből. |
from_queue_url |
Egy ügyfél, amely egy adott üzenetsort használ. |
get_queue_access_policy |
A megosztott hozzáférésű jogosultságkódokkal használható üzenetsoron megadott tárolt hozzáférési szabályzatok részleteit adja vissza. |
get_queue_properties |
A megadott üzenetsor összes felhasználó által definiált metaadatait adja vissza. A visszaadott adatok nem tartalmazzák az üzenetsor üzenetlistáját. |
peek_messages |
Egy vagy több üzenetet kér le az üzenetsor elejéről, de nem módosítja az üzenet láthatóságát. Csak a látható üzenetek kérhetők le. Amikor egy üzenetet első alkalommal kér le egy hívással receive_messages, a dequeue_count tulajdonság értéke 1 lesz. Ha a rendszer nem törli, és később ismét lekéri, a dequeue_count tulajdonság növekszik. Az ügyfél ezt az értéket használhatja annak meghatározására, hogy hányszor kérték le az üzeneteket. Vegye figyelembe, hogy a peek_messages hívása nem növeli a dequeue_count értékét, hanem ezt az értéket adja vissza az ügyfélnek az olvasáshoz. Ha a kulcstitkosítási kulcs vagy a feloldó mező be van állítva a helyi szolgáltatásobjektumon, az üzenetek visszafejtése a visszaadás előtt történik. |
receive_message |
Eltávolít egy üzenetet az üzenetsor elejéről. Amikor lekéri az üzenetet az üzenetsorból, a válasz tartalmazza az üzenet tartalmát és egy pop_receipt értéket, amely az üzenet törléséhez szükséges. Az üzenet nem törlődik automatikusan az üzenetsorból, de a lekérés után nem látható a többi ügyfél számára a visibility_timeout paraméter által megadott időintervallumban. Ha a kulcstitkosítási kulcs vagy a feloldó mező be van állítva a helyi szolgáltatásobjektumon, az üzenet visszafejtése a visszaadás előtt történik. |
receive_messages |
Eltávolít egy vagy több üzenetet az üzenetsor elejéről. Amikor lekéri az üzenetet az üzenetsorból, a válasz tartalmazza az üzenet tartalmát és egy pop_receipt értéket, amely az üzenet törléséhez szükséges. Az üzenet nem törlődik automatikusan az üzenetsorból, de a lekérés után nem látható a többi ügyfél számára a visibility_timeout paraméter által megadott időintervallumban. Az iterátor folyamatosan lekéri az üzeneteket, amíg az üzenetsor üres vagy max_messages el nem éri (ha max_messages be van állítva). Ha a kulcstitkosítási kulcs vagy a feloldó mező be van állítva a helyi szolgáltatásobjektumon, az üzenetek visszafejtése a visszaadás előtt történik. |
send_message |
Új üzenetet ad hozzá az üzenetsor hátuljához. A láthatósági időtúllépés azt az időt adja meg, amikor az üzenet láthatatlan lesz. Az időtúllépés lejárta után az üzenet láthatóvá válik. Ha nincs megadva láthatósági időtúllépés, a rendszer a 0 alapértelmezett értékét használja. Az üzenet élettartamát határozza meg, hogy az üzenet mennyi ideig maradjon az üzenetsorban. Az üzenet az élettartam lejártakor törlődik az üzenetsorból. Ha a kulcstitkosítás-kulcs mező be van állítva a helyi szolgáltatásobjektumon, ez a metódus a feltöltés előtt titkosítja a tartalmat. |
set_queue_access_policy |
Beállítja a megosztott hozzáférésű jogosultságkódokkal használható üzenetsor tárolt hozzáférési szabályzatait. Amikor engedélyeket állít be egy üzenetsorhoz, a rendszer lecseréli a meglévő engedélyeket. Az üzenetsor engedélyeinek frissítéséhez hívja get_queue_access_policy meg az üzenetsorhoz társított összes hozzáférési szabályzat beolvasását, módosítsa a módosítani kívánt hozzáférési szabályzatot, majd hívja meg ezt a függvényt a teljes adatkészlettel a frissítés végrehajtásához. Ha tárolt hozzáférési szabályzatot hoz létre egy üzenetsoron, akár 30 másodpercig is eltarthat, amíg érvénybe lép. Ebben az időszakban a tárolt hozzáférési szabályzathoz társított közös hozzáférésű jogosultságkód a hozzáférési szabályzat aktívvá válásáig küld egy <xref:azure.storage.queue.HttpResponseError> hibát. |
set_queue_metadata |
Beállítja a felhasználó által definiált metaadatokat a megadott üzenetsoron. A metaadatok név-érték párokként kapcsolódnak az üzenetsorhoz. |
update_message |
Frissítések egy üzenet láthatósági időtúllépését. Ezzel a művelettel frissítheti az üzenetek tartalmát. Ezzel a művelettel folyamatosan bővíthető az üzenetsorüzenetek láthatatlansága. Ez a funkció akkor lehet hasznos, ha azt szeretné, hogy egy feldolgozói szerepkör "bérletbe" adjon egy üzenetsort. Ha például egy feldolgozói szerepkör felhívja receive_messages és felismeri, hogy több időre van szüksége egy üzenet feldolgozásához, a feldolgozásig folyamatosan kiterjesztheti az üzenet láthatatlanságát. Ha a feldolgozói szerepkör nem működik a feldolgozás során, az üzenet végül ismét láthatóvá válik, és egy másik feldolgozói szerepkör feldolgozhatja azt. Ha a key-encryption-key mező be van állítva a helyi szolgáltatásobjektumon, ez a módszer a feltöltés előtt titkosítja a tartalmat. |
clear_messages
Törli az összes üzenetet a megadott üzenetsorból.
clear_messages(**kwargs: Any) -> None
Paraméterek
- timeout
- int
Beállítja a művelet kiszolgálóoldali időtúllépését másodpercben. További információ: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Ez az érték nincs nyomon követve vagy érvényesítve az ügyfélen. Az ügyféloldali hálózati időtúllépések konfigurálásához lásd itt.
Példák
Törli az összes üzenetet.
queue.clear_messages()
close
Ezzel a módszerrel zárja be az ügyfél által megnyitott szoftvercsatornákat. A környezetkezelővel való használathoz nem szükséges használni.
close()
create_queue
Új üzenetsort hoz létre a tárfiókban.
Ha már létezik egy azonos nevű üzenetsor, a művelet resourceExistsError művelettel meghiúsul.
create_queue(*, metadata: Dict[str, str] | None = None, **kwargs: Any) -> None
Paraméterek
Név-érték párokat tartalmazó diktálás, amely metaadatként társítja az üzenetsort. Vegye figyelembe, hogy a metaadatnevek megőrzik azt az esetet, amellyel létrehozták őket, de nem érzéketlenek a be- vagy olvasáskor.
- timeout
- int
Beállítja a művelet kiszolgálóoldali időtúllépését másodpercben. További információ: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Ez az érték nincs nyomon követve vagy érvényesítve az ügyfélen. Az ügyféloldali hálózati időtúllépések konfigurálásához lásd itt.
Válaszok
Nincs vagy a cls(válasz) eredménye
Visszatérési típus
Kivételek
Példák
Hozzon létre egy üzenetsort.
queue.create_queue()
delete_message
Törli a megadott üzenetet.
Általában miután egy ügyfél lekért egy üzenetet az üzenet fogadása művelettel, az ügyfélnek várhatóan fel kell dolgoznia és törölnie kell az üzenetet. Az üzenet törléséhez magának az üzenetobjektumnak vagy két adatelemnek kell lennie: azonosító és pop_receipt. Az azonosító az előző receive_messages műveletből lesz visszaadva. A pop_receipt a legutóbbi receive_messages vagy update_message a műveletből lesz visszaadva. Ahhoz, hogy a delete_message művelet sikeres legyen, a kérelemben megadott pop_receipt meg kell egyeznie a vagy update_message művelet által receive_messages visszaadott pop_receipt.
delete_message(message: str | QueueMessage, pop_receipt: str | None = None, **kwargs: Any) -> None
Paraméterek
- message
- str vagy QueueMessage
A törölni kívánt üzenetet azonosító üzenetobjektum vagy azonosító.
- pop_receipt
- str
Érvényes előugró nyugtaérték, amely a vagy update_messageegy korábbi hívásából származikreceive_messages.
- timeout
- int
Beállítja a művelet kiszolgálóoldali időtúllépését másodpercben. További információ: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Ez az érték nincs nyomon követve vagy érvényesítve az ügyfélen. Az ügyféloldali hálózati időtúllépések konfigurálásához lásd itt.
Példák
Üzenet törlése.
# Get the message at the front of the queue
msg = next(queue.receive_messages())
# Delete the specified message
queue.delete_message(msg)
delete_queue
Törli a megadott üzenetsort és a benne lévő üzeneteket.
Ha egy üzenetsor sikeresen törölve van, a rendszer azonnal megjelöli törlésre, és már nem érhető el az ügyfelek számára. A rendszer később eltávolítja az üzenetsort a Queue szolgáltatásból a szemétgyűjtés során.
Vegye figyelembe, hogy az üzenetsor törlése valószínűleg legalább 40 másodpercet vesz igénybe. Ha a rendszer egy műveletet kísérel meg az üzenetsoron a törlés közben, a rendszer egy <xref:azure.storage.queue.HttpResponseError> üzenetet küld.
delete_queue(**kwargs: Any) -> None
Paraméterek
- timeout
- int
Beállítja a művelet kiszolgálóoldali időtúllépését másodpercben. További információ: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Ez az érték nincs nyomon követve vagy érvényesítve az ügyfélen. Az ügyféloldali hálózati időtúllépések konfigurálásához lásd itt.
Visszatérési típus
Példák
Üzenetsor törlése.
queue.delete_queue()
from_connection_string
QueueClient létrehozása kapcsolati sztringből.
from_connection_string(conn_str: str, queue_name: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any) -> Self
Paraméterek
- credential
A hitelesítéshez használt hitelesítő adatok. Ez nem kötelező, ha a fiók URL-címe már rendelkezik SAS-jogkivonattal, vagy a kapcsolati karakterlánc már rendelkezik közös hozzáférési kulcsértékekkel. Az érték lehet SAS-jogkivonat-sztring, egy AzureSasCredential vagy AzureNamedKeyCredential példánya az azure.core.credentials-ből, egy fiók megosztott hozzáférési kulcsa vagy az azure.identity tokencredentials osztályának egy példánya. Az itt megadott hitelesítő adatok elsőbbséget élveznek a kapcsolati karakterlánc. Ha azureNamedKeyCredential-példányt használ, a "név" a tárfiók neve, a "kulcs" pedig a tárfiók kulcsa.
- audience
- str
Az Azure Active Directory-hitelesítés jogkivonatainak lekéréséhez használni kívánt célközönség. Csak akkor van hatása, ha a hitelesítő adatok TokenCredential típusúak. Az érték lehet https://storage.azure.com/ (alapértelmezett) vagy https://.queue.core.windows.net.
Válaszok
Egy üzenetsor-ügyfél.
Visszatérési típus
Példák
Hozza létre az üzenetsor-ügyfelet a kapcsolati karakterlánc.
from azure.storage.queue import QueueClient
queue = QueueClient.from_connection_string(self.connection_string, "myqueue1")
from_queue_url
Egy ügyfél, amely egy adott üzenetsort használ.
from_queue_url(queue_url: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any) -> Self
Paraméterek
- credential
A hitelesítéshez használt hitelesítő adatok. Ez nem kötelező, ha a fiók URL-címe már rendelkezik SAS-jogkivonattal. Az érték lehet SAS-jogkivonat-sztring, egy AzureSasCredential vagy AzureNamedKeyCredential példánya az azure.core.credentials-ből, egy fiók megosztott hozzáférési kulcsa vagy az azure.identity tokencredentials osztályának egy példánya. Ha az erőforrás URI-ja már tartalmaz SAS-jogkivonatot, a rendszer ezt figyelmen kívül hagyja egy explicit hitelesítő adat javára.
- kivéve az AzureSasCredential esetében, ahol az ütköző SAS-jogkivonatok ValueError értéket fognak létrehozni. Ha azureNamedKeyCredential-példányt használ, a "név" a tárfiók neve, a "kulcs" pedig a tárfiók kulcsa.
- audience
- str
Az Azure Active Directory-hitelesítés jogkivonatainak lekéréséhez használni kívánt célközönség. Csak akkor van hatása, ha a hitelesítő adatok TokenCredential típusúak. Az érték lehet https://storage.azure.com/ (alapértelmezett) vagy https://.queue.core.windows.net.
Válaszok
Egy üzenetsor-ügyfél.
Visszatérési típus
get_queue_access_policy
A megosztott hozzáférésű jogosultságkódokkal használható üzenetsoron megadott tárolt hozzáférési szabályzatok részleteit adja vissza.
get_queue_access_policy(**kwargs: Any) -> Dict[str, AccessPolicy]
Paraméterek
- timeout
- int
Beállítja a művelet kiszolgálóoldali időtúllépését másodpercben. További információ: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Ez az érték nincs nyomon követve vagy érvényesítve az ügyfélen. Az ügyféloldali hálózati időtúllépések konfigurálásához lásd itt.
Válaszok
Az üzenetsorhoz társított hozzáférési szabályzatok szótára.
Visszatérési típus
get_queue_properties
A megadott üzenetsor összes felhasználó által definiált metaadatait adja vissza.
A visszaadott adatok nem tartalmazzák az üzenetsor üzenetlistáját.
get_queue_properties(**kwargs: Any) -> QueueProperties
Paraméterek
- timeout
- int
Az időtúllépési paraméter másodpercben van kifejezve.
Válaszok
Felhasználó által definiált metaadatok az üzenetsorhoz.
Visszatérési típus
Példák
Kérje le a tulajdonságokat az üzenetsoron.
properties = queue.get_queue_properties().metadata
peek_messages
Egy vagy több üzenetet kér le az üzenetsor elejéről, de nem módosítja az üzenet láthatóságát.
Csak a látható üzenetek kérhetők le. Amikor egy üzenetet első alkalommal kér le egy hívással receive_messages, a dequeue_count tulajdonság értéke 1 lesz. Ha a rendszer nem törli, és később ismét lekéri, a dequeue_count tulajdonság növekszik. Az ügyfél ezt az értéket használhatja annak meghatározására, hogy hányszor kérték le az üzeneteket. Vegye figyelembe, hogy a peek_messages hívása nem növeli a dequeue_count értékét, hanem ezt az értéket adja vissza az ügyfélnek az olvasáshoz.
Ha a kulcstitkosítási kulcs vagy a feloldó mező be van állítva a helyi szolgáltatásobjektumon, az üzenetek visszafejtése a visszaadás előtt történik.
peek_messages(max_messages: int | None = None, **kwargs: Any) -> List[QueueMessage]
Paraméterek
- max_messages
- int
Egy nem egész szám, amely meghatározza az üzenetsorból betekinteni kívánt üzenetek számát, legfeljebb 32-ig. Alapértelmezés szerint egyetlen üzenet jelenik meg az üzenetsorból ezzel a művelettel.
- timeout
- int
Beállítja a művelet kiszolgálóoldali időtúllépését másodpercben. További információ: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Ez az érték nincs nyomon követve vagy érvényesítve az ügyfélen. Az ügyféloldali hálózati időtúllépések konfigurálásához lásd itt.
Válaszok
Objektumok listája QueueMessage . Vegye figyelembe, hogy next_visible_on és pop_receipt nem lesznek kitöltve, mivel a betekintő nem jeleníti meg az üzenetet, és csak a már látható üzeneteket tudja lekérni.
Visszatérési típus
Példák
Betekintés üzeneteket.
# 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
Eltávolít egy üzenetet az üzenetsor elejéről.
Amikor lekéri az üzenetet az üzenetsorból, a válasz tartalmazza az üzenet tartalmát és egy pop_receipt értéket, amely az üzenet törléséhez szükséges. Az üzenet nem törlődik automatikusan az üzenetsorból, de a lekérés után nem látható a többi ügyfél számára a visibility_timeout paraméter által megadott időintervallumban.
Ha a kulcstitkosítási kulcs vagy a feloldó mező be van állítva a helyi szolgáltatásobjektumon, az üzenet visszafejtése a visszaadás előtt történik.
receive_message(*, visibility_timeout: int | None = None, **kwargs: Any) -> QueueMessage | None
Paraméterek
- visibility_timeout
- int
Ha nincs megadva, az alapértelmezett érték 30. Az új láthatóság időtúllépési értékét adja meg másodpercben a kiszolgálói időhöz viszonyítva. Az értéknek 1-nél nagyobbnak vagy egyenlőnek kell lennie, és nem lehet nagyobb 7 napnál. Az üzenetek láthatósági időtúllépése nem állítható be a lejárati időnél későbbi értékre. visibility_timeout az élettartamnál kisebb értékre kell állítani.
- timeout
- int
Beállítja a művelet kiszolgálóoldali időtúllépését másodpercben. További információ: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Ez az érték nincs nyomon követve vagy érvényesítve az ügyfélen. Az ügyféloldali hálózati időtúllépések konfigurálásához lásd itt.
Válaszok
Az üzenetsorból vagy a Nincs üzenetsorból ad vissza egy üzenetet, ha az üzenetsor üres.
Visszatérési típus
Példák
Egy üzenet fogadása az üzenetsorból.
# 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
Eltávolít egy vagy több üzenetet az üzenetsor elejéről.
Amikor lekéri az üzenetet az üzenetsorból, a válasz tartalmazza az üzenet tartalmát és egy pop_receipt értéket, amely az üzenet törléséhez szükséges. Az üzenet nem törlődik automatikusan az üzenetsorból, de a lekérés után nem látható a többi ügyfél számára a visibility_timeout paraméter által megadott időintervallumban. Az iterátor folyamatosan lekéri az üzeneteket, amíg az üzenetsor üres vagy max_messages el nem éri (ha max_messages be van állítva).
Ha a kulcstitkosítási kulcs vagy a feloldó mező be van állítva a helyi szolgáltatásobjektumon, az üzenetek visszafejtése a visszaadás előtt történik.
receive_messages(*, messages_per_page: int | None = None, visibility_timeout: int | None = None, max_messages: int | None = None, **kwargs: Any) -> ItemPaged[QueueMessage]
Paraméterek
- visibility_timeout
- int
Ha nincs megadva, az alapértelmezett érték 30. Az új láthatóság időtúllépési értékét adja meg másodpercben a kiszolgálói időhöz viszonyítva. Az értéknek 1-nél nagyobbnak vagy egyenlőnek kell lennie, és nem lehet nagyobb 7 napnál. Az üzenetek láthatósági időtúllépése nem állítható be a lejárati időnél későbbi értékre. visibility_timeout az élettartamnál kisebb értékre kell állítani.
- max_messages
- int
Egész szám, amely meghatározza az üzenetsorból lekérhető üzenetek maximális számát.
- timeout
- int
Beállítja a művelet kiszolgálóoldali időtúllépését másodpercben. További információ: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Ez az érték nincs nyomon követve vagy érvényesítve az ügyfélen. Az ügyféloldali hálózati időtúllépések konfigurálásához lásd itt.
Válaszok
A diktálásszerű üzenetobjektumok üzenet-iterátorát adja vissza.
Visszatérési típus
Példák
Üzenetek fogadása az üzenetsorból.
# 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
Új üzenetet ad hozzá az üzenetsor hátuljához.
A láthatósági időtúllépés azt az időt adja meg, amikor az üzenet láthatatlan lesz. Az időtúllépés lejárta után az üzenet láthatóvá válik. Ha nincs megadva láthatósági időtúllépés, a rendszer a 0 alapértelmezett értékét használja.
Az üzenet élettartamát határozza meg, hogy az üzenet mennyi ideig maradjon az üzenetsorban. Az üzenet az élettartam lejártakor törlődik az üzenetsorból.
Ha a kulcstitkosítás-kulcs mező be van állítva a helyi szolgáltatásobjektumon, ez a metódus a feltöltés előtt titkosítja a tartalmat.
send_message(content: object | None, *, visibility_timeout: int | None = None, time_to_live: int | None = None, **kwargs: Any) -> QueueMessage
Paraméterek
Üzenet tartalma. Az engedélyezett típust a szolgáltatáson beállított encode_function határozza meg. Az alapértelmezett érték az str. A kódolt üzenet mérete akár 64 KB is lehet.
- visibility_timeout
- int
Ha nincs megadva, az alapértelmezett érték 0. Az új láthatóság időtúllépési értékét adja meg másodpercben a kiszolgálói időhöz viszonyítva. Az értéknek 0-nál nagyobbnak vagy egyenlőnek kell lennie, és nem lehet nagyobb 7 napnál. Az üzenetek láthatósági időtúllépése nem állítható be a lejárati időnél későbbi értékre. visibility_timeout az élettartamnál kisebb értékre kell állítani.
- time_to_live
- int
Az üzenet élettartamát adja meg másodpercben. Az élettartam lehet bármilyen pozitív szám, vagy -1 a végtelenben. Ha ez a paraméter nincs megadva, az alapértelmezett élettartam 7 nap.
- timeout
- int
Beállítja a művelet kiszolgálóoldali időtúllépését másodpercben. További információ: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Ez az érték nincs nyomon követve vagy érvényesítve az ügyfélen. Az ügyféloldali hálózati időtúllépések konfigurálásához lásd itt.
Válaszok
Egy QueueMessage objektum. Ez az objektum a tartalommal is fel van töltve, bár a szolgáltatás nem adja vissza.
Visszatérési típus
Példák
Üzenetek küldése.
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
Beállítja a megosztott hozzáférésű jogosultságkódokkal használható üzenetsor tárolt hozzáférési szabályzatait.
Amikor engedélyeket állít be egy üzenetsorhoz, a rendszer lecseréli a meglévő engedélyeket. Az üzenetsor engedélyeinek frissítéséhez hívja get_queue_access_policy meg az üzenetsorhoz társított összes hozzáférési szabályzat beolvasását, módosítsa a módosítani kívánt hozzáférési szabályzatot, majd hívja meg ezt a függvényt a teljes adatkészlettel a frissítés végrehajtásához.
Ha tárolt hozzáférési szabályzatot hoz létre egy üzenetsoron, akár 30 másodpercig is eltarthat, amíg érvénybe lép. Ebben az időszakban a tárolt hozzáférési szabályzathoz társított közös hozzáférésű jogosultságkód a hozzáférési szabályzat aktívvá válásáig küld egy <xref:azure.storage.queue.HttpResponseError> hibát.
set_queue_access_policy(signed_identifiers: Dict[str, AccessPolicy], **kwargs: Any) -> None
Paraméterek
- signed_identifiers
- Dict[str, AccessPolicy]
SignedIdentifier hozzáférési szabályzatok az üzenetsorhoz való társításához. Ez legfeljebb 5 elemet tartalmazhat. Egy üres diktálás törli a szolgáltatásban beállított hozzáférési szabályzatokat.
- timeout
- int
Beállítja a művelet kiszolgálóoldali időtúllépését másodpercben. További információ: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Ez az érték nincs nyomon követve vagy érvényesítve az ügyfélen. Az ügyféloldali hálózati időkorlátok konfigurálását itt találja.
Példák
Állítson be egy hozzáférési szabályzatot az üzenetsoron.
# 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
Beállítja a felhasználó által definiált metaadatokat a megadott üzenetsoron.
A metaadatok név-érték párokként kapcsolódnak az üzenetsorhoz.
set_queue_metadata(metadata: Dict[str, str] | None = None, **kwargs: Any) -> Dict[str, Any]
Paraméterek
Név-érték párokat tartalmazó diktálás, amely metaadatként társítja az üzenetsort.
- timeout
- int
Beállítja a művelet kiszolgálóoldali időtúllépését másodpercben. További információ: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Ez az érték nincs nyomon követve vagy érvényesítve az ügyfélen. Az ügyféloldali hálózati időkorlátok konfigurálását itt találja.
Válaszok
A válaszfejlécek szótára.
Visszatérési típus
Példák
Állítsa be a metaadatokat az üzenetsorban.
metadata = {'foo': 'val1', 'bar': 'val2', 'baz': 'val3'}
queue.set_queue_metadata(metadata=metadata)
update_message
Frissítések egy üzenet láthatósági időtúllépését. Ezzel a művelettel frissítheti az üzenetek tartalmát.
Ezzel a művelettel folyamatosan bővíthető az üzenetsorüzenetek láthatatlansága. Ez a funkció akkor lehet hasznos, ha azt szeretné, hogy egy feldolgozói szerepkör "bérletbe" adjon egy üzenetsort. Ha például egy feldolgozói szerepkör felhívja receive_messages és felismeri, hogy több időre van szüksége egy üzenet feldolgozásához, a feldolgozásig folyamatosan kiterjesztheti az üzenet láthatatlanságát. Ha a feldolgozói szerepkör nem működik a feldolgozás során, az üzenet végül ismét láthatóvá válik, és egy másik feldolgozói szerepkör feldolgozhatja azt.
Ha a key-encryption-key mező be van állítva a helyi szolgáltatásobjektumon, ez a módszer a feltöltés előtt titkosítja a tartalmat.
update_message(message: str | QueueMessage, pop_receipt: str | None = None, content: object | None = None, *, visibility_timeout: int | None = None, **kwargs: Any) -> QueueMessage
Paraméterek
- message
- str vagy QueueMessage
A frissíteni kívánt üzenetet azonosító üzenetobjektum vagy azonosító.
- pop_receipt
- str
A vagy update_message művelet korábbi hívásából receive_messages visszaadott érvényes pop-nyugtaérték.
Üzenet tartalma. Az engedélyezett típust a szolgáltatásban beállított encode_function határozza meg. Az alapértelmezett érték az str.
- visibility_timeout
- int
Az új láthatóság időtúllépési értékét adja meg másodpercben a kiszolgálói időhöz viszonyítva. Az új értéknek 0-nál nagyobbnak vagy egyenlőnek kell lennie, és nem lehet nagyobb 7 napnál. Az üzenetek láthatósági időtúllépése nem állítható a lejárati időnél későbbi értékre. Az üzenetek mindaddig frissíthetők, amíg el nem törölték vagy lejárt. A frissíteni kívánt üzenetet azonosító üzenetobjektum vagy üzenetazonosító.
- timeout
- int
Beállítja a művelet kiszolgálóoldali időtúllépését másodpercben. További információ: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Ez az érték nincs nyomon követve vagy érvényesítve az ügyfélen. Az ügyféloldali hálózati időkorlátok konfigurálását itt találja.
Válaszok
Egy QueueMessage objektum. A kényelem érdekében ez az objektum is feltöltődik a tartalommal, bár a szolgáltatás nem adja vissza.
Visszatérési típus
Példák
Üzenet frissítése.
# 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")
Attribútumok
api_version
location_mode
Az ügyfél által jelenleg használt hely mód.
Alapértelmezés szerint ez lesz az "elsődleges". A beállítások közé tartozik az "elsődleges" és a "másodlagos".
Visszatérési típus
primary_endpoint
primary_hostname
secondary_endpoint
A teljes másodlagos végpont URL-címe, ha konfigurálva van.
Ha nem érhető el, a rendszer létrehoz egy ValueError értéket. Másodlagos állomásnév explicit megadásához használja az opcionális secondary_hostname kulcsszóargumentumot a példányosításkor.
Visszatérési típus
Kivételek
secondary_hostname
A másodlagos végpont állomásneve.
Ha nem érhető el, ez Nem lesz. Másodlagos állomásnév explicit megadásához használja az opcionális secondary_hostname kulcsszóargumentumot a példányosításkor.
Visszatérési típus
url
Az entitás teljes végponti URL-címe, beleértve az SAS-jogkivonatot is, ha használják.
Ez lehet az elsődleges végpont vagy a másodlagos végpont az aktuálistól location_modefüggően. :returns: Az entitás teljes végponti URL-címe, beleértve az SAS-jogkivonatot is, ha használják. :rtype: str
Azure SDK for Python