Festlegen von Warteschlangendiensteigenschaften

Der Set Queue Service Properties Vorgang legt Eigenschaften für den Warteschlangendienstendpunkt eines Speicherkontos fest, einschließlich Eigenschaften für Storage Analytics und CORS-Regeln (Cross-Origin Resource Sharing). Weitere Informationen zu CORS-Regeln finden Sie unter CORS-Unterstützung für die Speicherdienste .

Anforderung

Sie können die Set Queue Service Properties Anforderung wie folgt angeben. Es wird empfohlen, HTTPS zu verwenden. Ersetzen Sie account-name durch den Namen Ihres Speicherkontos:

Methode Anforderungs-URI HTTP-Version
PUT https://account-name.queue.core.windows.net/?restype=service&comp=properties HTTP/1.1

Hinweis

Der URI muss immer einen Schrägstrich (/) enthalten, um den Hostnamen von den Pfad- und Abfrageabschnitten des URI zu trennen. Bei diesem Vorgang ist der Pfadteil des URI leer.

URI-Parameter

Parameter BESCHREIBUNG
restype=service&comp=properties Erforderlich. Die Kombination beider Abfragezeichenfolgen ist erforderlich, um die Eigenschaften des Azure Storage-Diensts festzulegen.
timeout Optional. Der timeout-Parameter wird in Sekunden angegeben. Weitere Informationen finden Sie unter Festlegen von Timeouts für Warteschlangendienstvorgänge.

Anforderungsheader

Die erforderlichen und optionalen Anforderungsheader werden in der folgenden Tabelle beschrieben:

Anforderungsheader BESCHREIBUNG
Authorization Erforderlich. Gibt das Autorisierungsschema, den Namen des Speicherkontos und die Signatur an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage.
Date oder x-ms-date Erforderlich. Gibt die koordinierte Weltzeit (Coordinated Universal Time, UTC) für die Anforderung an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage.
x-ms-version Erforderlich für alle autorisierten Anforderungen. Gibt die Version des für die Anforderung zu verwendenden Vorgangs an. Weitere Informationen finden Sie unter Versionsverwaltung für die Azure-Speicherdienste.
x-ms-client-request-id Optional. Stellt einen vom Client generierten, undurchsichtigen Wert mit einem Zeichenlimit von 1 Kibibyte (KiB) bereit, der in den Protokollen aufgezeichnet wird, wenn die Protokollierung konfiguriert ist. Es wird dringend empfohlen, diesen Header zu verwenden, um clientseitige Aktivitäten mit Anforderungen zu korrelieren, die der Server empfängt. Weitere Informationen finden Sie unter Überwachen von Azure Queue Storage.

Anforderungstext

Bei Version 2012-02-12 und früheren Versionen weist der Anforderungstext folgendes Format auf:

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <Logging>  
        <Version>version-number</Version>  
        <Delete>true|false</Delete>  
        <Read>true|false</Read>  
        <Write>true|false</Write>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </Logging>  
    <Metrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </Metrics>  
</StorageServiceProperties>  

Bei Version 2013-08-15 und höheren Versionen weist der Anforderungstext folgendes Format auf:

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <Logging>  
        <Version>version-number</Version>  
        <Delete>true|false</Delete>  
        <Read>true|false</Read>  
        <Write>true|false</Write>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </Logging>  
    <HourMetrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </HourMetrics>  
    <MinuteMetrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </MinuteMetrics>  
    <Cors>  
        <CorsRule>  
            <AllowedOrigins>comma-separated-list-of-allowed-origins</AllowedOrigins>  
            <AllowedMethods>comma-separated-list-of-HTTP-verb</AllowedMethods>  
            <MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>  
            <ExposedHeaders>comma-seperated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders> comma-seperated-list-of-request-headers </AllowedHeaders>  
        </CorsRule>  
    </Cors>  
</StorageServiceProperties>  

Ab Version 2013-08-15 können Sie mit mindestens einem Stammelement aufrufen Set Queue Service Properties , das im Anforderungstext angegeben ist. Die Stammelemente umfassen:

  • Logging
  • HourMetrics
  • MinuteMetrics
  • Cors

