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 , , HEAD GET , POST MERGE OPTIONS , und PUT zulä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 sindDELETE
,GET
,HEAD
,MERGE
POST
,OPTIONS
, undPUT
.
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