Dela via


QueueClient Klass

En klient för att interagera med en specifik kö.

Klicka här om du vill ha mer valfri konfiguration.

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

Konstruktor

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

Parametrar

account_url
str
Obligatorisk

URL:en till lagringskontot. Använd classmethod för att skapa en klient med den fullständiga URI:n till kön from_queue_url .

queue_name
str
Obligatorisk

Namnet på kön.

credential
standardvärde: None

De autentiseringsuppgifter som ska autentiseras med. Detta är valfritt om konto-URL:en redan har en SAS-token. Värdet kan vara en SAS-tokensträng, en instans av en AzureSasCredential eller AzureNamedKeyCredential från azure.core.credentials, en kontodelad åtkomstnyckel eller en instans av en TokenCredentials-klass från azure.identity. Om resurs-URI:n redan innehåller en SAS-token ignoreras detta till förmån för en explicit autentiseringsuppgift

  • utom när det gäller AzureSasCredential, där de motstridiga SAS-token genererar en ValueError. Om du använder en instans av AzureNamedKeyCredential ska "name" vara lagringskontots namn och "nyckel" ska vara lagringskontonyckeln.
api_version
str

Den Storage API-version som ska användas för begäranden. Standardvärdet är den senaste tjänstversionen som är kompatibel med aktuell SDK. Om du anger en äldre version kan funktionskompatibiliteten minska.

secondary_hostname
str

Värdnamnet för den sekundära slutpunkten.

message_encode_policy

Kodningsprincipen som ska användas för utgående meddelanden. Standardvärdet är inte att koda meddelanden. Andra alternativ är TextBase64EncodePolicy, BinaryBase64EncodePolicy eller Ingen.

message_decode_policy

Avkodningsprincipen som ska användas för inkommande meddelanden. Standardvärdet är inte att avkoda meddelanden. Andra alternativ är TextBase64DecodePolicy, BinaryBase64DecodePolicy eller Ingen.

audience
str

Målgruppen som ska användas när du begär token för Azure Active Directory-autentisering. Har endast en effekt när autentiseringsuppgifter är av typen TokenCredential. Värdet kan vara https://storage.azure.com/ (standard) eller https://.queue.core.windows.net.

Exempel

Skapa köklienten med URL och autentiseringsuppgifter.


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

Metoder

clear_messages

Tar bort alla meddelanden från den angivna kön.

close

Den här metoden är att stänga de sockets som öppnas av klienten. Den behöver inte användas när du använder med en kontexthanterare.

create_queue

Skapar en ny kö i lagringskontot.

Om det redan finns en kö med samma namn misslyckas åtgärden med en ResourceExistsError.

delete_message

Tar bort det angivna meddelandet.

Normalt när en klient hämtar ett meddelande med åtgärden för att ta emot meddelanden förväntas klienten bearbeta och ta bort meddelandet. Om du vill ta bort meddelandet måste du ha själva meddelandeobjektet eller två dataobjekt: ID och pop_receipt. ID:t returneras från föregående receive_messages åtgärd. Den pop_receipt returneras från den senaste receive_messages åtgärden eller update_message åtgärden. För att den delete_message åtgärden ska lyckas måste pop_receipt som anges i begäran matcha pop_receipt som returneras från receive_messages åtgärden eller update_message .

delete_queue

Tar bort den angivna kön och eventuella meddelanden som den innehåller.

När en kö har tagits bort markeras den omedelbart för borttagning och är inte längre tillgänglig för klienter. Kön tas senare bort från kötjänsten under skräpinsamlingen.

Observera att det sannolikt tar minst 40 sekunder att ta bort en kö. Om en åtgärd görs mot kön medan den togs bort utlöses en <xref:azure.storage.queue.HttpResponseError> .

from_connection_string

Skapa QueueClient från en anslutningssträng.

from_queue_url

En klient för att interagera med en specifik kö.

get_queue_access_policy

