Delen via


QueueClient Klas

Een client om te communiceren met een specifieke wachtrij.

Klik hier voor meer optionele configuratie.

Overname
azure.storage.queue._shared.base_client.StorageAccountHostsMixin
QueueClient
azure.storage.queue._encryption.StorageEncryptionMixin
QueueClient

Constructor

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

Parameters

account_url
str
Vereist

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.

queue_name
str
Vereist

De naam van de wachtrij.

credential
standaardwaarde: None

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

metadata
Dict[str,str]

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

StorageErrorException

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
Vereist

Het berichtobject of de id waarmee het bericht wordt geïdentificeerd dat moet worden verwijderd.

pop_receipt
str
Vereist

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

conn_str
str
Vereist

Een verbindingsreeks naar een Azure Storage-account.

queue_name
str
Vereist

De naam van de wachtrij.

credential
standaardwaarde: None

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

queue_url
str
Vereist

De volledige URI naar de wachtrij, inclusief SAS-token indien gebruikt.

credential
standaardwaarde: None

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
Vereist

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

content
Optional[object]
Vereist

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]
Vereist

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

metadata
Optional[Dict[str, str]]
Vereist

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
Vereist

Het berichtobject of de id waarmee het bericht wordt geïdentificeerd dat moet worden bijgewerkt.

pop_receipt
str
Vereist

Een geldige pop-ontvangstbevestiging die is geretourneerd na een eerdere aanroep naar de receive_messages bewerking of update_message .

content
Optional[object]
Vereist

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

De versie van de Storage-API die wordt gebruikt voor aanvragen.

Retourtype

str

location_mode

De locatiemodus die de client momenteel gebruikt.

Dit is standaard 'primair'. Opties zijn 'primair' en 'secundair'.

Retourtype

str

primary_endpoint

De volledige URL van het primaire eindpunt.

Retourtype

str

primary_hostname

De hostnaam van het primaire eindpunt.

Retourtype

str

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

str

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