Ustawianie właściwości usługi Table Service
Operacja Set Table Service Properties
ustawia właściwości punktu końcowego usługi Azure Table Storage konta magazynu, w tym właściwości dla reguł analityka magazynu i współużytkowania zasobów między źródłami (CORS). Aby uzyskać więcej informacji na temat reguł CORS, zobacz Obsługa mechanizmu CORS dla usług Azure Storage.
Żądanie
Żądanie można określić Set Table Service Properties
w następujący sposób. Zalecamy użycie protokołu HTTPS. Zastąp ciąg account-name nazwą konta magazynu.
Metoda | Identyfikator URI żądania | Wersja PROTOKOŁU HTTP |
---|---|---|
PUT | https://account-name.table.core.windows.net/?restype=service&comp=properties |
HTTP/1.1 |
Należy pamiętać, że identyfikator URI musi zawsze zawierać ukośnik (/), aby oddzielić nazwę hosta od ścieżki i fragmentów zapytania identyfikatora URI. W przypadku tej operacji część ścieżki identyfikatora URI jest pusta.
Parametry identyfikatora URI
Parametr identyfikatora URI | Opis |
---|---|
restype=service&comp=properties |
Wymagane. Kombinacja obu ciągów zapytania jest wymagana do ustawienia właściwości usługi Azure Storage. |
timeout |
Opcjonalny. Parametr jest wyrażony timeout w sekundach. |
Nagłówki żądań
W poniższej tabeli opisano wymagane i opcjonalne nagłówki żądań:
Nagłówek żądania | Opis |
---|---|
Authorization |
Wymagane. Określa schemat autoryzacji, nazwę konta magazynu i podpis. Aby uzyskać więcej informacji, zobacz Autoryzowanie żądań do usługi Azure Storage. |
Date lub x-ms-date |
Wymagane. Określa dla żądania godzinę w formacie uniwersalnego czasu koordynowanego (UTC). Aby uzyskać więcej informacji, zobacz Autoryzowanie żądań do usługi Azure Storage. |
x-ms-version |
Wymagane dla wszystkich autoryzowanych żądań. Określa wersję operacji do użycia dla tego żądania. Aby uzyskać więcej informacji, zobacz Przechowywanie wersji dla usług Azure Storage. |
x-ms-client-request-id |
Opcjonalny. Zapewnia nieprzezroczystą wartość wygenerowaną przez klienta z limitem znaków 1-kibibyte (KiB) rejestrowanym w dziennikach podczas konfigurowania rejestrowania. Zdecydowanie zalecamy używanie tego nagłówka do korelowania działań po stronie klienta z żądaniami odbieranymi przez serwer. |
Treść żądania
W przypadku wersji 2012-02-12 i starszych format treści żądania jest następujący:
<?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>
W przypadku wersji 2013-08-15 lub nowszej format treści żądania jest następujący:
<?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>
Począwszy od wersji 2013-08-15, można wywołać Set Table Service Properties
metodę z co najmniej jednym elementem głównym określonym w treści żądania. Elementy główne obejmują:
Logging
HourMetrics
MinuteMetrics
Cors
Nie trzeba już określać każdego elementu głównego w żądaniu. Jeśli pominięto element główny, istniejące ustawienia usługi dla tej funkcji zostaną zachowane. Jeśli jednak określisz element główny, musisz określić każdy element podrzędny dla tego elementu.
W poniższej tabeli opisano elementy treści żądania:
Nazwa elementu | Opis |
---|---|
Logging |
Opcjonalnie w wersji 2013-08-15 lub nowszej. Wymagane dla wcześniejszych wersji. Grupuje ustawienia analityka magazynuLogging . |
Metrics |
Wymagane w wersji 2012-02-12 i starszych. Nie dotyczy wersji 2013-08-15 lub nowszej. Grupuje ustawienia analityka magazynuMetrics . Ustawienia Metrics zawierają podsumowanie statystyk żądań pogrupowanych według interfejsu API w agregacjach godzinowych dla tabel. |
HourMetrics |
Opcjonalnie w wersji 2013-08-15 lub nowszej. Nie dotyczy wcześniejszych wersji. Grupuje ustawienia analityka magazynuHourMetrics . Ustawienia HourMetrics zawierają podsumowanie statystyk żądań pogrupowanych według interfejsu API w agregacjach godzinowych dla tabel. |
MinuteMetrics |
Opcjonalnie w wersji 2013-08-15 lub nowszej. Nie dotyczy wcześniejszych wersji. Grupuje ustawienia analityka magazynuMinuteMetrics . Ustawienia MinuteMetrics zapewniają statystyki żądań dla każdej minuty dla tabel. W przypadku wersji starszych niż 2013-08-15 MinuteMetrics nie jest uwzględniana w treści odpowiedzi. |
Version |
Wymagane. Wskazuje wersję analityka magazynu do skonfigurowania. |
Delete |
Wymagane. Dotyczy tylko konfiguracji rejestrowania. Wskazuje, czy wszystkie żądania usuwania powinny być rejestrowane. |
Read |
Wymagane. Dotyczy tylko konfiguracji rejestrowania. Wskazuje, czy wszystkie żądania odczytu powinny być rejestrowane. |
Write |
Wymagane. Dotyczy tylko konfiguracji rejestrowania. Wskazuje, czy wszystkie żądania zapisu powinny być rejestrowane. |
Enabled |
Wymagane. Wskazuje, czy metryki są włączone dla usługi Azure Storage. Jeśli włączono replikację geograficznie nadmiarową z dostępem do odczytu, zbierane są zarówno metryki podstawowe, jak i pomocnicze. Jeśli replikacja geograficznie nadmiarowa z dostępem do odczytu nie jest włączona, zbierane są tylko podstawowe metryki. |
IncludeAPIs |
Wymagane tylko wtedy, gdy metryki są włączone. Dotyczy tylko konfiguracji metryk. Wskazuje, czy metryki powinny generować statystyki podsumowania dla wywoływanych operacji interfejsu API. |
RetentionPolicy/Enabled |
Wymagane. Wskazuje, czy zasady przechowywania są włączone dla usługi Azure Storage. |
RetentionPolicy/Days |
Wymagane tylko w przypadku włączenia zasad przechowywania. Wskazuje liczbę dni przechowywania metryk lub danych rejestrowania. Wszystkie dane starsze niż ta wartość zostaną usunięte. Minimalna wartość, którą można określić, to 1 . Największa wartość to 365 (jeden rok). |
Cors |
Opcjonalny. Obsługiwane w wersji 2013-08-15 lub nowszej. Grupuje wszystkie reguły CORS. Pominięcie tej grupy elementów nie spowoduje zastąpienia istniejących ustawień mechanizmu CORS. |
CorsRule |
Opcjonalny. Określa regułę CORS dla usługi Table Storage. W żądaniu można uwzględnić maksymalnie pięć elementów CorsRule . Jeśli w treści żądania nie zostaną uwzględnione żadne CorsRule elementy, wszystkie reguły CORS zostaną usunięte, a mechanizm CORS zostanie wyłączony dla usługi Table Storage. |
AllowedOrigins |
Wymagane, jeśli CorsRule element jest obecny. Zawiera rozdzieloną przecinkami listę domen pochodzenia, które będą dozwolone za pośrednictwem mechanizmu CORS lub zawiera * informacje umożliwiające zezwolenie na wszystkie domeny. Domena źródła może również zawierać symbol wieloznaczny w poddomenie, aby zezwolić na żądania za pośrednictwem mechanizmu CORS dla wszystkich domen podrzędnych domeny. Ograniczone do 64 domen pochodzenia. Każde dozwolone źródło może mieć maksymalnie 256 znaków. |
ExposedHeaders |
Wymagane, CorsRule jeśli element jest obecny. Udostępnia rozdzieloną przecinkami listę nagłówków odpowiedzi, które można uwidocznić klientom MECHANIZMU CORS. Ograniczone do 64 zdefiniowanych nagłówków i dwóch prefiksów nagłówków. Każdy nagłówek może mieć maksymalnie 256 znaków. |
MaxAgeInSeconds |
Wymagane, CorsRule jeśli element jest obecny. Wskazuje liczbę sekund, przez którą klient lub przeglądarka powinna buforować odpowiedź wstępną. |
AllowedHeaders |
Wymagane, jeśli CorsRule element istnieje. Zawiera rozdzielaną przecinkami listę nagłówków, które mogą być częścią żądania między źródłami. Ograniczone do 64 zdefiniowanych nagłówków i 2 prefiksów nagłówków. Każdy nagłówek może mieć maksymalnie 256 znaków. |
AllowedMethods |
Wymagane, jeśli CorsRule element istnieje. Zawiera rozdzielaną przecinkami listę metod HTTP, które mogą być wykonywane przez źródło. W przypadku usługi Azure Storage dozwolone metody to DELETE , , GET , MERGE HEAD , POST , OPTIONS , i PUT . |
Reakcja
Odpowiedź zawiera kod stanu HTTP, zestaw nagłówków odpowiedzi i treść odpowiedzi.
Kod stanu
Operacja zakończona powodzeniem zwraca kod stanu 202 (Zaakceptowano).
Nagłówki odpowiedzi
Odpowiedź na tę operację zawiera następujące nagłówki. Odpowiedź może również zawierać dodatkowe standardowe nagłówki HTTP. Wszystkie standardowe nagłówki są zgodne ze specyfikacją protokołu HTTP/1.1.
Nagłówek odpowiedzi | Opis |
---|---|
x-ms-request-id |
Określa wartość, która jednoznacznie identyfikuje żądanie wykonane względem usługi. |
x-ms-version |
Określa wersję operacji używanej dla odpowiedzi. Aby uzyskać więcej informacji, zobacz Przechowywanie wersji dla usług Azure Storage. |
x-ms-client-request-id |
Może służyć do rozwiązywania problemów z żądaniami i odpowiadającymi odpowiedziami. Wartość tego nagłówka jest równa wartości nagłówka x-ms-client-request-id , jeśli jest obecna w żądaniu, a wartość wynosi najwyżej 1024 widoczne znaki ASCII.
x-ms-client-request-id Jeśli nagłówek nie istnieje w żądaniu, ten nagłówek nie będzie obecny w odpowiedzi. |
Treść odpowiedzi
Brak.
Autoryzacja
Tylko właściciel konta może wywołać tę operację.
Uwagi
Następujące ograniczenia i ograniczenia dotyczą reguł CORS w usłudze Azure Storage:
Można przechowywać maksymalnie pięć reguł.
Maksymalny rozmiar wszystkich ustawień reguły CORS dla żądania, z wyłączeniem tagów XML, nie powinien przekraczać 2 KiB.
Długość dozwolonego nagłówka, uwidocznionego nagłówka lub dozwolonego źródła nie powinna przekraczać 256 znaków.
Dozwolone nagłówki i uwidocznione nagłówki mogą być następujące:
Nagłówki literałów, w których podano dokładną nazwę nagłówka, na przykład
x-ms-meta-processed
. W żądaniu można określić maksymalnie 64 nagłówki literału.Prefiksy nagłówków, w których podano prefiks nagłówka, na przykład
x-ms-meta-data\
. Określenie prefiksu w ten sposób umożliwia lub uwidacznia dowolny nagłówek rozpoczynający się od tego prefiksu. W żądaniu można określić maksymalnie dwa prefiksy nagłówków.
Metody (lub czasowniki HTTP) określone w elemecie
AllowedMethods
muszą być zgodne z metodami obsługiwanymi przez interfejsy API usługi Azure Storage. Obsługiwane metody toDELETE
, ,GET
,MERGE
HEAD
,POST
, ,OPTIONS
iPUT
.
Określanie reguł CORS dla żądania jest opcjonalne. Jeśli wywołasz metodę Set Table Service Properties
Cors
bez określenia elementu w treści żądania, zostaną zachowane wszelkie istniejące reguły CORS.
Aby wyłączyć mechanizm CORS, wywołaj metodę Set Table Service Properties
z pustymi ustawieniami reguł CORS (na przykład </Cors>
) i bez wewnętrznych reguł CORS. To wywołanie usuwa wszystkie istniejące reguły i wyłącza mechanizm CORS dla usługi Table Storage.
Wszystkie elementy reguły CORS są wymagane, jeśli określisz CorsRule
element. Jeśli brakuje dowolnego elementu, żądanie zakończy się niepowodzeniem z kodem błędu 400 (Nieprawidłowe żądanie).
Począwszy od wersji 2013-08-15, elementy ustawień XML są opcjonalne. Można zaktualizować określony element, wysyłając kod XML zawierający tylko zaktualizowany element i nie ma wpływu na inne ustawienia.
Aby uzyskać szczegółowe informacje na temat reguł CORS i logiki oceny, zobacz Obsługa mechanizmu CORS dla usług Azure Storage.
Przykładowe żądanie i odpowiedź
Następujący przykładowy identyfikator URI wysyła żądanie zmiany właściwości usługi Table Storage dla fikcyjnego konta magazynu o nazwie myaccount:
PUT https://myaccount.table.core.windows.net/?restype=service&comp=properties HTTP/1.1
Żądanie jest wysyłane z następującymi nagłówkami:
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
Żądanie jest wysyłane z następującą treścią XML:
<?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>
Po wysłaniu żądania zostanie zwrócona następująca odpowiedź:
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