Es ist nicht mehr erforderlich, jedes Stammelement in der Anforderung anzugeben. Wenn Sie ein Stammelement weglassen, werden die vorhandenen Diensteinstellungen für die jeweiligen Funktionen beibehalten. Wenn Sie jedoch ein angegebenes Stammelement angeben, müssen Sie jedes untergeordnete Element für dieses Element angeben.

Die Elemente des Anforderungstexts werden in der folgenden Tabelle beschrieben:

Elementname BESCHREIBUNG
Logging Optional ab Version 2013-08-15. Für frühere Versionen erforderlich. Gruppiert die Storage Analytics Protokollierungseinstellungen.
Metriken Für Version 2012-02-12 und frühere Versionen erforderlich. Gilt nicht für Version 2013-08-15 und höher. Gruppiert die Einstellungen für Storage Analytics Metriken. Die Metrics-Einstellungen stellen eine Zusammenfassung der Anforderungsstatistiken bereit, die in stündlichen Aggregaten für Warteschlangen nach API gruppiert sind.
HourMetrics Optional für Version 2013-08-15 und höher. Gilt nicht für frühere Versionen. Gruppiert die Storage Analytics HourMetrics-Einstellungen. Die HourMetrics-Einstellungen stellen eine Zusammenfassung der Anforderungsstatistiken bereit, die in stündlichen Aggregaten für Warteschlangen nach API gruppiert sind.
MinuteMetrics Optional für Version 2013-08-15 und höher. Gilt nicht für frühere Versionen. Gruppiert die Storage Analytics MinuteMetrics-Einstellungen. Die MinuteMetrics-Einstellungen stellen Anforderungsstatistiken für Warteschlangen im Minutentakt bereit. Für Versionen vor 2013-08-15 ist MinuteMetrics nicht im Antworttext enthalten.
Version Erforderlich, wenn die Einstellungen Logging, Metrics, HourMetrics oder MinuteMetrics angegeben werden. Die Version der zu konfigurierenden Speicheranalyse.
Löschen Erforderlich, wenn die Einstellungen Logging, Metrics, HourMetrics oder MinuteMetrics angegeben werden. Gilt nur für die Protokollierungskonfiguration. Gibt an, ob alle Löschanforderungen protokolliert werden sollen.
Lesen Erforderlich, wenn die Einstellungen Logging, Metrics, HourMetrics oder MinuteMetrics angegeben werden. Gilt nur für die Protokollierungskonfiguration. Gibt an, ob alle Leseanforderungen protokolliert werden sollen.
Schreiben Erforderlich, wenn die Einstellungen Logging, Metrics, HourMetrics oder MinuteMetrics angegeben werden. Gilt nur für die Protokollierungskonfiguration. Gibt an, ob alle Schreibanforderungen protokolliert werden sollen.
Aktiviert Erforderlich. Gibt an, ob Metriken für den Warteschlangendienst aktiviert sind.

Wenn die georedundante Replikation mit Lesezugriff aktiviert ist, werden sowohl primäre als auch sekundäre Metriken gesammelt. Wenn die georedundante Replikation mit Lesezugriff nicht aktiviert ist, werden nur primäre Metriken erfasst.
IncludeAPIs Nur erforderlich, wenn Metriken aktiviert sind. Gilt nur für die Konfiguration von Metriken. Gibt an, ob Metriken Zusammenfassungsstatistiken für aufgerufene API-Vorgänge generieren sollen.
Aufbewahrungsrichtlinie/Aktiviert Erforderlich. Gibt an, ob eine Beibehaltungsrichtlinie für den Speicherdienst aktiviert ist.
Aufbewahrungsrichtlinie/Tage Nur erforderlich, wenn eine Beibehaltungsrichtlinie aktiviert ist. Gibt die Anzahl von Tagen an, für die Metrik- oder Protokollierungsdaten beibehalten werden sollen. Alle Daten, die älter als dieser Wert sind, werden gelöscht. Der Mindestwert, den Sie angeben können, ist 1, und der Höchstwert ist 365 (ein Jahr).
Cors Optional. Das Cors-Element wird ab Version 2013-08-15 unterstützt. Gruppiert alle CORS-Regeln.