Returnerar information om lagrade åtkomstprinciper som anges i kön som kan användas med signaturer för delad åtkomst.

get_queue_properties

Returnerar alla användardefinierade metadata för den angivna kön.

De data som returneras innehåller inte köns lista över meddelanden.

peek_messages

Hämtar ett eller flera meddelanden längst fram i kön, men ändrar inte meddelandets synlighet.

Endast meddelanden som visas kan hämtas. När ett meddelande hämtas för första gången med ett anrop till receive_messagesär dess egenskap dequeue_count inställd på 1. Om den inte tas bort och sedan hämtas igen ökas egenskapen dequeue_count. Klienten kan använda det här värdet för att avgöra hur många gånger ett meddelande har hämtats. Observera att ett anrop till peek_messages inte ökar värdet för dequeue_count, utan returnerar det här värdet för klienten att läsa.

Om fältet key-encryption-key eller resolver har angetts för det lokala tjänstobjektet dekrypteras meddelandena innan de returneras.

receive_message

Tar bort ett meddelande från köns framsida.

När meddelandet hämtas från kön innehåller svaret meddelandeinnehållet och ett pop_receipt värde som krävs för att ta bort meddelandet. Meddelandet tas inte bort automatiskt från kön, men när det har hämtats visas det inte för andra klienter under det tidsintervall som anges av parametern visibility_timeout.

Om fältet key-encryption-key eller resolver anges för det lokala tjänstobjektet dekrypteras meddelandet innan det returneras.

receive_messages

Tar bort ett eller flera meddelanden längst fram i kön.

När ett meddelande hämtas från kön innehåller svaret meddelandeinnehållet och ett pop_receipt värde som krävs för att ta bort meddelandet. Meddelandet tas inte bort automatiskt från kön, men när det har hämtats visas det inte för andra klienter under det tidsintervall som anges av parametern visibility_timeout. Iteratorn hämtar kontinuerligt meddelanden tills kön är tom eller max_messages nås (om max_messages har angetts).

Om fältet key-encryption-key eller resolver har angetts för det lokala tjänstobjektet dekrypteras meddelandena innan de returneras.

send_message

Lägger till ett nytt meddelande längst bak i meddelandekön.

Tidsgränsen för synlighet anger hur länge meddelandet ska vara osynligt. När tidsgränsen upphör att gälla visas meddelandet. Om en tidsgräns för synlighet inte anges används standardvärdet 0.

Meddelandet time to live anger hur länge ett meddelande ska finnas kvar i kön. Meddelandet tas bort från kön när time-to-live-perioden upphör att gälla.

Om nyckelkrypteringsnyckelfältet har angetts för det lokala tjänstobjektet krypterar den här metoden innehållet innan det laddas upp.

set_queue_access_policy

Anger lagrade åtkomstprinciper för kön som kan användas med signaturer för delad åtkomst.

När du anger behörigheter för en kö ersätts de befintliga behörigheterna. Om du vill uppdatera köns behörigheter anropar get_queue_access_policy du för att hämta alla åtkomstprinciper som är associerade med kön, ändrar den åtkomstprincip som du vill ändra och anropar sedan den här funktionen med den fullständiga datauppsättningen för att utföra uppdateringen.

När du upprättar en lagrad åtkomstprincip i en kö kan det ta upp till 30 sekunder att börja gälla. Under det här intervallet genererar en signatur för delad åtkomst som är associerad med den lagrade åtkomstprincipen en <xref:azure.storage.queue.HttpResponseError> tills åtkomstprincipen blir aktiv.

set_queue_metadata

Anger användardefinierade metadata i den angivna kön.

Metadata associeras med kön som namn/värde-par.

update_message

Uppdateringar visningstimeouten för ett meddelande. Du kan också använda den här åtgärden för att uppdatera innehållet i ett meddelande.

