Freigeben über


QueueService Klasse

Dies ist die Standard Klasse, die Warteschlangenressourcen verwaltet.

Der Warteschlangendienst speichert Nachrichten. Eine Warteschlange kann eine unbegrenzte Anzahl von Nachrichten enthalten, von denen jede bis zu 64 KB groß sein kann. Nachrichten werden im Allgemeinen am Ende der Warteschlange hinzugefügt und am Anfang der Warteschlange abgerufen, jedoch ist FIFO (First In, First Out)-Verhalten nicht garantiert.

:type ~azure.storage.common.TokenCredential

Vererbung
QueueService

Konstruktor

QueueService(account_name=None, account_key=None, sas_token=None, is_emulated=False, protocol='https', endpoint_suffix='core.windows.net', request_session=None, connection_string=None, socket_timeout=None, token_credential=None)

Parameter

account_name
str
Standardwert: None

Der Name des Speicherkontos. Dies wird verwendet, um mit einem Kontoschlüssel signierte Anforderungen zu authentifizieren und den Speicherendpunkt zu erstellen. Es ist erforderlich, es sei denn, es wird ein Verbindungszeichenfolge angegeben.

account_key
str
Standardwert: None

Der Speicherkontoschlüssel. Dies wird für die Authentifizierung mit freigegebenem Schlüssel verwendet.

sas_token
str
Standardwert: None

Ein Shared Access Signature-Token, das anstelle des Kontoschlüssels zum Authentifizieren von Anforderungen verwendet werden soll. Wenn Kontoschlüssel und SAS-Token angegeben sind, wird der Kontoschlüssel zum Signieren verwendet.

is_emulated
bool
Standardwert: False

Gibt an, ob der Emulator verwendet werden soll. Der Standardwert lautet „False“. Wenn angegeben, werden alle anderen Parameter außer Verbindungszeichenfolge- und Anforderungssitzung überschrieben.

protocol
str
Standardwert: https

Das Protokoll, das für Anforderungen verwendet werden soll. Standardmäßig wird https verwendet.

endpoint_suffix
str
Standardwert: core.windows.net

Die Hostbasiskomponente der URL abzüglich des Kontonamens. Standardmäßig wird Azure (core.windows.net) verwendet. Überschreiben Sie dies, um die China-Cloud (core.chinacloudapi.cn) zu verwenden.

request_session
<xref:requests.Session>
Standardwert: None

Das Sitzungsobjekt, das für HTTP-Anforderungen verwendet werden soll.

connection_string
str
Standardwert: None

Wenn angegeben, überschreibt dies alle anderen Parameter außer der Anforderungssitzung. Weitere Informationen finden Sie http://azure.microsoft.com/en-us/documentation/articles/storage-configure-connection-string/ unter Verbindungszeichenfolge Format.

socket_timeout
int
Standardwert: None

Falls angegeben, überschreibt dies das Standardmäßige Sockettimeout. Das angegebene Timeout ist in Sekunden angegeben. Den Standardwert finden Sie unter DEFAULT_SOCKET_TIMEOUT in _constants.py.

token_credential
Standardwert: None

Tokenanmeldeinformationen, die zum Authentifizieren von HTTPS-Anforderungen verwendet werden. Der Tokenwert sollte vor seinem Ablauf aktualisiert werden.

Variablen

encode_function
<xref:function>(<xref:data>)

Eine Funktion, die zum Codieren von Warteschlangennachrichten verwendet wird. Verwendet als Parameter die an die put_message-API übergebenen Daten und gibt die codierte Nachricht zurück. Standardmäßig wird text- und XML-Codierung verwendet, aber Bytes und andere Codierungen können verwendet werden. Beispielsweise kann base64 für die Entwicklung mehrerer Azure Storage-Bibliotheken in verschiedenen Sprachen vorzuziehen sein. Weitere Informationen finden Sie unter QueueMessageFormat für xml, base64 und keine Codierungsmethoden sowie binäre Entsprechungen.

decode_function
<xref:function>(<xref:data>)

Eine Funktion, die zum Codieren von Nachrichten verwendet wird. Verwendet als Parameter die Daten, die von den get_messages- und peek_messages-APIs zurückgegeben werden, und gibt die decodierte Nachricht zurück. Standardmäßig werden Text und XML-Decodierung zurückgegeben, aber Bytes und andere Decodierungen können verwendet werden. Beispielsweise kann base64 für die Entwicklung mehrerer Azure Storage-Bibliotheken in verschiedenen Sprachen vorzuziehen sein. Weitere Informationen finden Sie in den QueueMessageFormat Methoden xml, base64 und keine Decodierung sowie binäre Entsprechungen.

key_encryption_key
object

Der schlüssel-encryption-key, der optional vom Benutzer bereitgestellt wird. Wenn angegeben, wird zum Verschlüsseln/Entschlüsseln in unterstützten Methoden verwendet. Für Methoden, die entschlüsselt werden müssen, muss entweder der key_encryption_key ODER der Resolver bereitgestellt werden. Wenn beide angegeben sind, hat der Resolver Vorrang. Muss die folgenden Methoden für APIs implementieren, die eine Verschlüsselung erfordern: wrap_key(Schlüssel) – umschließt den angegebenen Schlüssel (Bytes) mithilfe eines Algorithmus der Wahl des Benutzers. Gibt den verschlüsselten Schlüssel als Bytes zurück. get_key_wrap_algorithm() – gibt den Algorithmus zurück, der zum Umschließen des angegebenen symmetrischen Schlüssels verwendet wird. get_kid() – gibt eine Zeichenfolgenschlüssel-ID für diesen Schlüssel-Verschlüsselungsschlüssel zurück. Muss die folgenden Methoden für APIs implementieren, die entschlüsselt werden müssen: unwrap_key(Schlüssel, Algorithmus) – gibt die unverschlüsselte Form des angegebenen symmetrischen Schlüssels mithilfe des Zeichenfolgen-angegebenen Algorithmus zurück. get_kid() – gibt eine Zeichenfolgenschlüssel-ID für diesen Schlüssel-Verschlüsselungsschlüssel zurück.