Wenn diese Elementgruppe weggelassen wird, werden keine vorhandenen CORS-Einstellungen überschrieben.
CorsRule Optional. Gibt eine CORS-Regel für den Warteschlangendienst an. Sie können bis zu fünf CorsRule-Elemente in die Anforderung einschließen. Wenn keine CorsRule-Elemente im Anforderungstext enthalten sind, werden alle CORS-Regeln gelöscht, und CORS wird für den Warteschlangendienst deaktiviert.
AllowedOrigins Erforderlich, wenn das CorsRule-Element vorhanden ist. Eine durch Trennzeichen getrennte Liste von Ursprungsdomänen, die über CORS zulässig sind, oder "*", falls alle Domänen zulässig sind. Eine Ursprungsdomäne kann auch ein Platzhalterzeichen in der Unterdomäne enthalten, um Anforderungen über CORS für alle Unterdomänen einer Domäne zuzulassen. Auf 64 Ursprungsdomänen begrenzt. Jede zulässige Ursprungsdomäne darf bis zu 256 Zeichen aufweisen.
ExposedHeaders Erforderlich, wenn das CorsRule-Element vorhanden ist. Eine durch Trennzeichen getrennte Liste mit Antwortheadern, die für CORS-Clients verfügbar gemacht werden sollen. Auf 64 definierte Header und zwei Header mit Präfix begrenzt. Jeder Header kann bis zu 256 Zeichen enthalten.
MaxAgeInSeconds Erforderlich, wenn das CorsRule-Element vorhanden ist. Gibt an, wie viele Sekunden eine Preflight-Antwort vom Client/Browser zwischengespeichert werden soll.
AllowedHeaders Erforderlich, wenn das CorsRule-Element vorhanden ist. Eine durch Trennzeichen getrennte Liste mit Headern, die als Teil der ursprungsübergreifenden Anforderung zulässig sind. Auf 64 definierte Header und zwei Header mit Präfix begrenzt. Jeder Header kann bis zu 256 Zeichen enthalten.
AllowedMethods Erforderlich, wenn das CorsRule-Element vorhanden ist. Eine durch Trennzeichen getrennte Liste von HTTP-Methoden, die vom Ursprung ausgeführt werden dürfen. Für Azure Storage sind DELETEzulässige Methoden , , GETHEAD, MERGEPOST, OPTIONS, oder PUT.

Antwort

Die Antwort enthält den HTTP-Statuscode und einen Satz von Antwortheadern.

Statuscode

Ein erfolgreicher Vorgang gibt den Statuscode 202 (Akzeptiert) zurück.

Antwortheader

Die Antwort für diesen Vorgang umfasst die folgenden Header. Die Antwort kann außerdem weitere HTTP-Standardheader enthalten. Alle Standardheader entsprechen der HTTP/1.1-Protokollspezifikation.

Antwortheader BESCHREIBUNG
x-ms-request-id Identifiziert eindeutig eine Anforderung, die an den Dienst gestellt wird.
x-ms-version Gibt die Version des Vorgangs an, der für die Antwort verwendet wurde. Weitere Informationen finden Sie unter Versionsverwaltung für die Azure-Speicherdienste.
x-ms-client-request-id Kann zur Problembehandlung von Anforderungen und entsprechenden Antworten verwendet werden. Der Wert dieses Headers ist gleich dem Wert des x-ms-client-request-id Headers, wenn er in der Anforderung vorhanden ist und der Wert nicht mehr als 1.024 sichtbare ASCII-Zeichen enthält. Wenn der x-ms-client-request-id Header in der Anforderung nicht vorhanden ist, ist er in der Antwort nicht vorhanden.

Antworttext

Keine.

Authorization

Dieser Vorgang kann nur vom Kontobesitzer aufgerufen werden.

Hinweise

Für CORS-Regeln im Azure-Speicher gelten die folgenden Einschränkungen:

  • Es können maximal fünf Regeln gespeichert werden.

  • Die maximale Größe aller CORS-Regeleinstellungen für die Anforderung (mit Ausnahme von XML-Tags) sollte 2 KiB nicht überschreiten.

  • Die Länge eines zulässigen Headers oder Ursprungs bzw. eines verfügbar gemachten Headers sollte maximal 256 Zeichen betragen.

  • Zulässige Header und verfügbar gemachte Header können eine der folgenden Sein:

    • Literale Header, bei denen der genaue Headername angegeben ist, z. B. x-ms-meta-processed. In der Anforderung können maximal 64 literale Header angegeben werden.

    • Header mit Präfix, bei denen ein Präfix des Headers angegeben ist, z. B. x-ms-meta-data*. Die Angabe eines Präfixes auf diese Weise ermöglicht oder macht jeden Header verfügbar, der mit dem angegebenen Präfix beginnt. In der Anforderung können maximal zwei Header mit Präfix angegeben werden.

  • Die im AllowedMethods -Element angegebenen Methoden (oder HTTP-Verben) müssen den Methoden entsprechen, die von den Azure Storage-Dienst-APIs unterstützt werden. Unterstützte Methoden sind DELETE, GET, HEAD, MERGEPOST, OPTIONS, und PUT.

