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.StorageAccountHostsMixinQueueClientazure.storage.queue._encryption.StorageEncryptionMixinQueueClient
Konstruktor
QueueClient(account_url: str, queue_name: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any)
Parametrar
- account_url
- str
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 .
- credential
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
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
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
Meddelandeobjektet eller ID:t som identifierar det meddelande som ska tas bort.
- pop_receipt
- str
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
- credential
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
- credential
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
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
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]
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
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
Meddelandeobjektet eller ID:t som identifierar meddelandet som ska uppdateras.
- pop_receipt
- str
Ett giltigt popkvittovärde som returnerades från ett tidigare anrop till receive_messages åtgärden eller update_message .
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
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
primary_endpoint
primary_hostname
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
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
Azure SDK for Python