Den här åtgärden kan användas för att kontinuerligt utöka osynligheten för ett kömeddelande. Den här funktionen kan vara användbar om du vill att en arbetsroll ska "leasa" ett kömeddelande. Om en arbetsroll till exempel anropar receive_messages och inser att den behöver mer tid för att bearbeta ett meddelande kan den kontinuerligt utöka meddelandets osynlighet tills det bearbetas. Om arbetsrollen skulle misslyckas under bearbetningen blir meddelandet så småningom synligt igen och en annan arbetsroll kan bearbeta det.

Om nyckelkrypteringsnyckelfältet har angetts för det lokala tjänstobjektet krypterar den här metoden innehållet innan det laddas upp.

clear_messages

Tar bort alla meddelanden från den angivna kön.

clear_messages(**kwargs: Any) -> None

Parametrar

timeout
int

Anger tidsgränsen på serversidan för åtgärden i sekunder. Mer information finns i: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Det här värdet spåras eller verifieras inte på klienten. Information om hur du konfigurerar tidsgränser för nätverk på klientsidan finns här.

Exempel

Rensar alla meddelanden.


   queue.clear_messages()

close

Den här metoden är att stänga de sockets som öppnas av klienten. Den behöver inte användas när du använder med en kontexthanterare.

close()

create_queue

Skapar en ny kö i lagringskontot.

Om det redan finns en kö med samma namn misslyckas åtgärden med en ResourceExistsError.

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

Parametrar

metadata
Dict[str,str]

En diktamen som innehåller namn/värde-par som ska associeras med kön som metadata. Observera att metadatanamn bevarar det skiftläge som de skapades med, men de är skiftlägesokänsliga när de anges eller läss.

timeout
int

Anger tidsgränsen på serversidan för åtgärden i sekunder. Mer information finns i: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Det här värdet spåras eller verifieras inte på klienten. Information om hur du konfigurerar tidsgränser för nätverk på klientsidan finns här.

Returer

Inget eller resultatet av cls(svar)

Returtyp

Undantag

StorageErrorException

Exempel

Skapa en kö.


   queue.create_queue()

delete_message

Tar bort det angivna meddelandet.

Normalt när en klient hämtar ett meddelande med åtgärden för att ta emot meddelanden förväntas klienten bearbeta och ta bort meddelandet. Om du vill ta bort meddelandet måste du ha själva meddelandeobjektet eller två dataobjekt: ID och pop_receipt. ID:t returneras från föregående receive_messages åtgärd. Den pop_receipt returneras från den senaste receive_messages åtgärden eller update_message åtgärden. För att den delete_message åtgärden ska lyckas måste pop_receipt som anges i begäran matcha pop_receipt som returneras från receive_messages åtgärden eller update_message .

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

Parametrar

message
str eller QueueMessage
Obligatorisk

Meddelandeobjektet eller ID:t som identifierar det meddelande som ska tas bort.

pop_receipt
str
Obligatorisk

Ett giltigt popkvittovärde som returneras från ett tidigare anrop till receive_messages eller update_message.

timeout
int

Anger tidsgränsen på serversidan för åtgärden i sekunder. Mer information finns i: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Det här värdet spåras eller verifieras inte på klienten. Information om hur du konfigurerar tidsgränser för nätverk på klientsidan finns här.

Exempel

Ta bort ett meddelande.


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

   # Delete the specified message
   queue.delete_message(msg)

delete_queue

Tar bort den angivna kön och eventuella meddelanden som den innehåller.

När en kö har tagits bort markeras den omedelbart för borttagning och är inte längre tillgänglig för klienter. Kön tas senare bort från kötjänsten under skräpinsamlingen.

Observera att det sannolikt tar minst 40 sekunder att ta bort en kö. Om en åtgärd görs mot kön medan den togs bort utlöses en <xref:azure.storage.queue.HttpResponseError> .

delete_queue(**kwargs: Any) -> None

Parametrar

timeout
int

Anger tidsgränsen på serversidan för åtgärden i sekunder. Mer information finns i: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Det här värdet spåras eller verifieras inte på klienten. Information om hur du konfigurerar tidsgränser för nätverk på klientsidan finns här.