key_resolver_function
kid) (<xref:function>

Eine Funktion zum Auflösen von Schlüsseln, die optional vom Benutzer bereitgestellt werden. Wenn angegeben, wird zum Entschlüsseln in unterstützten Methoden verwendet. Für Methoden, die entschlüsselt werden müssen, muss entweder der key_encryption_key ODER der Resolver bereitgestellt werden. Wenn beide angegeben sind, hat der Resolver Vorrang. Es verwendet die kid-Zeichenfolge, um einen Schlüssel-Verschlüsselung-Schlüssel zurückzugeben, der die oben definierte Schnittstelle implementiert.

require_encryption
bool

Ein Flag, das festgelegt werden kann, um sicherzustellen, dass alle Nachrichten, die erfolgreich in die Warteschlange hochgeladen wurden, und alle heruntergeladenen und erfolgreich aus der Warteschlange gelesenen Nachrichten auf dem Server verschlüsselt wurden/wurden. Wenn dieses Flag festgelegt ist, müssen alle erforderlichen Parameter für die Ver-/Entschlüsselung angegeben werden. Weitere Informationen finden Sie in den obigen Kommentaren zum key_encryption_key und Resolver.

Methoden

clear_messages

Löscht alle Nachrichten aus der angegebenen Warteschlange.

create_queue

Erstellt eine Warteschlange unter dem angegebenen Konto.

delete_message

Löscht die angegebene Nachricht.

Normalerweise wird erwartet, dass der Client die Nachricht verarbeitet und löscht, nachdem ein Client eine Nachricht mit dem get_messages-Vorgang abgerufen hat. Zum Löschen der Nachricht müssen Sie über zwei Datenelemente verfügen: id und pop_receipt. Die ID wird vom vorherigen get_messages-Vorgang zurückgegeben. Die pop_receipt wird vom letzten get_messages Oder update_message Vorgang zurückgegeben. Damit der delete_message Vorgang erfolgreich ist, muss der in der Anforderung angegebene pop_receipt mit dem pop_receipt übereinstimmen, der get_messages vom Vorgang oder update_message zurückgegeben wurde.

delete_queue

Löscht die angegebene Warteschlange und alle darin enthaltenen Nachrichten.

Wenn eine Warteschlange erfolgreich gelöscht wurde, wird sie sofort zum Löschen markiert und ist für Clients nicht mehr zugänglich. Die Warteschlange wird später während der automatischen Speicherbereinigung aus dem Warteschlangendienst entfernt.

Beachten Sie, dass das Löschen einer Warteschlange wahrscheinlich mindestens 40 Sekunden dauert. Wenn ein Vorgang für die Warteschlange versucht wird, während er gelöscht wurde, wird ein <xref:azure.storage.queue.queueservice.AzureConflictHttpError> ausgelöst.

exists

Gibt einen booleschen Wert zurück, der angibt, ob die Warteschlange vorhanden ist.

extract_date_and_request_id
generate_account_shared_access_signature

Generiert eine Shared Access Signature für den Warteschlangendienst. Verwenden Sie die zurückgegebene Signatur mit dem sas_token-Parameter von QueueService.

generate_queue_shared_access_signature

Generiert eine Freigegebene Zugriffssignatur für die Warteschlange. Verwenden Sie die zurückgegebene Signatur mit dem sas_token-Parameter von QueueService.

get_messages

Ruft eine oder mehrere Nachrichten von der Front der Warteschlange ab.

Wenn eine Nachricht aus der Warteschlange abgerufen wird, enthält die Antwort den Nachrichteninhalt und einen pop_receipt Wert, der zum Löschen der Nachricht erforderlich ist. Die Nachricht wird nicht automatisch aus der Warteschlange gelöscht, aber nach dem Abrufen ist sie für andere Clients für das durch den parameter visibility_timeout angegebene Zeitintervall nicht sichtbar.

Wenn das Feld schlüssel-encryption-key oder resolver für das lokale Dienstobjekt festgelegt ist, werden die Nachrichten vor der Rückgabe entschlüsselt.

get_queue_acl

Gibt Details zu allen gespeicherten Zugriffsrichtlinien zurück, die in der Warteschlange angegeben sind, die mit Shared Access Signatures verwendet werden können.

get_queue_metadata

Ruft benutzerdefinierte Metadaten und Warteschlangeneigenschaften für die angegebene Warteschlange ab. Metadaten werden der Warteschlange als Name-Wert-Paare zugeordnet.

get_queue_service_properties

Ruft die Eigenschaften des Warteschlangendiensts eines Speicherkontos ab, einschließlich Protokollierung, Analyse und CORS-Regeln.

get_queue_service_stats

Ruft Statistiken zur Replikation für den Warteschlangendienst ab. Sie ist nur verfügbar, wenn die georedundante Replikation mit Lesezugriff für das Speicherkonto aktiviert ist.

Mit der georedundanten Replikation behält der Azure-Speicher Daten an zwei Standorten permanent bei. An beiden Standorten behält der Azure-Speicher mehrere fehlerfreie Replikate der Daten bei. Der Standort, an dem Sie Daten lesen, erstellen, aktualisieren oder löschen, ist der primäre Speicherkontostandort. Der primäre Standort befindet sich in der Region, die Sie zum Zeitpunkt der Erstellung eines Kontos über das klassische Azure Management-Azure-Portal ausgewählt haben, z. B. USA, Norden, Mitte. Als sekundärer Standort wird der Standort bezeichnet, an dem die Daten repliziert werden. Der sekundäre Standort wird automatisch auf Grundlage des primären Standorts ermittelt und befindet sich in einem zweiten Rechenzentrum in derselben Region wie der primäre Standort. Der schreibgeschützte Zugriff ist über den sekundären Standort verfügbar, wenn die georedundante Replikation mit Lesezugriff für das Speicherkonto aktiviert ist.

list_queues

Gibt einen Generator zurück, um die Warteschlangen aufzulisten. Der Generator folgt den vom Dienst zurückgegebenen Fortsetzungstoken und wird beendet, wenn alle Warteschlangen zurückgegeben wurden oder num_results erreicht wurde.

Wenn num_results angegeben ist und das Konto über mehr als diese Anzahl von Warteschlangen verfügt, verfügt der Generator nach Abschluss über ein aufgefülltes next_marker Feld. Dieser Marker kann verwendet werden, um einen neuen Generator zu erstellen, wenn weitere Ergebnisse gewünscht werden.

peek_messages

Ruft eine oder mehrere Nachrichten von der Vorderseite der Warteschlange ab, ändert jedoch nicht die Sichtbarkeit der Nachricht.

Es können nur nachrichten abgerufen werden, die sichtbar sind. Wenn eine Nachricht zum ersten Mal mit einem Aufruf von get_messages abgerufen wird, wird ihre dequeue_count-Eigenschaft auf 1 festgelegt. Wenn sie nicht gelöscht und anschließend erneut abgerufen wird, wird die dequeue_count-Eigenschaft erhöht. Der Client bestimmt anhand dieses Werts möglicherweise, wie oft eine Nachricht abgerufen wurde. Beachten Sie, dass ein Aufruf von peek_messages den Wert von DequeueCount nicht erhöht, sondern diesen Wert für den Client zum Lesen zurückgibt.

Wenn das Feld schlüssel-encryption-key oder resolver für das lokale Dienstobjekt festgelegt ist, werden die Nachrichten vor der Rückgabe entschlüsselt.

put_message

Fügt eine neue Nachricht auf der Rückseite der Nachrichtenwarteschlange hinzu.

Das Sichtbarkeitstimeout gibt die Zeit an, zu der die Nachricht unsichtbar ist. Wenn das Timeout abläuft, wird die Nachricht sichtbar. Wenn kein Sichtbarkeitstimeout angegeben ist, wird der Standardwert 0 verwendet.

Die Gültigkeitsdauer der Nachricht gibt an, wie lange eine Nachricht in der Warteschlange verbleibt. Die Nachricht wird aus der Warteschlange gelöscht, wenn die Gültigkeitsdauer abläuft.

Wenn das Feld schlüssel-encryption-key für das lokale Dienstobjekt festgelegt ist, verschlüsselt diese Methode den Inhalt vor dem Hochladen.

set_proxy

Legt den Host und Port des Proxyservers für http CONNECT Tunnelling fest.

set_queue_acl

Legt gespeicherte Zugriffsrichtlinien für die Warteschlange fest, die mit SAS (Shared Access Signature) verwendet werden können.

Wenn Sie Berechtigungen für eine Warteschlange festlegen, werden die vorhandenen Berechtigungen ersetzt. Um die Berechtigungen der Warteschlange zu aktualisieren, rufen Sie get_queue_acl auf, um alle zugriffsrichtlinien abzurufen, die der Warteschlange zugeordnet sind, ändern Sie die Zugriffsrichtlinie, die Sie ändern möchten, und rufen Sie dann diese Funktion mit dem vollständigen Satz von Daten auf, um die Aktualisierung durchzuführen.

Wenn Sie eine gespeicherte Zugriffsrichtlinie für eine Warteschlange einrichten, kann es bis zu 30 Sekunden dauern, bis die Richtlinie angewendet wird. Während dieses Intervalls löst eine Shared Access Signature, die der gespeicherten Zugriffsrichtlinie zugeordnet ist, eine aus <xref:azure.storage.queue.queueservice.AzureHttpError> , bis die Zugriffsrichtlinie aktiv wird.

set_queue_metadata

Legt benutzerdefinierte Metadaten für die angegebene Warteschlange fest. Metadaten werden der Warteschlange als Name-Wert-Paare zugeordnet.

set_queue_service_properties

Legt die Eigenschaften des Warteschlangendiensts eines Speicherkontos fest, einschließlich Azure Storage Analytics. Wenn ein Element (z. B. Protokollierung) als Keine beibehalten wird, werden die vorhandenen Einstellungen für den Dienst für diese Funktionalität beibehalten. Weitere Informationen zu Azure Storage Analytics finden Sie unter https://msdn.microsoft.com/en-us/library/azure/hh343270.aspx.

update_message

Updates das Sichtbarkeitstimeout einer Nachricht. Sie können diesen Vorgang auch verwenden, um den Inhalt einer Nachricht zu aktualisieren.

Dieser Vorgang kann verwendet werden, um die Sichtbarkeit einer Warteschlangennachricht kontinuierlich zu erweitern. Diese Funktionalität kann nützlich sein, wenn eine Workerrolle eine Warteschlangennachricht "leasen" soll. Wenn eine Workerrolle beispielsweise get_messages aufruft und erkennt, dass sie mehr Zeit für die Verarbeitung einer Nachricht benötigt, kann sie die Sichtbarkeit der Nachricht kontinuierlich erweitern, bis sie verarbeitet wird. Wenn die Verarbeitung durch die Workerrolle fehlschlägt, wird die Nachricht schließlich wieder sichtbar, und sie kann von einer anderen Workerrolle verarbeitet werden.

Wenn das Feld schlüssel-encryption-key für das lokale Dienstobjekt festgelegt ist, verschlüsselt diese Methode den Inhalt vor dem Hochladen.

clear_messages

Löscht alle Nachrichten aus der angegebenen Warteschlange.

clear_messages(queue_name, timeout=None)

Parameter

queue_name
str
Erforderlich

Der Name der Warteschlange, deren Nachrichten gelöscht werden sollen.

timeout
int
Standardwert: None

Das Servertimeout, ausgedrückt in Sekunden.

create_queue

Erstellt eine Warteschlange unter dem angegebenen Konto.

create_queue(queue_name, metadata=None, fail_on_exist=False, timeout=None)

Parameter

queue_name
str
Erforderlich

Der Name der zu erstellenden Warteschlange. Ein Warteschlangenname muss 3 bis 63 Zeichen lang sein und darf nur Kleinbuchstaben, Zahlen und den Bindestrich (-) enthalten. Die ersten und letzten Buchstaben in der Warteschlange müssen alphanumerisch sein. Der Bindestrich (-) darf nicht als erstes oder letztes Zeichen verwendet werden. Direkt aufeinander folgende Bindestriche sind im Warteschlangennamen nicht zulässig.

metadata
dict(str, str)
Standardwert: None

Ein Diktat, das Name-Wert-Paare enthält, die der Warteschlange als Metadaten zugeordnet werden sollen. Beachten Sie, dass für Metadatennamen die Groß-/Kleinschreibung beibehalten wird, die bei der Erstellung verwendet wurde. Beim Festlegen oder Lesen wird die Groß-/Kleinschreibung aber nicht berücksichtigt.

fail_on_exist
bool
Standardwert: False

Gibt an, ob eine Ausnahme ausgelöst werden soll, wenn die Warteschlange bereits vorhanden ist.

timeout
int
Standardwert: None

Das Servertimeout, ausgedrückt in Sekunden.

Gibt zurück

Ein boolescher Wert, der angibt, ob die Warteschlange erstellt wurde. Wenn fail_on_exist auf True festgelegt wurde, wird dies ausgelöst, anstatt false zurückzugeben.

Rückgabetyp

delete_message

Löscht die angegebene Nachricht.

Normalerweise wird erwartet, dass der Client die Nachricht verarbeitet und löscht, nachdem ein Client eine Nachricht mit dem get_messages-Vorgang abgerufen hat. Zum Löschen der Nachricht müssen Sie über zwei Datenelemente verfügen: id und pop_receipt. Die ID wird vom vorherigen get_messages-Vorgang zurückgegeben. Die pop_receipt wird vom letzten get_messages Oder update_message Vorgang zurückgegeben. Damit der delete_message Vorgang erfolgreich ist, muss der in der Anforderung angegebene pop_receipt mit dem pop_receipt übereinstimmen, der get_messages vom Vorgang oder update_message zurückgegeben wurde.

delete_message(queue_name, message_id, pop_receipt, timeout=None)

Parameter

queue_name
str
Erforderlich

Der Name der Warteschlange, aus der die Nachricht gelöscht werden soll.

message_id
str
Erforderlich

Die Nachrichten-ID, die die zu löschende Nachricht identifiziert.

pop_receipt
str
Erforderlich

Ein gültiger Pop-Belegwert, der von einem früheren Aufruf von get_messages oder update_messagezurückgegeben wurde.

timeout
int
Standardwert: None

Das Servertimeout, ausgedrückt in Sekunden.

delete_queue

Löscht die angegebene Warteschlange und alle darin enthaltenen Nachrichten.

Wenn eine Warteschlange erfolgreich gelöscht wurde, wird sie sofort zum Löschen markiert und ist für Clients nicht mehr zugänglich. Die Warteschlange wird später während der automatischen Speicherbereinigung aus dem Warteschlangendienst entfernt.

Beachten Sie, dass das Löschen einer Warteschlange wahrscheinlich mindestens 40 Sekunden dauert. Wenn ein Vorgang für die Warteschlange versucht wird, während er gelöscht wurde, wird ein <xref:azure.storage.queue.queueservice.AzureConflictHttpError> ausgelöst.

delete_queue(queue_name, fail_not_exist=False, timeout=None)

Parameter

queue_name
str
Erforderlich

Der Name der zu löschenden Warteschlange.

fail_not_exist
bool
Standardwert: False

Gibt an, ob eine Ausnahme ausgelöst werden soll, wenn die Warteschlange nicht vorhanden ist.

timeout
int
Standardwert: None

Das Servertimeout, ausgedrückt in Sekunden.

Gibt zurück

Ein boolescher Wert, der angibt, ob die Warteschlange gelöscht wurde. Wenn fail_not_exist auf True festgelegt wurde, wird dies ausgelöst, anstatt false zurückzugeben.

Rückgabetyp

exists

Gibt einen booleschen Wert zurück, der angibt, ob die Warteschlange vorhanden ist.

exists(queue_name, timeout=None)

Parameter

queue_name
str
Erforderlich

Der Name der zu überprüfenden Warteschlange.

timeout
int
Standardwert: None

Das Servertimeout, ausgedrückt in Sekunden.

Gibt zurück

Ein boolescher Wert, der angibt, ob die Warteschlange vorhanden ist.

Rückgabetyp

extract_date_and_request_id

static extract_date_and_request_id(retry_context)

Parameter

retry_context
Erforderlich

generate_account_shared_access_signature

Generiert eine Shared Access Signature für den Warteschlangendienst. Verwenden Sie die zurückgegebene Signatur mit dem sas_token-Parameter von QueueService.

generate_account_shared_access_signature(resource_types, permission, expiry, start=None, ip=None, protocol=None)

Parameter

resource_types
<xref:ResourceTypes>
Erforderlich

Gibt die Ressourcentypen an, auf die mit der Konto-SAS zugegriffen werden kann.

permission
<xref:AccountPermissions>
Erforderlich

Die Berechtigungen, die der SAS zugeordnet sind. Der Benutzer ist auf Vorgänge beschränkt, für die er eine Berechtigung besitzt. Erforderlich, es sei denn, es wird eine ID angegeben, die auf eine gespeicherte Zugriffsrichtlinie verweist, die dieses Feld enthält. Dieses Feld muss ausgelassen werden, wenn es in einer zugehörigen gespeicherten Zugriffsrichtlinie angegeben wurde.

expiry
datetime oder str
Erforderlich

Der Zeitpunkt, zu dem die Shared Access Signature ungültig wird. Erforderlich, es sei denn, es wird eine ID angegeben, die auf eine gespeicherte Zugriffsrichtlinie verweist, die dieses Feld enthält. Dieses Feld muss ausgelassen werden, wenn es in einer zugehörigen gespeicherten Zugriffsrichtlinie angegeben wurde. Azure konvertiert immer Werte in UTC. Wenn ein Datum ohne Zeitzoneninformationen übergeben wird, wird davon ausgegangen, dass es UTC ist.

start
datetime oder str
Standardwert: None

Der Zeitpunkt, zu dem die Shared Access Signature gültig wird. Wenn Sie diesen Wert weglassen, wird als Startzeit dieses Aufrufs die Uhrzeit verwendet, zu der die Anforderung vom Speicherdienst empfangen wird. Azure konvertiert immer Werte in UTC. Wenn ein Datum ohne Zeitzoneninformationen übergeben wird, wird davon ausgegangen, dass es UTC ist.

ip
str
Standardwert: None

Gibt eine IP-Adresse oder einen Bereich von IP-Adressen an, von denen Anforderungen akzeptiert werden sollen. Wenn die IP-Adresse, von der die Anforderung stammt, nicht mit der IP-Adresse oder dem Adressbereich übereinstimmt, die im SAS-Token angegeben sind, wird die Anforderung nicht authentifiziert. Wenn Sie beispielsweise sip=168.1.5.65 oder sip=168.1.5.60-168.1.5.70 für die SAS angeben, wird die Anforderung auf diese IP-Adressen beschränkt.

protocol
str
Standardwert: None

Gibt das für eine anforderung zulässige Protokoll an. Der Standardwert ist https,http. Unter Protocol finden Sie mögliche Werte.

Gibt zurück

Ein SAS-Token (Shared Access Signature).

Rückgabetyp

str

generate_queue_shared_access_signature

Generiert eine Freigegebene Zugriffssignatur für die Warteschlange. Verwenden Sie die zurückgegebene Signatur mit dem sas_token-Parameter von QueueService.

generate_queue_shared_access_signature(queue_name, permission=None, expiry=None, start=None, id=None, ip=None, protocol=None)

Parameter

queue_name
str
Erforderlich

Der Name der Warteschlange, für die ein SAS-Token erstellt werden soll.

permission
QueuePermissions
Standardwert: None

Die Berechtigungen, die der SAS zugeordnet sind. Der Benutzer ist auf Vorgänge beschränkt, für die er eine Berechtigung besitzt. Erforderlich, es sei denn, es wird eine ID angegeben, die auf eine gespeicherte Zugriffsrichtlinie verweist, die dieses Feld enthält. Dieses Feld muss ausgelassen werden, wenn es in einer zugehörigen gespeicherten Zugriffsrichtlinie angegeben wurde.

expiry
datetime oder str
Standardwert: None

Der Zeitpunkt, zu dem die Shared Access Signature ungültig wird. Erforderlich, es sei denn, es wird eine ID angegeben, die auf eine gespeicherte Zugriffsrichtlinie verweist, die dieses Feld enthält. Dieses Feld muss ausgelassen werden, wenn es in einer zugehörigen gespeicherten Zugriffsrichtlinie angegeben wurde. Azure konvertiert immer Werte in UTC. Wenn ein Datum ohne Zeitzoneninformationen übergeben wird, wird davon ausgegangen, dass es UTC ist.

start
datetime oder str
Standardwert: None

Der Zeitpunkt, zu dem die Shared Access Signature gültig wird. Wenn Sie diesen Wert weglassen, wird als Startzeit dieses Aufrufs die Uhrzeit verwendet, zu der die Anforderung vom Speicherdienst empfangen wird. Azure konvertiert immer Werte in UTC. Wenn ein Datum ohne Zeitzoneninformationen übergeben wird, wird davon ausgegangen, dass es UTC ist.

id
str
Standardwert: None

Ein eindeutiger Wert mit einer Länge von bis zu 64 Zeichen, der mit einer gespeicherten Zugriffsrichtlinie korreliert. Verwenden set_queue_aclSie zum Erstellen einer gespeicherten Zugriffsrichtlinie .

ip
str
Standardwert: None

Gibt eine IP-Adresse oder einen Bereich von IP-Adressen an, von denen Anforderungen akzeptiert werden sollen. Wenn die IP-Adresse, von der die Anforderung stammt, nicht mit der IP-Adresse oder dem Adressbereich übereinstimmt, die im SAS-Token angegeben sind, wird die Anforderung nicht authentifiziert. Wenn Sie beispielsweise sip='168.1.5.65' oder sip='168.1.5.60-168.1.5.70' für die SAS angeben, wird die Anforderung auf diese IP-Adressen beschränkt.

protocol
str
Standardwert: None

Gibt das für eine anforderung zulässige Protokoll an. Der Standardwert ist https,http. Unter Protocol finden Sie mögliche Werte.

Gibt zurück

Ein SAS-Token (Shared Access Signature).

Rückgabetyp

str

get_messages

Ruft eine oder mehrere Nachrichten von der Front der Warteschlange ab.

Wenn eine Nachricht aus der Warteschlange abgerufen wird, enthält die Antwort den Nachrichteninhalt und einen pop_receipt Wert, der zum Löschen der Nachricht erforderlich ist. Die Nachricht wird nicht automatisch aus der Warteschlange gelöscht, aber nach dem Abrufen ist sie für andere Clients für das durch den parameter visibility_timeout angegebene Zeitintervall nicht sichtbar.

Wenn das Feld schlüssel-encryption-key oder resolver für das lokale Dienstobjekt festgelegt ist, werden die Nachrichten vor der Rückgabe entschlüsselt.

get_messages(queue_name, num_messages=None, visibility_timeout=None, timeout=None)

Parameter

queue_name
str
Erforderlich

Der Name der Warteschlange, aus der Nachrichten abgerufen werden sollen.

num_messages
int
Standardwert: None

Ein ganzzahliger Wert ungleich 0 (null), der die Anzahl der Nachrichten angibt, die aus der Warteschlange abgerufen werden sollen; der maximale Wert beträgt 32. Wenn weniger sichtbar sind, werden die sichtbaren Nachrichten zurückgegeben. Standardmäßig wird mit diesem Vorgang eine einzige Nachricht aus der Warteschlange abgerufen.

visibility_timeout
int
Standardwert: None

Gibt den neuen Sichtbarkeitstimeoutwert in Sekunden relativ zur Serverzeit an. Der neue Wert muss größer oder gleich 1 Sekunde sein und darf nicht größer als 7 Tage sein. Das Sichtbarkeitstimeout einer Nachricht kann auf einen Wert festgelegt werden, der nach der Ablaufzeit liegt.

timeout
int
Standardwert: None

Das Servertimeout, ausgedrückt in Sekunden.

Gibt zurück

Ein QueueMessage Objekt, das die übergebenen Informationen darstellt.

Rückgabetyp

get_queue_acl

Gibt Details zu allen gespeicherten Zugriffsrichtlinien zurück, die in der Warteschlange angegeben sind, die mit Shared Access Signatures verwendet werden können.

get_queue_acl(queue_name, timeout=None)

Parameter

queue_name
str
Erforderlich

Der Name einer vorhandenen Warteschlange.

timeout
int
Standardwert: None

Das Servertimeout, ausgedrückt in Sekunden.

Gibt zurück

Ein Wörterbuch mit Zugriffsrichtlinien, die der Warteschlange zugeordnet sind.

Rückgabetyp

get_queue_metadata

Ruft benutzerdefinierte Metadaten und Warteschlangeneigenschaften für die angegebene Warteschlange ab. Metadaten werden der Warteschlange als Name-Wert-Paare zugeordnet.

get_queue_metadata(queue_name, timeout=None)

Parameter

queue_name
str
Erforderlich

Der Name einer vorhandenen Warteschlange.

timeout
int
Standardwert: None

Das Servertimeout, ausgedrückt in Sekunden.

Gibt zurück

Ein Wörterbuch, das die Warteschlangenmetadaten mit einer approximate_message_count int-Eigenschaft für das Diktat darstellt, das die Anzahl der Nachrichten in der Warteschlange schätzt.

Rückgabetyp

get_queue_service_properties

Ruft die Eigenschaften des Warteschlangendiensts eines Speicherkontos ab, einschließlich Protokollierung, Analyse und CORS-Regeln.

get_queue_service_properties(timeout=None)

Parameter

timeout
int
Standardwert: None

Das Servertimeout, ausgedrückt in Sekunden.

Gibt zurück

Die Eigenschaften des Warteschlangendiensts

Rückgabetyp

get_queue_service_stats

Ruft Statistiken zur Replikation für den Warteschlangendienst ab. Sie ist nur verfügbar, wenn die georedundante Replikation mit Lesezugriff für das Speicherkonto aktiviert ist.

Mit der georedundanten Replikation behält der Azure-Speicher Daten an zwei Standorten permanent bei. An beiden Standorten behält der Azure-Speicher mehrere fehlerfreie Replikate der Daten bei. Der Standort, an dem Sie Daten lesen, erstellen, aktualisieren oder löschen, ist der primäre Speicherkontostandort. Der primäre Standort befindet sich in der Region, die Sie zum Zeitpunkt der Erstellung eines Kontos über das klassische Azure Management-Azure-Portal ausgewählt haben, z. B. USA, Norden, Mitte. Als sekundärer Standort wird der Standort bezeichnet, an dem die Daten repliziert werden. Der sekundäre Standort wird automatisch auf Grundlage des primären Standorts ermittelt und befindet sich in einem zweiten Rechenzentrum in derselben Region wie der primäre Standort. Der schreibgeschützte Zugriff ist über den sekundären Standort verfügbar, wenn die georedundante Replikation mit Lesezugriff für das Speicherkonto aktiviert ist.

get_queue_service_stats(timeout=None)

Parameter

timeout
int
Standardwert: None

Der timeout-Parameter wird in Sekunden angegeben.

Gibt zurück

Die Statistiken des Warteschlangendiensts

Rückgabetyp

list_queues

Gibt einen Generator zurück, um die Warteschlangen aufzulisten. Der Generator folgt den vom Dienst zurückgegebenen Fortsetzungstoken und wird beendet, wenn alle Warteschlangen zurückgegeben wurden oder num_results erreicht wurde.

Wenn num_results angegeben ist und das Konto über mehr als diese Anzahl von Warteschlangen verfügt, verfügt der Generator nach Abschluss über ein aufgefülltes next_marker Feld. Dieser Marker kann verwendet werden, um einen neuen Generator zu erstellen, wenn weitere Ergebnisse gewünscht werden.

list_queues(prefix=None, num_results=None, include_metadata=False, marker=None, timeout=None)

Parameter

prefix
str
Standardwert: None

Filtert die Ergebnisse, sodass nur Warteschlangen mit einem Namen zurückgegeben werden, der mit dem angegebenen Präfix beginnt.

num_results
int
Standardwert: None

Die maximale Anzahl von Warteschlangen, die zurückgegeben werden sollen.

include_metadata
bool
Standardwert: False

Gibt an, dass Containermetadaten in der Antwort zurückgegeben werden.

marker
str
Standardwert: None

Ein undurchsichtiges Fortsetzungstoken. Dieser Wert kann aus dem next_marker Feld eines vorherigen Generatorobjekts abgerufen werden, wenn num_results angegeben wurde und der Generator die Aufzählung der Ergebnisse abgeschlossen hat. Wenn angegeben, beginnt dieser Generator mit der Rückgabe von Ergebnissen an dem Punkt, an dem der vorherige Generator angehalten wurde.

timeout
int
Standardwert: None

Das Servertimeout, ausgedrückt in Sekunden. Diese Funktion kann mehrere Aufrufe an den Dienst tätigen. In diesem Fall wird der angegebene Timeoutwert auf jeden einzelnen Aufruf angewendet.

peek_messages

Ruft eine oder mehrere Nachrichten von der Vorderseite der Warteschlange ab, ändert jedoch nicht die Sichtbarkeit der Nachricht.

Es können nur nachrichten abgerufen werden, die sichtbar sind. Wenn eine Nachricht zum ersten Mal mit einem Aufruf von get_messages abgerufen wird, wird ihre dequeue_count-Eigenschaft auf 1 festgelegt. Wenn sie nicht gelöscht und anschließend erneut abgerufen wird, wird die dequeue_count-Eigenschaft erhöht. Der Client bestimmt anhand dieses Werts möglicherweise, wie oft eine Nachricht abgerufen wurde. Beachten Sie, dass ein Aufruf von peek_messages den Wert von DequeueCount nicht erhöht, sondern diesen Wert für den Client zum Lesen zurückgibt.

Wenn das Feld schlüssel-encryption-key oder resolver für das lokale Dienstobjekt festgelegt ist, werden die Nachrichten vor der Rückgabe entschlüsselt.

peek_messages(queue_name, num_messages=None, timeout=None)

Parameter

queue_name
str
Erforderlich

Der Name der Warteschlange, aus der Nachrichten angezeigt werden sollen.

num_messages
int
Standardwert: None

Ein ganzzahliger Wert ungleich 0 (null), der die Anzahl der Nachrichten angibt, die aus der Warteschlange einzusehen sind; der maximale Wert beträgt 32. Standardmäßig wird mit diesem Vorgang eine einzige Nachricht aus der Warteschlange eingesehen.

timeout
int
Standardwert: None

Das Servertimeout, ausgedrückt in Sekunden.

Gibt zurück

Eine Liste von QueueMessage-Objekten. Beachten Sie, dass time_next_visible und pop_receipt nicht aufgefüllt werden, da die Nachricht nicht angezeigt wird und nur bereits sichtbare Nachrichten abgerufen werden können.

Rückgabetyp

put_message

Fügt eine neue Nachricht auf der Rückseite der Nachrichtenwarteschlange hinzu.

Das Sichtbarkeitstimeout gibt die Zeit an, zu der die Nachricht unsichtbar ist. Wenn das Timeout abläuft, wird die Nachricht sichtbar. Wenn kein Sichtbarkeitstimeout angegeben ist, wird der Standardwert 0 verwendet.

Die Gültigkeitsdauer der Nachricht gibt an, wie lange eine Nachricht in der Warteschlange verbleibt. Die Nachricht wird aus der Warteschlange gelöscht, wenn die Gültigkeitsdauer abläuft.

Wenn das Feld schlüssel-encryption-key für das lokale Dienstobjekt festgelegt ist, verschlüsselt diese Methode den Inhalt vor dem Hochladen.

put_message(queue_name, content, visibility_timeout=None, time_to_live=None, timeout=None)

Parameter

queue_name
str
Erforderlich

Der Name der Warteschlange, in die die Nachricht eingefügt werden soll.

content
<xref:obj>
Erforderlich

Nachrichteninhalt. Der zulässige Typ wird durch den encode_function bestimmt, der für den Dienst festgelegt ist. Der Standardwert ist str. Die codierte Nachricht kann bis zu 64 KB groß sein.

visibility_timeout
int
Standardwert: None

Wenn dieser Wert fehlt, wird der Standardwert 0 verwendet. Gibt den neuen Sichtbarkeitstimeoutwert in Sekunden relativ zur Serverzeit an. Der Wert muss größer oder gleich 0 sein und darf nicht größer als 7 Tage sein. Das Sichtbarkeitstimeout einer Nachricht darf nicht auf einen Wert festgelegt werden, der nach der Ablaufzeit liegt. visibility_timeout sollte auf einen Wert festgelegt werden, der kleiner als der Wert für die Laufzeit ist.

time_to_live
int
Standardwert: None

Gibt das Gültigkeitsdauerintervall für die Nachricht in Sekunden an. Die Laufzeit kann eine beliebige positive Zahl oder -1 für unendlich sein. Wenn dieser Parameter nicht angegeben ist, beträgt die Standardgültigkeitsdauer 7 Tage.

timeout
int
Standardwert: None

Das Servertimeout, ausgedrückt in Sekunden.

Gibt zurück

Ein QueueMessage-Objekt. Dieses Objekt wird auch mit dem Inhalt aufgefüllt, obwohl es nicht vom Dienst zurückgegeben wird.

Rückgabetyp

set_proxy

Legt den Host und Port des Proxyservers für http CONNECT Tunnelling fest.

set_proxy(host, port, user=None, password=None)

Parameter

host
str
Erforderlich

Adresse des Proxys. Beispiel: '192.168.0.100'

port
int
Erforderlich

Port des Proxys. Beispiel: 6000

user
str
Standardwert: None

Benutzer für Proxyautorisierung.

password
str
Standardwert: None

Kennwort für die Proxyautorisierung.

set_queue_acl

Legt gespeicherte Zugriffsrichtlinien für die Warteschlange fest, die mit SAS (Shared Access Signature) verwendet werden können.

Wenn Sie Berechtigungen für eine Warteschlange festlegen, werden die vorhandenen Berechtigungen ersetzt. Um die Berechtigungen der Warteschlange zu aktualisieren, rufen Sie get_queue_acl auf, um alle zugriffsrichtlinien abzurufen, die der Warteschlange zugeordnet sind, ändern Sie die Zugriffsrichtlinie, die Sie ändern möchten, und rufen Sie dann diese Funktion mit dem vollständigen Satz von Daten auf, um die Aktualisierung durchzuführen.

Wenn Sie eine gespeicherte Zugriffsrichtlinie für eine Warteschlange einrichten, kann es bis zu 30 Sekunden dauern, bis die Richtlinie angewendet wird. Während dieses Intervalls löst eine Shared Access Signature, die der gespeicherten Zugriffsrichtlinie zugeordnet ist, eine aus <xref:azure.storage.queue.queueservice.AzureHttpError> , bis die Zugriffsrichtlinie aktiv wird.

set_queue_acl(queue_name, signed_identifiers=None, timeout=None)

Parameter

queue_name
str
Erforderlich

Der Name einer vorhandenen Warteschlange.

signed_identifiers
dict(str, AccessPolicy)
Standardwert: None

Ein Wörterbuch mit Zugriffsrichtlinien, die der Warteschlange zugeordnet werden sollen. Das Wörterbuch kann bis zu 5 Elemente enthalten. Ein leeres Wörterbuch löscht die zugriffsrichtlinien, die für den Dienst festgelegt sind.

timeout
int
Standardwert: None

Das Servertimeout, ausgedrückt in Sekunden.

set_queue_metadata

Legt benutzerdefinierte Metadaten für die angegebene Warteschlange fest. Metadaten werden der Warteschlange als Name-Wert-Paare zugeordnet.

set_queue_metadata(queue_name, metadata=None, timeout=None)

Parameter

queue_name
str
Erforderlich

Der Name einer vorhandenen Warteschlange.

metadata
dict
Standardwert: None

Ein Diktat, das Name-Wert-Paare enthält, die der Warteschlange als Metadaten zugeordnet werden sollen.

timeout
int
Standardwert: None

Das Servertimeout, ausgedrückt in Sekunden.

set_queue_service_properties

Legt die Eigenschaften des Warteschlangendiensts eines Speicherkontos fest, einschließlich Azure Storage Analytics. Wenn ein Element (z. B. Protokollierung) als Keine beibehalten wird, werden die vorhandenen Einstellungen für den Dienst für diese Funktionalität beibehalten. Weitere Informationen zu Azure Storage Analytics finden Sie unter https://msdn.microsoft.com/en-us/library/azure/hh343270.aspx.

set_queue_service_properties(logging=None, hour_metrics=None, minute_metrics=None, cors=None, timeout=None)

Parameter

logging
<xref:Logging>
Standardwert: None

Die Protokollierungseinstellungen stellen Anforderungsprotokolle bereit.

hour_metrics
<xref:Metrics>
Standardwert: None

Die Stundenmetrikeneinstellungen bieten eine Zusammenfassung der Anforderungsstatistiken, die nach API in stündliche Aggregate für Warteschlangen gruppiert sind.

minute_metrics
<xref:Metrics>
Standardwert: None

Die Minutenmetrikeneinstellungen stellen Anforderungsstatistiken für jede Minute für Warteschlangen bereit.

cors
list(CorsRule)
Standardwert: None

Sie können bis zu fünf CorsRule-Elemente in die Liste aufnehmen. Wenn eine leere Liste angegeben wird, werden alle CORS-Regeln gelöscht, und CORS wird für den Dienst deaktiviert. Ausführliche Informationen zu CORS-Regeln und Auswertungslogik finden Sie unter https://msdn.microsoft.com/en-us/library/azure/dn535601.aspx.

timeout
int
Standardwert: None

Das Servertimeout, ausgedrückt in Sekunden.

update_message

Updates das Sichtbarkeitstimeout einer Nachricht. Sie können diesen Vorgang auch verwenden, um den Inhalt einer Nachricht zu aktualisieren.

Dieser Vorgang kann verwendet werden, um die Sichtbarkeit einer Warteschlangennachricht kontinuierlich zu erweitern. Diese Funktionalität kann nützlich sein, wenn eine Workerrolle eine Warteschlangennachricht "leasen" soll. Wenn eine Workerrolle beispielsweise get_messages aufruft und erkennt, dass sie mehr Zeit für die Verarbeitung einer Nachricht benötigt, kann sie die Sichtbarkeit der Nachricht kontinuierlich erweitern, bis sie verarbeitet wird. Wenn die Verarbeitung durch die Workerrolle fehlschlägt, wird die Nachricht schließlich wieder sichtbar, und sie kann von einer anderen Workerrolle verarbeitet werden.

Wenn das Feld schlüssel-encryption-key für das lokale Dienstobjekt festgelegt ist, verschlüsselt diese Methode den Inhalt vor dem Hochladen.

update_message(queue_name, message_id, pop_receipt, visibility_timeout, content=None, timeout=None)

Parameter

queue_name
str
Erforderlich

Der Name der Warteschlange, die die zu aktualisierende Nachricht enthält.

message_id
str
Erforderlich

Die Nachrichten-ID, die die zu aktualisierende Nachricht identifiziert.

pop_receipt
str
Erforderlich

Ein gültiger Abrufbestätigungswert, der von einem früheren Aufruf des get_messages-Vorgangs oder des update_message-Vorgangs zurückgegeben wurde.

visibility_timeout
int
Erforderlich

Gibt den neuen Sichtbarkeitstimeoutwert in Sekunden relativ zur Serverzeit an. Der neue Wert muss größer oder gleich 0 sein und darf nicht größer als 7 Tage sein. Das Sichtbarkeitstimeout einer Nachricht darf nicht auf einen Wert festgelegt werden, der nach der Ablaufzeit liegt. Eine Nachricht kann aktualisiert werden, bis sie gelöscht wurde oder abgelaufen ist.

content
<xref:obj>
Standardwert: None

Nachrichteninhalt. Der zulässige Typ wird durch die für den Dienst festgelegte encode_function bestimmt. Der Standardwert ist str.

timeout
int
Standardwert: None

Das Servertimeout, ausgedrückt in Sekunden.

Gibt zurück

Eine Liste von QueueMessage-Objekten. Zur Vereinfachung wird dieses Objekt auch mit dem Inhalt aufgefüllt, obwohl er nicht vom Dienst zurückgegeben wird.

Rückgabetyp

Attribute

protocol

request_session

socket_timeout