Udostępnij za pośrednictwem


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, MERGEHEAD, 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 to DELETE, , GET, MERGEHEAD, POST, , OPTIONSi PUT.

Określanie reguł CORS dla żądania jest opcjonalne. Jeśli wywołasz metodę Set Table Service PropertiesCors 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  
  

Zobacz też