Returtyp

Exempel

Ta bort en kö.


   queue.delete_queue()

from_connection_string

Skapa QueueClient från en anslutningssträng.

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

Parametrar

conn_str
str
Obligatorisk

En anslutningssträng till ett Azure Storage-konto.

queue_name
str
Obligatorisk

Könamnet.

credential
standardvärde: None

De autentiseringsuppgifter som ska autentiseras med. Det här är valfritt om konto-URL:en redan har en SAS-token, eller om anslutningssträng redan har nyckelvärden för delad åtkomst. Värdet kan vara en SAS-tokensträng, en instans av en AzureSasCredential eller AzureNamedKeyCredential från azure.core.credentials, en kontodelad åtkomstnyckel eller en instans av en TokenCredentials-klass från azure.identity. Autentiseringsuppgifterna som anges här har företräde framför dem i anslutningssträng. Om du använder en instans av AzureNamedKeyCredential ska "name" vara lagringskontots namn och "nyckel" ska vara lagringskontonyckeln.

audience
str

Målgruppen som ska användas när du begär token för Azure Active Directory-autentisering. Har endast en effekt när autentiseringsuppgifter är av typen TokenCredential. Värdet kan vara https://storage.azure.com/ (standard) eller https://.queue.core.windows.net.

Returer

En köklient.

Returtyp

Exempel

Skapa köklienten från anslutningssträng.


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

from_queue_url

En klient för att interagera med en specifik kö.

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

Parametrar

queue_url
str
Obligatorisk

Den fullständiga URI:n till kön, inklusive SAS-token om den används.

credential
standardvärde: None

De autentiseringsuppgifter som ska autentiseras med. Detta är valfritt om konto-URL:en redan har en SAS-token. Värdet kan vara en SAS-tokensträng, en instans av en AzureSasCredential eller AzureNamedKeyCredential från azure.core.credentials, en kontodelad åtkomstnyckel eller en instans av en TokenCredentials-klass från azure.identity. Om resurs-URI:n redan innehåller en SAS-token ignoreras detta till förmån för en explicit autentiseringsuppgift

  • utom när det gäller AzureSasCredential, där de motstridiga SAS-token genererar en ValueError. Om du använder en instans av AzureNamedKeyCredential ska "namn" vara lagringskontots namn och "nyckel" ska vara lagringskontonyckeln.
audience
str

Målgruppen som ska användas när du begär token för Azure Active Directory-autentisering. Har bara en effekt när autentiseringsuppgifter är av typen TokenCredential. Värdet kan vara https://storage.azure.com/ (standard) eller https://.queue.core.windows.net.

Returer

En köklient.

Returtyp

get_queue_access_policy

Returnerar information om lagrade åtkomstprinciper som anges i kön som kan användas med signaturer för delad åtkomst.

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

Parametrar

timeout
int

Anger tidsgränsen på serversidan för åtgärden i sekunder. Mer information finns i: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Det här värdet spåras eller verifieras inte på klienten. Information om hur du konfigurerar tidsgränser för nätverk på klientsidan finns här.

Returer

En ordlista med åtkomstprinciper som är associerade med kön.

Returtyp

get_queue_properties

Returnerar alla användardefinierade metadata för den angivna kön.

De data som returneras innehåller inte köns lista över meddelanden.

get_queue_properties(**kwargs: Any) -> QueueProperties

Parametrar

timeout
int

Tidsgränsparametern uttrycks i sekunder.

Returer

Användardefinierade metadata för kön.

Returtyp

Exempel

Hämta egenskaperna i kön.


   properties = queue.get_queue_properties().metadata

peek_messages

Hämtar ett eller flera meddelanden längst fram i kön, men ändrar inte meddelandets synlighet.

