QueueClient Klas
Een client om te communiceren met een specifieke wachtrij.
Klik hier voor meer optionele configuratie.
- Overname
-
azure.storage.queue._shared.base_client.StorageAccountHostsMixinQueueClientazure.storage.queue._encryption.StorageEncryptionMixinQueueClient
Constructor
QueueClient(account_url: str, queue_name: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any)
Parameters
- account_url
- str
De URL naar het opslagaccount. Als u een client wilt maken die de volledige URI naar de wachtrij krijgt, gebruikt u de from_queue_url klassemethode.
- credential
De referenties waarmee moet worden geverifieerd. Dit is optioneel als de account-URL al een SAS-token heeft. De waarde kan een SAS-tokentekenreeks zijn, een exemplaar van een AzureSasCredential of AzureNamedKeyCredential van azure.core.credentials, een gedeelde toegangssleutel voor het account of een exemplaar van een TokenCredentials-klasse van azure.identity. Als de resource-URI al een SAS-token bevat, wordt dit genegeerd ten gunste van een expliciete referentie
- behalve in het geval van AzureSasCredential, waarbij de conflicterende SAS-tokens een ValueError genereren. Als u een exemplaar van AzureNamedKeyCredential gebruikt, moet 'name' de naam van het opslagaccount zijn en moet 'sleutel' de sleutel van het opslagaccount zijn.
- api_version
- str
De storage-API-versie die moet worden gebruikt voor aanvragen. De standaardwaarde is de meest recente serviceversie die compatibel is met de huidige SDK. Instellen op een oudere versie kan leiden tot verminderde compatibiliteit van functies.
- secondary_hostname
- str
De hostnaam van het secundaire eindpunt.
- message_encode_policy
Het coderingsbeleid dat moet worden gebruikt voor uitgaande berichten. Standaard worden berichten niet gecodeerd. Andere opties zijn , TextBase64EncodePolicyBinaryBase64EncodePolicy of Geen.
- message_decode_policy
Het decoderingsbeleid dat moet worden gebruikt voor binnenkomende berichten. Standaardwaarde is niet om berichten te decoderen. Andere opties zijn , TextBase64DecodePolicyBinaryBase64DecodePolicy of Geen.
- audience
- str
De doelgroep die moet worden gebruikt bij het aanvragen van tokens voor Azure Active Directory-verificatie. Heeft alleen een effect wanneer referentie van het type TokenCredential is. De waarde kan (standaard) of https://.queue.core.windows.net zijn https://storage.azure.com/ .
Voorbeelden
Maak de wachtrijclient met URL en referentie.
token_auth_queue = QueueClient.from_queue_url(
queue_url=queue.url,
credential=sas_token
)
Methoden
clear_messages |
Hiermee verwijdert u alle berichten uit de opgegeven wachtrij. |
close |
Deze methode is het sluiten van de sockets die door de client zijn geopend. Deze hoeft niet te worden gebruikt bij gebruik met een contextbeheerder. |
create_queue |
Hiermee maakt u een nieuwe wachtrij in het opslagaccount. Als er al een wachtrij met dezelfde naam bestaat, mislukt de bewerking met een ResourceExistsError. |
delete_message |
Hiermee verwijdert u het opgegeven bericht. Normaal gesproken nadat een client een bericht heeft opgehaald met de bewerking Berichten ontvangen, wordt verwacht dat de client het bericht verwerkt en verwijdert. Als u het bericht wilt verwijderen, moet u het berichtobject zelf of twee gegevensitems hebben: id en pop_receipt. De id wordt geretourneerd uit de vorige receive_messages bewerking. De pop_receipt wordt geretourneerd van de meest recente receive_messages bewerking of update_message . De delete_message bewerking slaagt alleen als de pop_receipt die in de aanvraag zijn opgegeven, overeenkomen met de pop_receipt die is geretourneerd door de receive_messages bewerking of update_message . |
delete_queue |
Hiermee verwijdert u de opgegeven wachtrij en alle berichten die deze bevat. Wanneer een wachtrij is verwijderd, wordt deze onmiddellijk gemarkeerd voor verwijdering en is deze niet meer toegankelijk voor clients. De wachtrij wordt later tijdens de garbagecollection verwijderd uit de Queue-service. Houd er rekening mee dat het verwijderen van een wachtrij waarschijnlijk ten minste 40 seconden duurt. Als er een bewerking wordt uitgevoerd tegen de wachtrij terwijl deze werd verwijderd, wordt er een <xref:azure.storage.queue.HttpResponseError> gegenereerd. |
from_connection_string |
QueueClient maken op basis van een verbindingsreeks. |
from_queue_url |
Een client voor interactie met een specifieke wachtrij. |
get_queue_access_policy |
Retourneert details over opgeslagen toegangsbeleidsregels die zijn opgegeven in de wachtrij die kunnen worden gebruikt met Shared Access Signatures. |
get_queue_properties |
Retourneert alle door de gebruiker gedefinieerde metagegevens voor de opgegeven wachtrij. De geretourneerde gegevens bevatten niet de lijst met berichten van de wachtrij. |
peek_messages |
Hiermee haalt u een of meer berichten op van de voorzijde van de wachtrij, maar de zichtbaarheid van het bericht wordt niet gewijzigd. Alleen berichten die zichtbaar zijn, kunnen worden opgehaald. Wanneer een bericht voor het eerst wordt opgehaald met een aanroep van receive_messages, wordt de eigenschap dequeue_count ingesteld op 1. Als deze niet wordt verwijderd en vervolgens opnieuw wordt opgehaald, wordt de eigenschap dequeue_count verhoogd. De client kan deze waarde gebruiken om te bepalen hoe vaak een bericht is opgehaald. Houd er rekening mee dat een aanroep van peek_messages de waarde van dequeue_count niet verhoogd, maar deze waarde retourneert zodat de client deze kan lezen. Als het veld key-encryption-key of resolver is ingesteld op het lokale serviceobject, worden de berichten ontsleuteld voordat ze worden geretourneerd. |
receive_message |
Hiermee verwijdert u één bericht van de voorzijde van de wachtrij. Wanneer het bericht uit de wachtrij wordt opgehaald, bevat het antwoord de inhoud van het bericht en een pop_receipt waarde, die vereist is om het bericht te verwijderen. Het bericht wordt niet automatisch uit de wachtrij verwijderd, maar nadat het is opgehaald, is het niet zichtbaar voor andere clients voor het tijdsinterval dat is opgegeven door de parameter visibility_timeout. Als het veld key-encryption-key of resolver is ingesteld op het lokale serviceobject, wordt het bericht ontsleuteld voordat het wordt geretourneerd. |
receive_messages |
Hiermee verwijdert u een of meer berichten van de voorzijde van de wachtrij. Wanneer een bericht uit de wachtrij wordt opgehaald, bevat het antwoord de inhoud van het bericht en een pop_receipt-waarde, die vereist is om het bericht te verwijderen. Het bericht wordt niet automatisch uit de wachtrij verwijderd, maar nadat het is opgehaald, is het niet zichtbaar voor andere clients voor het tijdsinterval dat is opgegeven door de parameter visibility_timeout. De iterator haalt continu berichten op totdat de wachtrij leeg is of max_messages is bereikt (als max_messages is ingesteld). Als het veld key-encryption-key of resolver is ingesteld op het lokale serviceobject, worden de berichten ontsleuteld voordat ze worden geretourneerd. |
send_message |
Hiermee voegt u een nieuw bericht toe aan de achterkant van de berichtenwachtrij. De time-out voor zichtbaarheid geeft de tijd aan waarop het bericht onzichtbaar is. Nadat de time-out is verlopen, wordt het bericht zichtbaar. Als er geen time-out voor zichtbaarheid is opgegeven, wordt de standaardwaarde 0 gebruikt. De time-to-live van het bericht geeft aan hoe lang een bericht in de wachtrij blijft. Het bericht wordt uit de wachtrij verwijderd wanneer de time-to-live-periode is verstreken. Als het veld key-encryption-key is ingesteld op het lokale serviceobject, wordt met deze methode de inhoud versleuteld voordat het wordt geüpload. |
set_queue_access_policy |
Hiermee stelt u opgeslagen toegangsbeleidsregels in voor de wachtrij die kan worden gebruikt met Shared Access Signatures. Wanneer u machtigingen instelt voor een wachtrij, worden de bestaande machtigingen vervangen. Als u de machtigingen van de wachtrij wilt bijwerken, roept get_queue_access_policy u aan om alle toegangsbeleidsregels op te halen die zijn gekoppeld aan de wachtrij, wijzigt u het toegangsbeleid dat u wilt wijzigen en roept u deze functie aan met de volledige set gegevens om de update uit te voeren. Wanneer u een opgeslagen toegangsbeleid instelt voor een wachtrij, kan het tot 30 seconden duren voordat dit van kracht wordt. Tijdens dit interval genereert een shared access signature die is gekoppeld aan het opgeslagen toegangsbeleid een <xref:azure.storage.queue.HttpResponseError> totdat het toegangsbeleid actief wordt. |
set_queue_metadata |
Hiermee stelt u door de gebruiker gedefinieerde metagegevens in voor de opgegeven wachtrij. Metagegevens zijn gekoppeld aan de wachtrij als naam-waardeparen. |
update_message |
Updates de time-out voor zichtbaarheid van een bericht. U kunt deze bewerking ook gebruiken om de inhoud van een bericht bij te werken. Deze bewerking kan worden gebruikt om de onzichtbaarheid van een wachtrijbericht voortdurend uit te breiden. Deze functionaliteit kan handig zijn als u wilt dat een werkrol een wachtrijbericht 'leasen'. Als een werkrol bijvoorbeeld aanroept receive_messages en herkent dat het meer tijd nodig heeft om een bericht te verwerken, kan het de onzichtbaarheid van het bericht voortdurend uitbreiden totdat het is verwerkt. Als de werkrol mislukt tijdens de verwerking, wordt het bericht uiteindelijk weer zichtbaar en kan een andere werkrol het verwerken. Als het veld key-encryption-key is ingesteld op het lokale serviceobject, versleutelt deze methode de inhoud vóór het uploaden. |
clear_messages
Hiermee verwijdert u alle berichten uit de opgegeven wachtrij.
clear_messages(**kwargs: Any) -> None
Parameters
- timeout
- int
Hiermee stelt u de time-out aan de serverzijde voor de bewerking in seconden in. Zie https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations voor meer informatie. Deze waarde wordt niet bijgehouden of gevalideerd op de client. Zie hier als u netwerktime-outs aan de clientzijde wilt configureren.
Voorbeelden
Wist alle berichten.
queue.clear_messages()
close
Deze methode is het sluiten van de sockets die door de client zijn geopend. Deze hoeft niet te worden gebruikt bij gebruik met een contextbeheerder.
close()
create_queue
Hiermee maakt u een nieuwe wachtrij in het opslagaccount.
Als er al een wachtrij met dezelfde naam bestaat, mislukt de bewerking met een ResourceExistsError.
create_queue(*, metadata: Dict[str, str] | None = None, **kwargs: Any) -> None
Parameters
Een dict met naam-waardeparen die als metagegevens aan de wachtrij moeten worden gekoppeld. Houd er rekening mee dat metagegevensnamen de case behouden waarmee ze zijn gemaakt, maar niet hoofdlettergevoelig zijn wanneer ze worden ingesteld of gelezen.
- timeout
- int
Hiermee stelt u de time-out aan de serverzijde voor de bewerking in seconden in. Zie https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations voor meer informatie. Deze waarde wordt niet bijgehouden of gevalideerd op de client. Zie hier als u netwerktime-outs aan de clientzijde wilt configureren.
Retouren
Geen of het resultaat van cls(response)
Retourtype
Uitzonderingen
Voorbeelden
Maak een wachtrij.
queue.create_queue()
delete_message
Hiermee verwijdert u het opgegeven bericht.
Normaal gesproken nadat een client een bericht heeft opgehaald met de bewerking Berichten ontvangen, wordt verwacht dat de client het bericht verwerkt en verwijdert. Als u het bericht wilt verwijderen, moet u het berichtobject zelf of twee gegevensitems hebben: id en pop_receipt. De id wordt geretourneerd uit de vorige receive_messages bewerking. De pop_receipt wordt geretourneerd van de meest recente receive_messages bewerking of update_message . De delete_message bewerking slaagt alleen als de pop_receipt die in de aanvraag zijn opgegeven, overeenkomen met de pop_receipt die is geretourneerd door de receive_messages bewerking of update_message .
delete_message(message: str | QueueMessage, pop_receipt: str | None = None, **kwargs: Any) -> None
Parameters
- message
- str of QueueMessage
Het berichtobject of de id waarmee het bericht wordt geïdentificeerd dat moet worden verwijderd.
- pop_receipt
- str
Een geldige pop-ontvangstbevestiging die is geretourneerd na een eerdere aanroep naar de receive_messages of update_message.
- timeout
- int
Hiermee stelt u de time-out aan de serverzijde voor de bewerking in seconden in. Zie https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations voor meer informatie. Deze waarde wordt niet bijgehouden of gevalideerd op de client. Zie hier als u netwerktime-outs aan de clientzijde wilt configureren.
Voorbeelden
Een bericht verwijderen.
# Get the message at the front of the queue
msg = next(queue.receive_messages())
# Delete the specified message
queue.delete_message(msg)
delete_queue
Hiermee verwijdert u de opgegeven wachtrij en alle berichten die deze bevat.
Wanneer een wachtrij is verwijderd, wordt deze onmiddellijk gemarkeerd voor verwijdering en is deze niet meer toegankelijk voor clients. De wachtrij wordt later tijdens de garbagecollection verwijderd uit de Queue-service.
Houd er rekening mee dat het verwijderen van een wachtrij waarschijnlijk ten minste 40 seconden duurt. Als er een bewerking wordt uitgevoerd tegen de wachtrij terwijl deze werd verwijderd, wordt er een <xref:azure.storage.queue.HttpResponseError> gegenereerd.
delete_queue(**kwargs: Any) -> None
Parameters
- timeout
- int
Hiermee stelt u de time-out aan de serverzijde voor de bewerking in seconden in. Zie https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations voor meer informatie. Deze waarde wordt niet bijgehouden of gevalideerd op de client. Zie hier als u netwerktime-outs aan de clientzijde wilt configureren.
Retourtype
Voorbeelden
Een wachtrij verwijderen.
queue.delete_queue()
from_connection_string
QueueClient maken op basis van een verbindingsreeks.
from_connection_string(conn_str: str, queue_name: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any) -> Self
Parameters
- credential
De referenties waarmee moet worden geverifieerd. Dit is optioneel als de account-URL al een SAS-token heeft of als de verbindingsreeks al gedeelde toegangssleutelwaarden heeft. De waarde kan een SAS-tokentekenreeks zijn, een exemplaar van een AzureSasCredential of AzureNamedKeyCredential van azure.core.credentials, een gedeelde toegangssleutel voor het account of een exemplaar van een TokenCredentials-klasse van azure.identity. Referenties die hier worden opgegeven, hebben voorrang op de referenties in de verbindingsreeks. Als u een exemplaar van AzureNamedKeyCredential gebruikt, moet 'name' de naam van het opslagaccount zijn en moet 'sleutel' de sleutel van het opslagaccount zijn.
- audience
- str
De doelgroep die moet worden gebruikt bij het aanvragen van tokens voor Azure Active Directory-verificatie. Heeft alleen een effect wanneer referentie van het type TokenCredential is. De waarde kan (standaard) of https://.queue.core.windows.net zijn https://storage.azure.com/ .
Retouren
Een wachtrijclient.
Retourtype
Voorbeelden
Maak de wachtrijclient van verbindingsreeks.
from azure.storage.queue import QueueClient
queue = QueueClient.from_connection_string(self.connection_string, "myqueue1")
from_queue_url
Een client voor interactie met een specifieke wachtrij.
from_queue_url(queue_url: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any) -> Self
Parameters
- credential
De referenties waarmee moet worden geverifieerd. Dit is optioneel als de account-URL al een SAS-token heeft. De waarde kan een SAS-tokentekenreeks zijn, een exemplaar van een AzureSasCredential of AzureNamedKeyCredential van azure.core.credentials, een gedeelde toegangssleutel voor het account of een exemplaar van een TokenCredentials-klasse van azure.identity. Als de resource-URI al een SAS-token bevat, wordt dit genegeerd ten gunste van een expliciete referentie
- behalve in het geval van AzureSasCredential, waarbij de conflicterende SAS-tokens een ValueError genereren. Als u een exemplaar van AzureNamedKeyCredential gebruikt, moet 'name' de naam van het opslagaccount zijn en moet 'sleutel' de sleutel van het opslagaccount zijn.
- audience
- str
De doelgroep die moet worden gebruikt bij het aanvragen van tokens voor Azure Active Directory-verificatie. Heeft alleen een effect wanneer referentie van het type TokenCredential is. De waarde kan (standaard) of https://.queue.core.windows.net zijn https://storage.azure.com/ .
Retouren
Een wachtrijclient.
Retourtype
get_queue_access_policy
Retourneert details over opgeslagen toegangsbeleidsregels die zijn opgegeven in de wachtrij die kunnen worden gebruikt met Shared Access Signatures.
get_queue_access_policy(**kwargs: Any) -> Dict[str, AccessPolicy]
Parameters
- timeout
- int
Hiermee stelt u de time-out aan de serverzijde voor de bewerking in seconden in. Zie https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations voor meer informatie. Deze waarde wordt niet bijgehouden of gevalideerd op de client. Zie hier als u netwerktime-outs aan de clientzijde wilt configureren.
Retouren
Een woordenlijst met toegangsbeleidsregels die zijn gekoppeld aan de wachtrij.
Retourtype
get_queue_properties
Retourneert alle door de gebruiker gedefinieerde metagegevens voor de opgegeven wachtrij.
De geretourneerde gegevens bevatten niet de lijst met berichten van de wachtrij.
get_queue_properties(**kwargs: Any) -> QueueProperties
Parameters
- timeout
- int
De time-outparameter wordt uitgedrukt in seconden.
Retouren
Door de gebruiker gedefinieerde metagegevens voor de wachtrij.
Retourtype
Voorbeelden
Haal de eigenschappen in de wachtrij op.
properties = queue.get_queue_properties().metadata
peek_messages
Hiermee haalt u een of meer berichten op van de voorzijde van de wachtrij, maar de zichtbaarheid van het bericht wordt niet gewijzigd.
Alleen berichten die zichtbaar zijn, kunnen worden opgehaald. Wanneer een bericht voor het eerst wordt opgehaald met een aanroep van receive_messages, wordt de eigenschap dequeue_count ingesteld op 1. Als deze niet wordt verwijderd en vervolgens opnieuw wordt opgehaald, wordt de eigenschap dequeue_count verhoogd. De client kan deze waarde gebruiken om te bepalen hoe vaak een bericht is opgehaald. Houd er rekening mee dat een aanroep van peek_messages de waarde van dequeue_count niet verhoogd, maar deze waarde retourneert zodat de client deze kan lezen.
Als het veld key-encryption-key of resolver is ingesteld op het lokale serviceobject, worden de berichten ontsleuteld voordat ze worden geretourneerd.
peek_messages(max_messages: int | None = None, **kwargs: Any) -> List[QueueMessage]
Parameters
- max_messages
- int
Een niet-nul gehele waarde die het aantal berichten aangeeft dat uit de wachtrij moet worden weergegeven, tot een maximum van 32. Standaard wordt met deze bewerking één bericht uit de wachtrij bekeken.
- timeout
- int
Hiermee stelt u de time-out aan de serverzijde voor de bewerking in seconden in. Zie https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations voor meer informatie. Deze waarde wordt niet bijgehouden of gevalideerd op de client. Zie hier als u netwerktime-outs aan de clientzijde wilt configureren.
Retouren
Een lijst met QueueMessage objecten. Houd er rekening mee dat next_visible_on en pop_receipt niet worden ingevuld, omdat het bericht niet wordt weergegeven en alleen al zichtbare berichten kunnen worden opgehaald.
Retourtype
Voorbeelden
Kort weergeven berichten.
# 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
Hiermee verwijdert u één bericht van de voorzijde van de wachtrij.
Wanneer het bericht uit de wachtrij wordt opgehaald, bevat het antwoord de inhoud van het bericht en een pop_receipt waarde, die vereist is om het bericht te verwijderen. Het bericht wordt niet automatisch uit de wachtrij verwijderd, maar nadat het is opgehaald, is het niet zichtbaar voor andere clients voor het tijdsinterval dat is opgegeven door de parameter visibility_timeout.
Als het veld key-encryption-key of resolver is ingesteld op het lokale serviceobject, wordt het bericht ontsleuteld voordat het wordt geretourneerd.
receive_message(*, visibility_timeout: int | None = None, **kwargs: Any) -> QueueMessage | None
Parameters
- visibility_timeout
- int
Als dit niet is opgegeven, is de standaardwaarde 30. Hiermee geeft u de nieuwe time-outwaarde voor zichtbaarheid, in seconden, ten opzichte van de servertijd. De waarde moet groter dan of gelijk zijn aan 1 en mag niet groter zijn dan 7 dagen. De time-out voor zichtbaarheid van een bericht kan niet worden ingesteld op een waarde die later is dan de verlooptijd. visibility_timeout moet worden ingesteld op een waarde die kleiner is dan de time-to-live-waarde.
- timeout
- int
Hiermee stelt u de time-out aan de serverzijde voor de bewerking in seconden in. Zie https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations voor meer informatie. Deze waarde wordt niet bijgehouden of gevalideerd op de client. Zie hier als u netwerktime-outs aan de clientzijde wilt configureren.
Retouren
Retourneert een bericht van de wachtrij of Geen als de wachtrij leeg is.
Retourtype
Voorbeelden
Eén bericht van de wachtrij ontvangen.
# 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
Hiermee verwijdert u een of meer berichten van de voorzijde van de wachtrij.
Wanneer een bericht uit de wachtrij wordt opgehaald, bevat het antwoord de inhoud van het bericht en een pop_receipt-waarde, die vereist is om het bericht te verwijderen. Het bericht wordt niet automatisch uit de wachtrij verwijderd, maar nadat het is opgehaald, is het niet zichtbaar voor andere clients voor het tijdsinterval dat is opgegeven door de parameter visibility_timeout. De iterator haalt continu berichten op totdat de wachtrij leeg is of max_messages is bereikt (als max_messages is ingesteld).
Als het veld key-encryption-key of resolver is ingesteld op het lokale serviceobject, worden de berichten ontsleuteld voordat ze worden geretourneerd.
receive_messages(*, messages_per_page: int | None = None, visibility_timeout: int | None = None, max_messages: int | None = None, **kwargs: Any) -> ItemPaged[QueueMessage]
Parameters
- visibility_timeout
- int
Als dit niet is opgegeven, is de standaardwaarde 30. Hiermee geeft u de nieuwe time-outwaarde voor zichtbaarheid, in seconden, ten opzichte van de servertijd. De waarde moet groter dan of gelijk zijn aan 1 en mag niet groter zijn dan 7 dagen. De time-out voor zichtbaarheid van een bericht kan niet worden ingesteld op een waarde die later is dan de verlooptijd. visibility_timeout moet worden ingesteld op een waarde die kleiner is dan de time-to-live-waarde.
- max_messages
- int
Een geheel getal dat het maximum aantal berichten aangeeft dat uit de wachtrij moet worden opgehaald.
- timeout
- int
Hiermee stelt u de time-out aan de serverzijde voor de bewerking in seconden in. Zie https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations voor meer informatie. Deze waarde wordt niet bijgehouden of gevalideerd op de client. Zie hier als u netwerktime-outs aan de clientzijde wilt configureren.
Retouren
Retourneert een bericht-iterator van dict-achtige berichtobjecten.
Retourtype
Voorbeelden
Berichten ontvangen van de wachtrij.
# 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
Hiermee voegt u een nieuw bericht toe aan de achterkant van de berichtenwachtrij.
De time-out voor zichtbaarheid geeft de tijd aan waarop het bericht onzichtbaar is. Nadat de time-out is verlopen, wordt het bericht zichtbaar. Als er geen time-out voor zichtbaarheid is opgegeven, wordt de standaardwaarde 0 gebruikt.
De time-to-live van het bericht geeft aan hoe lang een bericht in de wachtrij blijft. Het bericht wordt uit de wachtrij verwijderd wanneer de time-to-live-periode is verstreken.
Als het veld key-encryption-key is ingesteld op het lokale serviceobject, wordt met deze methode de inhoud versleuteld voordat het wordt geüpload.
send_message(content: object | None, *, visibility_timeout: int | None = None, time_to_live: int | None = None, **kwargs: Any) -> QueueMessage
Parameters
Berichtinhoud. Het toegestane type wordt bepaald door de encode_function die is ingesteld voor de service. De standaardwaarde is str. Het gecodeerde bericht kan maximaal 64 kB groot zijn.
- visibility_timeout
- int
Als dit niet is opgegeven, is de standaardwaarde 0. Hiermee geeft u de nieuwe time-outwaarde voor zichtbaarheid, in seconden, ten opzichte van de servertijd. De waarde moet groter dan of gelijk zijn aan 0 en mag niet groter zijn dan 7 dagen. De time-out voor zichtbaarheid van een bericht kan niet worden ingesteld op een waarde die later is dan de verlooptijd. visibility_timeout moet worden ingesteld op een waarde die kleiner is dan de time-to-live-waarde.
- time_to_live
- int
Hiermee geeft u het time-to-live-interval voor het bericht op, in seconden. De time-to-live kan een positief getal of -1 voor oneindig zijn. Als u deze parameter weglaat, is de standaard time-to-live 7 dagen.
- timeout
- int
Hiermee stelt u de time-out aan de serverzijde voor de bewerking in seconden in. Zie https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations voor meer informatie. Deze waarde wordt niet bijgehouden of gevalideerd op de client. Zie hier als u netwerktime-outs aan de clientzijde wilt configureren.
Retouren
Een QueueMessage object. Dit object wordt ook gevuld met de inhoud, hoewel deze niet wordt geretourneerd door de service.
Retourtype
Voorbeelden
Berichten verzenden.
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
Hiermee stelt u opgeslagen toegangsbeleidsregels in voor de wachtrij die kan worden gebruikt met Shared Access Signatures.
Wanneer u machtigingen instelt voor een wachtrij, worden de bestaande machtigingen vervangen. Als u de machtigingen van de wachtrij wilt bijwerken, roept get_queue_access_policy u aan om alle toegangsbeleidsregels op te halen die zijn gekoppeld aan de wachtrij, wijzigt u het toegangsbeleid dat u wilt wijzigen en roept u deze functie aan met de volledige set gegevens om de update uit te voeren.
Wanneer u een opgeslagen toegangsbeleid instelt voor een wachtrij, kan het tot 30 seconden duren voordat dit van kracht wordt. Tijdens dit interval genereert een shared access signature die is gekoppeld aan het opgeslagen toegangsbeleid een <xref:azure.storage.queue.HttpResponseError> totdat het toegangsbeleid actief wordt.
set_queue_access_policy(signed_identifiers: Dict[str, AccessPolicy], **kwargs: Any) -> None
Parameters
- signed_identifiers
- Dict[str, AccessPolicy]
SignedIdentifier-toegangsbeleid dat aan de wachtrij moet worden gekoppeld. Dit kan maximaal 5 elementen bevatten. Met een leeg dict wordt het toegangsbeleid dat voor de service is ingesteld, gewist.
- timeout
- int
Hiermee stelt u de time-out aan de serverzijde voor de bewerking in seconden in. Zie https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations voor meer informatie. Deze waarde wordt niet bijgehouden of gevalideerd op de client. Als u netwerktime-outs aan de clientzijde wilt configureren, raadpleegt u hier.
Voorbeelden
Stel een toegangsbeleid in voor de wachtrij.
# 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
Hiermee stelt u door de gebruiker gedefinieerde metagegevens in voor de opgegeven wachtrij.
Metagegevens zijn gekoppeld aan de wachtrij als naam-waardeparen.
set_queue_metadata(metadata: Dict[str, str] | None = None, **kwargs: Any) -> Dict[str, Any]
Parameters
Een dicteerfunctie met naam-waardeparen die als metagegevens aan de wachtrij moeten worden gekoppeld.
- timeout
- int
Hiermee stelt u de time-out aan de serverzijde voor de bewerking in seconden in. Zie https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations voor meer informatie. Deze waarde wordt niet bijgehouden of gevalideerd op de client. Als u netwerktime-outs aan de clientzijde wilt configureren, raadpleegt u hier.
Retouren
Een woordenlijst met antwoordheaders.
Retourtype
Voorbeelden
Metagegevens voor de wachtrij instellen.
metadata = {'foo': 'val1', 'bar': 'val2', 'baz': 'val3'}
queue.set_queue_metadata(metadata=metadata)
update_message
Updates de time-out voor zichtbaarheid van een bericht. U kunt deze bewerking ook gebruiken om de inhoud van een bericht bij te werken.
Deze bewerking kan worden gebruikt om de onzichtbaarheid van een wachtrijbericht voortdurend uit te breiden. Deze functionaliteit kan handig zijn als u wilt dat een werkrol een wachtrijbericht 'leasen'. Als een werkrol bijvoorbeeld aanroept receive_messages en herkent dat het meer tijd nodig heeft om een bericht te verwerken, kan het de onzichtbaarheid van het bericht voortdurend uitbreiden totdat het is verwerkt. Als de werkrol mislukt tijdens de verwerking, wordt het bericht uiteindelijk weer zichtbaar en kan een andere werkrol het verwerken.
Als het veld key-encryption-key is ingesteld op het lokale serviceobject, versleutelt deze methode de inhoud vóór het uploaden.
update_message(message: str | QueueMessage, pop_receipt: str | None = None, content: object | None = None, *, visibility_timeout: int | None = None, **kwargs: Any) -> QueueMessage
Parameters
- message
- str of QueueMessage
Het berichtobject of de id waarmee het bericht wordt geïdentificeerd dat moet worden bijgewerkt.
- pop_receipt
- str
Een geldige pop-ontvangstbevestiging die is geretourneerd na een eerdere aanroep naar de receive_messages bewerking of update_message .
Berichtinhoud. Het toegestane type wordt bepaald door de encode_function die is ingesteld voor de service. De standaardwaarde is str.
- visibility_timeout
- int
Hiermee geeft u de nieuwe time-outwaarde voor zichtbaarheid, in seconden, ten opzichte van de servertijd. De nieuwe waarde moet groter zijn dan of gelijk aan 0 en mag niet langer zijn dan 7 dagen. De zichtbaarheidstime-out van een bericht kan niet worden ingesteld op een waarde die later is dan de verlooptijd. Een bericht kan worden bijgewerkt totdat het is verwijderd of is verlopen. Het berichtobject of de bericht-id waarmee het bericht wordt geïdentificeerd dat moet worden bijgewerkt.
- timeout
- int
Hiermee stelt u de time-out aan de serverzijde voor de bewerking in seconden in. Zie https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations voor meer informatie. Deze waarde wordt niet bijgehouden of gevalideerd op de client. Als u netwerktime-outs aan de clientzijde wilt configureren, raadpleegt u hier.
Retouren
Een QueueMessage object. Voor het gemak wordt dit object ook gevuld met de inhoud, hoewel deze niet wordt geretourneerd door de service.
Retourtype
Voorbeelden
Een bericht bijwerken.
# 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")
Kenmerken
api_version
location_mode
De locatiemodus die de client momenteel gebruikt.
Dit is standaard 'primair'. Opties zijn 'primair' en 'secundair'.
Retourtype
primary_endpoint
primary_hostname
secondary_endpoint
De volledige url van het secundaire eindpunt, indien geconfigureerd.
Als dit niet beschikbaar is, wordt er een ValueError gegenereerd. Als u expliciet een secundaire hostnaam wilt opgeven, gebruikt u het optionele secondary_hostname trefwoordargument bij instantiëring.
Retourtype
Uitzonderingen
secondary_hostname
De hostnaam van het secundaire eindpunt.
Als dit niet beschikbaar is, is dit Geen. Als u expliciet een secundaire hostnaam wilt opgeven, gebruikt u het optionele secondary_hostname trefwoordargument bij instantiëring.
Retourtype
url
De volledige eindpunt-URL naar deze entiteit, inclusief SAS-token indien gebruikt.
Dit kan het primaire eindpunt of het secundaire eindpunt zijn, afhankelijk van de huidige location_mode. :retourneert: de volledige eindpunt-URL naar deze entiteit, inclusief SAS-token indien gebruikt. :rtype: str
Azure SDK for Python