Festlegen von Tabellendiensteigenschaften

Der Set Table Service Properties Vorgang legt Eigenschaften für den Azure Table Storage-Endpunkt 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 Azure Storage-Dienste.

Anforderung

Sie können die Set Table Service Properties Anforderung wie folgt angeben. Wir empfehlen HTTPS. Ersetzen Sie account-name durch den Namen Ihres Speicherkontos.

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

Beachten Sie, dass der URI immer einen Schrägstrich (/) enthalten muss, um den Hostnamen vom Pfad- und Abfrageteil des URIs zu trennen. Bei diesem Vorgang ist der Pfadteil des URIs leer.

URI-Parameter

URI-Parameter Beschreibung
restype=service&comp=properties Erforderlich. Die Kombination beider Abfragezeichenfolgen ist erforderlich, um die Eigenschaften für den Azure Storage-Dienst festzulegen.
timeout Optional. Der timeout-Parameter wird in Sekunden angegeben.

Anforderungsheader

In der folgenden Tabelle werden erforderliche und optionale Anforderungsheader 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 beim Konfigurieren der Protokollierung in den Protokollen aufgezeichnet wird. Es wird dringend empfohlen, diesen Header zu verwenden, um clientseitige Aktivitäten mit Anforderungen zu korrelieren, die der Server empfängt.

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-separated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders> comma-separated-list-of-request-headers </AllowedHeaders>  
        </CorsRule>  
    </Cors>  
</StorageServiceProperties>  

Ab Version 2013-08-15 können Sie Set Table Service Properties mit einem oder mehreren, im Anforderungstext angegebenen Stammelementen aufrufen. Die Stammelemente umfassen:

  • Logging

  • HourMetrics

  • MinuteMetrics

  • Cors

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

In der folgenden Tabelle werden die Elemente des Anforderungstexts beschrieben:

Elementname BESCHREIBUNG
Logging Optional für Version 2013-08-15 und höher. Für frühere Versionen erforderlich. Gruppiert die Storage Analytics-EinstellungenLogging.
Metrics Für Version 2012-02-12 und frühere Versionen erforderlich. Gilt nicht für Version 2013-08-15 und höher. Gruppiert die Storage Analytics-EinstellungenMetrics. Die Metrics-Einstellungen stellen eine Zusammenfassung der Anforderungsstatistiken bereit, die in stündlichen Aggregaten für Tabellen 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-EinstellungenHourMetrics. Die HourMetrics-Einstellungen stellen eine Zusammenfassung der Anforderungsstatistiken bereit, die in stündlichen Aggregaten für Tabellen 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-EinstellungenMinuteMetrics. Die MinuteMetrics-Einstellungen stellen Anforderungsstatistiken für Tabellen im Minutentakt bereit. Bei Versionen vor 2013-08-15 wird MinuteMetrics nicht in den Antworttext eingeschlossen.
Version Erforderlich. Gibt die zu konfigurierende Version von Storage Analytics an.
Delete Erforderlich. Gilt nur für die Protokollierungskonfiguration. Gibt an, ob alle Löschanforderungen protokolliert werden sollen.
Read Erforderlich. Gilt nur für die Protokollierungskonfiguration. Gibt an, ob alle Leseanforderungen protokolliert werden sollen.
Write Erforderlich. Gilt nur für die Protokollierungskonfiguration. Gibt an, ob alle Schreibanforderungen protokolliert werden sollen.
Enabled Erforderlich. Gibt an, ob Metriken für den Azure Storage-Dienst 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 gesammelt.
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.
RetentionPolicy/Enabled Erforderlich. Gibt an, ob eine Aufbewahrungsrichtlinie für den Azure Storage-Dienst aktiviert ist.
RetentionPolicy/Days 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. Der größte Wert ist 365 (ein Jahr).
Cors Optional. Unterstützt ab Version 2013-08-15. Gruppiert alle CORS-Regeln.