Endast meddelanden som visas kan hämtas. När ett meddelande hämtas för första gången med ett anrop till receive_messagesär dess egenskap dequeue_count inställd på 1. Om den inte tas bort och sedan hämtas igen ökas egenskapen dequeue_count. Klienten kan använda det här värdet för att avgöra hur många gånger ett meddelande har hämtats. Observera att ett anrop till peek_messages inte ökar värdet för dequeue_count, utan returnerar det här värdet för klienten att läsa.

Om fältet key-encryption-key eller resolver har angetts för det lokala tjänstobjektet dekrypteras meddelandena innan de returneras.

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

Parametrar

max_messages
int
Obligatorisk

Ett heltalsvärde som inte är noll och som anger hur många meddelanden som ska visas från kön, upp till högst 32. Som standard visas ett enda meddelande från kön med den här åtgärden.

timeout
int

Anger tidsgränsen på serversidan för åtgärden i sekunder. Mer information finns i: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Det här värdet spåras eller verifieras inte på klienten. Information om hur du konfigurerar tidsgränser för nätverk på klientsidan finns här.

Returer

En lista över QueueMessage objekt. Observera att next_visible_on och pop_receipt inte fylls i eftersom peek inte visar meddelandet och bara kan hämta redan synliga meddelanden.

Returtyp

Exempel

Peek meddelanden.


   # 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

Tar bort ett meddelande från köns framsida.

När meddelandet hämtas från kön innehåller svaret meddelandeinnehållet och ett pop_receipt värde som krävs för att ta bort meddelandet. Meddelandet tas inte bort automatiskt från kön, men när det har hämtats visas det inte för andra klienter under det tidsintervall som anges av parametern visibility_timeout.

Om fältet key-encryption-key eller resolver anges för det lokala tjänstobjektet dekrypteras meddelandet innan det returneras.

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

Parametrar

visibility_timeout
int

Om inget anges är standardvärdet 30. Anger det nya tidsgränsvärdet för synlighet i sekunder i förhållande till servertiden. Värdet måste vara större än eller lika med 1 och får inte vara större än 7 dagar. Tidsgränsen för synlighet för ett meddelande kan inte anges till ett värde senare än förfallotiden. visibility_timeout ska anges till ett värde som är mindre än time-to-live-värdet.

timeout
int

Anger tidsgränsen på serversidan för åtgärden i sekunder. Mer information finns i: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Det här värdet spåras eller verifieras inte på klienten. Information om hur du konfigurerar tidsgränser för nätverk på klientsidan finns här.

Returer

Returnerar ett meddelande från kön eller Ingen om kön är tom.

Returtyp

Exempel

Ta emot ett meddelande från kön.


   # 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

Tar bort ett eller flera meddelanden längst fram i kön.

När ett meddelande hämtas från kön innehåller svaret meddelandeinnehållet och ett pop_receipt värde som krävs för att ta bort meddelandet. Meddelandet tas inte bort automatiskt från kön, men när det har hämtats visas det inte för andra klienter under det tidsintervall som anges av parametern visibility_timeout. Iteratorn hämtar kontinuerligt meddelanden tills kön är tom eller max_messages nås (om max_messages har angetts).

Om fältet key-encryption-key eller resolver har angetts för det lokala tjänstobjektet dekrypteras meddelandena innan de returneras.

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

Parametrar

visibility_timeout
int

Om inget anges är standardvärdet 30. Anger det nya tidsgränsvärdet för synlighet i sekunder i förhållande till servertiden. Värdet måste vara större än eller lika med 1 och får inte vara större än 7 dagar. Tidsgränsen för synlighet för ett meddelande kan inte anges till ett värde senare än förfallotiden. visibility_timeout ska anges till ett värde som är mindre än time-to-live-värdet.

max_messages
int

Ett heltal som anger det maximala antalet meddelanden som ska hämtas från kön.

timeout
int

Anger tidsgränsen på serversidan för åtgärden i sekunder. Mer information finns i: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Det här värdet spåras eller verifieras inte på klienten. Information om hur du konfigurerar tidsgränser för nätverk på klientsidan finns här.