Optional können CORS-Regeln für die Anforderung angegeben werden. Wenn Sie aufrufen Set Queue Service Properties , ohne das Cors-Element im Anforderungstext anzugeben, werden alle vorhandenen CORS-Regeln beibehalten.

Um CORS zu deaktivieren, rufen Sie Set Queue Service Properties mit leeren CORS-Regeleinstellungen (d. h. *</Cors>) und ohne interne CORS-Regeln auf. Dieser Aufruf löscht alle vorhandenen Regeln und deaktiviert CORS für den Warteschlangendienst.

Alle CORS-Regelelemente sind erforderlich, wenn das CorsRule-Element angegeben wird. Die Anforderung schlägt mit dem Fehlercode 400 (Bad Request) fehl, wenn ein Element fehlt.

Ab Version 2013-08-15 sind XML-Einstellungselemente optional, sodass Sie ein bestimmtes Element aktualisieren können, indem Sie eine XML senden, die nur das aktualisierte Element enthält. Andere Einstellungen sind nicht betroffen.

Ausführliche Informationen zu CORS-Regeln und der Auswertungslogik finden Sie unter CORS-Unterstützung für die Azure Storage-Dienste.

Beispielanforderung und -antwort

Der folgende Beispiel-URI sendet eine Anforderung, um die Eigenschaften des Warteschlangendiensts für ein fiktives Speicherkonto namens myaccount zu ändern:

PUT https://myaccount.queue.core.windows.net/?restype=service&comp=properties HTTP/1.1  

Die Anforderung wird mit den folgenden Headern gesendet;

x-ms-version: 2013-08-15  
x-ms-date: Wed, 23 Oct 2013 04:28:19 GMT  
Authorization: SharedKey  
myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=  
Host: myaccount.queue.core.windows.net  

Die Anforderung wird mit dem folgenden XML-Text gesendet:

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <Logging>  
        <Version>1.0</Version>  
        <Delete>true</Delete>  
        <Read>false</Read>  
        <Write>true</Write>  
        <RetentionPolicy>  
            <Enabled>true</Enabled>  
            <Days>7</Days>  
        </RetentionPolicy>  
    </Logging>  
    <HourMetrics>  
        <Version>1.0</Version>  
        <Enabled>true</Enabled>  
        <IncludeAPIs>false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true</Enabled>  
            <Days>7</Days>  
        </RetentionPolicy>  
    </HourMetrics>  
    <MinuteMetrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </MinuteMetrics>  
    <Cors>  
        <CorsRule>  
            <AllowedOrigins> http://www.fabrikam.com,http://www.contoso.com</AllowedOrigins>  
            <AllowedMethods>GET,PUT</AllowedMethods>  
            <MaxAgeInSeconds>500</MaxAgeInSeconds>  
            <ExposedHeaders>x-ms-meta-data*,x-ms-meta-customheader</ExposedHeaders>  
            <AllowedHeaders>x-ms-meta-target*,x-ms-meta-customheader</AllowedHeaders>  
        </CorsRule>  
    </Cors>  
</StorageServiceProperties>  
  

Nachdem die Anforderung gesendet wurde, wird die folgende Antwort zurückgegeben:

HTTP/1.1 202 Accepted  
Connection: Keep-Alive  
Transfer-Encoding: chunked  
Date: Wed, 23 Oct 2013 04:28:20 GMT  
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: cb939a31-0cc6-49bb-9fe5-3327691f2a30  
x-ms-version: 2013-08-15  
  

Weitere Informationen

CORS-Unterstützung für die Azure Storage-Dienste
CORS HTTP-Spezifikation