Wenn diese Elementgruppe weggelassen wird, werden keine vorhandenen CORS-Einstellungen überschrieben.
CorsRule Optional. Gibt eine CORS-Regel für Table Storage an. In der Anforderung können bis zu fünf CorsRule-Elemente enthalten sein. Wenn keine CorsRule Elemente im Anforderungstext enthalten sind, werden alle CORS-Regeln gelöscht, und CORS wird für Tabellenspeicher deaktiviert.
AllowedOrigins Erforderlich, wenn das CorsRule-Element vorhanden ist. Stellt eine durch Trennzeichen getrennte Liste von Ursprungsdomänen bereit, die über CORS zugelassen werden oder * enthält, um alle Domänen zuzulassen. 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. Stellt eine durch Trennzeichen getrennte Liste von Antwortheadern bereit, 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 umfassen.
MaxAgeInSeconds Erforderlich, wenn das CorsRule Element vorhanden ist. Gibt die Anzahl der Sekunden an, die der Client oder Browser eine Preflightantwort zwischenspeichern soll.
AllowedHeaders Erforderlich, wenn das CorsRule Element vorhanden ist. Stellt eine durch Trennzeichen getrennte Liste von Headern bereit, die Teil der ursprungsübergreifenden Anforderung sein dürfen. Auf 64 definierte Header und zwei Header mit Präfix begrenzt. Jeder Header kann bis zu 256 Zeichen umfassen.
AllowedMethods Erforderlich, wenn das CorsRule Element vorhanden ist. Stellt eine durch Trennzeichen getrennte Liste von HTTP-Methoden bereit, die vom Ursprung ausgeführt werden dürfen. Für Azure Storage sind DELETE, , HEADGET, POSTMERGEOPTIONS, und PUTzulässige Methoden.

Antwort

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

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 auch zusätzliche HTTP-Standardheader enthalten. Alle Standardheader entsprechen der HTTP/1.1-Protokollspezifikation.

Antwortheader BESCHREIBUNG
x-ms-request-id Gibt einen Wert an, der eine Anforderung für den Dienst eindeutig identifiziert.
x-ms-version Gibt die Version des für die Antwort verwendeten Vorgangs an. 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 höchstens 1.024 sichtbare ASCII-Zeichen umfasst. Wenn der x-ms-client-request-id Header in der Anforderung nicht vorhanden ist, ist dieser Header in der Antwort nicht vorhanden.

Antworttext

Keine.

Authorization

Nur der Kontobesitzer kann diesen Vorgang aufrufen.

Hinweise

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

  • Sie können maximal fünf Regeln speichern.

  • Die maximale Größe aller CORS-Regeleinstellungen in der 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 wie folgt sein:

    • Literalheader, bei denen der genaue Headername angegeben wird, z x-ms-meta-processed. B. . Sie können maximal 64 Literalheader für die Anforderung angeben.

    • Präfixierte Header, bei denen ein Präfix des Headers bereitgestellt wird, z x-ms-meta-data\. B. . Die Angabe eines Präfixes auf diese Weise ermöglicht oder macht jeden Header verfügbar, der mit diesem Präfix beginnt. Sie können maximal zwei Präfixheader für die Anforderung angeben.

  • 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 Set Table Service Properties aufrufen, ohne das Cors-Element im Anforderungstext anzugeben, werden alle vorhandenen CORS-Regeln beibehalten.

Um CORS zu deaktivieren, rufen Sie Set Table Service Properties mit leeren CORS-Regeleinstellungen (z. B. </Cors>) und ohne interne CORS-Regeln auf. Dieser Aufruf löscht alle vorhandenen Regeln und deaktiviert CORS für Table Storage.

Alle CORS-Regelelemente sind erforderlich, wenn Sie das CorsRule -Element angeben. Wenn ein Element fehlt, schlägt die Anforderung mit dem Fehlercode 400 (Ungültige Anforderung) fehl.

Ab Version 2013-08-15 sind Elemente für XML-Einstellungen optional. Sie können ein bestimmtes Element aktualisieren, indem Sie XML senden, das nur das aktualisierte Element enthält und sich nicht auf andere Einstellungen auswirkt.

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 zum Ändern der Tabellenspeichereigenschaften für das fiktive Speicherkonto mit dem Namen myaccount:

PUT https://myaccount.table.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: Mon, 21 Oct 2013 04:38:23 GMT  
Authorization: SharedKey  
myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=  
Host: myaccount.table.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>1.0</Version>  
        <Enabled>true</Enabled>  
        <IncludeAPIs>true</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true</Enabled>  
            <Days>7</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: Mon, 21 Oct 2013 04:38:24 GMT  
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: cb939a31-0cc6-49bb-9fe5-3327691f2a30  
x-ms-version: 2013-08-15  
  

Weitere Informationen