Returer

Returnerar en meddelande iterator för diktaliknande meddelandeobjekt.

Returtyp

Exempel

Ta emot meddelanden från kön.


   # 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

Lägger till ett nytt meddelande längst bak i meddelandekön.

Tidsgränsen för synlighet anger hur länge meddelandet ska vara osynligt. När tidsgränsen upphör att gälla visas meddelandet. Om en tidsgräns för synlighet inte anges används standardvärdet 0.

Meddelandet time to live anger hur länge ett meddelande ska finnas kvar i kön. Meddelandet tas bort från kön när time-to-live-perioden upphör att gälla.

Om nyckelkrypteringsnyckelfältet har angetts för det lokala tjänstobjektet krypterar den här metoden innehållet innan det laddas upp.

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

Parametrar

content
Optional[object]
Obligatorisk

Meddelandeinnehåll. Den tillåtna typen bestäms av encode_function som angetts för tjänsten. Standardvärdet är str. Det kodade meddelandet kan vara upp till 64 KB stort.

visibility_timeout
int

Om inget anges är standardvärdet 0. Anger det nya tidsgränsvärdet för synlighet i sekunder i förhållande till servertiden. Värdet måste vara större än eller lika med 0 och får inte vara större än 7 dagar. Tidsgränsen för synlighet för ett meddelande kan inte anges till ett värde senare än förfallotiden. visibility_timeout ska anges till ett värde som är mindre än time-to-live-värdet.

time_to_live
int

Anger time-to-live-intervallet för meddelandet i sekunder. Time-to-live kan vara ett positivt tal eller -1 för oändligheten. Om den här parametern utelämnas är standardtiden till live 7 dagar.

timeout
int

Anger tidsgränsen på serversidan för åtgärden i sekunder. Mer information finns i: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Det här värdet spåras eller verifieras inte på klienten. Information om hur du konfigurerar tidsgränser för nätverk på klientsidan finns här.

Returer

Ett QueueMessage objekt. Det här objektet fylls också i med innehållet även om det inte returneras från tjänsten.

Returtyp

Exempel

Skicka meddelanden.


   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

Anger lagrade åtkomstprinciper för kön som kan användas med signaturer för delad åtkomst.

När du anger behörigheter för en kö ersätts de befintliga behörigheterna. Om du vill uppdatera köns behörigheter anropar get_queue_access_policy du för att hämta alla åtkomstprinciper som är associerade med kön, ändrar den åtkomstprincip som du vill ändra och anropar sedan den här funktionen med den fullständiga datauppsättningen för att utföra uppdateringen.

När du upprättar en lagrad åtkomstprincip i en kö kan det ta upp till 30 sekunder att börja gälla. Under det här intervallet genererar en signatur för delad åtkomst som är associerad med den lagrade åtkomstprincipen en <xref:azure.storage.queue.HttpResponseError> tills åtkomstprincipen blir aktiv.

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

Parametrar

signed_identifiers
Dict[str, AccessPolicy]
Obligatorisk

SignIdentifier åtkomstprinciper som ska associeras med kön. Detta kan innehålla upp till 5 element. En tom diktamen rensar åtkomstprinciperna som angetts för tjänsten.

timeout
int

Anger tidsgränsen på serversidan för åtgärden i sekunder. Mer information finns i: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Det här värdet spåras eller verifieras inte på klienten. Information om hur du konfigurerar tidsgränser för nätverk på klientsidan finns här.

Exempel

Ange en åtkomstprincip i kön.


   # 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

Anger användardefinierade metadata i den angivna kön.

Metadata associeras med kön som namn/värde-par.

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

Parametrar

metadata
Optional[Dict[str, str]]
Obligatorisk

En diktamen som innehåller namn/värde-par som ska associeras med kön som metadata.

timeout
int

Anger tidsgränsen på serversidan för åtgärden i sekunder. Mer information finns i: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Det här värdet spåras eller verifieras inte på klienten. Information om hur du konfigurerar tidsgränser för nätverk på klientsidan finns här.

Returer

En ordlista med svarshuvuden.

Returtyp

Exempel

Ange metadata i kön.


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

update_message

Uppdateringar visningstimeouten för ett meddelande. Du kan också använda den här åtgärden för att uppdatera innehållet i ett meddelande.

Den här åtgärden kan användas för att kontinuerligt utöka osynligheten för ett kömeddelande. Den här funktionen kan vara användbar om du vill att en arbetsroll ska "leasa" ett kömeddelande. Om en arbetsroll till exempel anropar receive_messages och inser att den behöver mer tid för att bearbeta ett meddelande kan den kontinuerligt utöka meddelandets osynlighet tills det bearbetas. Om arbetsrollen skulle misslyckas under bearbetningen blir meddelandet så småningom synligt igen och en annan arbetsroll kan bearbeta det.

Om nyckelkrypteringsnyckelfältet har angetts för det lokala tjänstobjektet krypterar den här metoden innehållet innan det laddas upp.

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

Parametrar

message
str eller QueueMessage
Obligatorisk

Meddelandeobjektet eller ID:t som identifierar meddelandet som ska uppdateras.

pop_receipt
str
Obligatorisk

Ett giltigt popkvittovärde som returnerades från ett tidigare anrop till receive_messages åtgärden eller update_message .

content
Optional[object]
Obligatorisk

Meddelandeinnehåll. Den tillåtna typen bestäms av encode_function som angetts för tjänsten. Standardvärdet är str.

visibility_timeout
int

Anger det nya tidsgränsvärdet för synlighet i sekunder i förhållande till servertiden. Det nya värdet måste vara större än eller lika med 0 och får inte vara större än 7 dagar. Tidsgränsen för synlighet för ett meddelande kan inte anges till ett värde senare än förfallotiden. Ett meddelande kan uppdateras tills det har tagits bort eller har upphört att gälla. Meddelandeobjektet eller meddelande-ID:t som identifierar meddelandet som ska uppdateras.

timeout
int

Anger tidsgränsen på serversidan för åtgärden i sekunder. Mer information finns i: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Det här värdet spåras eller verifieras inte på klienten. Information om hur du konfigurerar tidsgränser för nätverk på klientsidan finns här.

Returer

Ett QueueMessage objekt. För enkelhetens skull fylls det här objektet också i med innehållet, även om det inte returneras av tjänsten.

Returtyp

Exempel

Uppdatera ett meddelande.


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

Attribut

api_version

Den version av Storage-API:et som används för begäranden.

Returtyp

str

location_mode

Det platsläge som klienten använder för närvarande.

Som standard är detta "primärt". Alternativen är "primär" och "sekundär".

Returtyp

str

primary_endpoint

Den fullständiga primära slutpunkts-URL:en.

Returtyp

str

primary_hostname

Värdnamnet för den primära slutpunkten.

Returtyp

str

secondary_endpoint

Den fullständiga sekundära slutpunkts-URL:en om den har konfigurerats.

Om den inte är tillgänglig utlöses en ValueError. Om du uttryckligen vill ange ett sekundärt värdnamn använder du det valfria nyckelordsargumentet secondary_hostname vid instansiering.

Returtyp

str

Undantag

secondary_hostname

Värdnamnet för den sekundära slutpunkten.

Om det inte är tillgängligt blir detta Ingen. Om du uttryckligen vill ange ett sekundärt värdnamn använder du det valfria nyckelordsargumentet secondary_hostname vid instansiering.

Returtyp

url

Den fullständiga slutpunkts-URL:en till den här entiteten, inklusive SAS-token om den används.

Detta kan vara antingen den primära slutpunkten eller den sekundära slutpunkten beroende på aktuell location_mode. :returns: Den fullständiga slutpunkts-URL:en till den här entiteten, inklusive SAS-token om den används. :rtype: str