Ustawianie właściwości usługi Table Service

Operacja Set Table Service Properties ustawia właściwości punktu końcowego usługi table service konta magazynu, w tym właściwości reguł analityka magazynu i CORS (współużytkowanie zasobów między źródłami). Aby uzyskać więcej informacji na temat reguł CORS, zobacz Obsługa mechanizmu CORS dla usług Storage.

Żądanie

Żądanie Set Table Service Properties można określić w następujący sposób. Zalecane jest użycie protokołu HTTPS. Zastąp wartość <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 magazynu.
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 usług Azure Storage Services.
x-ms-client-request-id Opcjonalny. Udostępnia nieprzezroczystą wartość wygenerowaną przez klienta z limitem 1 znaków KiB rejestrowanym w dziennikach analitycznych po włączeniu rejestrowania analizy magazynu. Używanie tego nagłówka jest wysoce zalecane do korelowania działań po stronie klienta z żądaniami odebranymi przez serwer. Aby uzyskać więcej informacji, zobacz About analityka magazynu Logging and Azure Logging: Using Logs to Track Storage Requests (Informacje o rejestrowaniu analityka magazynu i rejestrowaniu platformy Azure: używanie dzienników do śledzenia żądań Storage).

Treść żądania

W przypadku wersji 2012-02-12 i starszej 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 i 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-seperated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders> comma-seperated-list-of-request-headers </AllowedHeaders>  
        </CorsRule>  
    </Cors>  
</StorageServiceProperties>  

Począwszy od wersji 2013-08-15, można wywołać co Set Table Service Properties najmniej jeden element główny określony w treści żądania. Elementy główne obejmują:

  • Rejestrowanie

  • Metryki godzin

  • Metryki minut

  • 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 dany 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
Rejestrowanie Opcjonalnie, począwszy od wersji 2013-08-15. Wymagane dla wcześniejszych wersji. Grupuje ustawienia rejestrowania usługi Azure Analytics.
Metryki Wymagane w wersji 2012-02-12 i starszej. Nie dotyczy wersji 2013-08-15 lub nowszej. Grupuje ustawienia metryk usługi Azure Analytics. Ustawienia metryk zawierają podsumowanie statystyk żądań pogrupowanych według interfejsu API w agregacjach godzinowych dla tabel.
Metryki godzin Opcjonalnie dla wersji 2013-08-15 lub nowszej; nie dotyczy wcześniejszych wersji. Grupuje ustawienia usługi Azure Analytics HourMetrics . Ustawienia HourMetrics zawierają podsumowanie statystyk żądań pogrupowanych według interfejsu API w agregacjach godzinowych dla tabel.
Metryki minut Opcjonalnie dla wersji 2013-08-15 lub nowszej; nie dotyczy wcześniejszych wersji. Grupuje ustawienia Azure Analytics MinuteMetrics . Ustawienia MinuteMetrics zapewniają statystyki żądań dla każdej minuty dla tabel. W przypadku wersji starszych niż 2013-08-15 metryki minute nie są uwzględniane w treści odpowiedzi.
Wersja Wymagane. Wersja analityka magazynu do skonfigurowania.
Usuwanie Wymagane. Dotyczy tylko konfiguracji rejestrowania. Wskazuje, czy wszystkie żądania usuwania powinny być rejestrowane.
Odczyt Wymagane. Dotyczy tylko konfiguracji rejestrowania. Wskazuje, czy wszystkie żądania odczytu powinny być rejestrowane.
Napisz Wymagane. Dotyczy tylko konfiguracji rejestrowania. Wskazuje, czy wszystkie żądania zapisu powinny być rejestrowane.
Włączono Wymagane. Wskazuje, czy metryki są włączone dla usługi magazynu.

Jeśli włączono replikację geograficznie nadmiarową dostępu do odczytu, zbierane są zarówno metryki podstawowe, jak i pomocnicze. Jeśli replikacja geograficznie nadmiarowa dostępu 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 magazynu.
RetentionPolicy/Days Wymagane tylko w przypadku włączenia zasad przechowywania. Wskazuje liczbę dni, w których powinny być przechowywane metryki lub dane rejestrowania. Wszystkie dane starsze niż ta wartość zostaną usunięte. Minimalna wartość, którą można określić, to ; największa wartość to 1365 (rok).
Cors Opcjonalny. Element Cors jest obsługiwany 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łę MECHANIZMU CORS dla usługi Table Service. W żądaniu można uwzględnić maksymalnie pięć elementów CorsRule . Jeśli w treści żądania nie zostaną uwzględnione żadne elementy corsRule , wszystkie reguły CORS zostaną usunięte, a mechanizm CORS zostanie wyłączony dla usługi Table Service.
AllowedOrigins Wymagane, jeśli element CorsRule jest obecny. Rozdzielona przecinkami lista domen pochodzenia, które będą dozwolone za pośrednictwem mechanizmu CORS lub "*", aby zezwolić 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, jeśli element CorsRule jest obecny. Rozdzielona przecinkami lista nagłówków odpowiedzi uwidacznianych klientom 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, jeśli element CorsRule jest obecny. Liczba sekund, w których klient/przeglądarka powinna buforować odpowiedź wstępną.
Dozwoloneheaders Wymagane, jeśli istnieje element CorsRule . Rozdzielona przecinkami lista nagłówków może 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 istnieje element CorsRule . Rozdzielona przecinkami lista metod HTTP, które mogą być wykonywane przez źródło. W przypadku Storage platformy Azure dozwolone metody to DELETE, GET, HEAD, MERGE, POST, OPTIONS lub 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 nagłówki standardowe są zgodne ze specyfikacją protokołu HTTP/1.1.

Nagłówek odpowiedzi Opis
x-ms-request-id 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 usług Azure Storage Services.
x-ms-client-request-id Ten nagłówek może służyć do rozwiązywania problemów z żądaniami i odpowiadającymi im odpowiedziami. Wartość tego nagłówka jest równa wartości x-ms-client-request-id nagłówka, jeśli znajduje się w żądaniu, a wartość wynosi co najwyżej 1024 widoczne znaki ASCII. x-ms-client-request-id Jeśli nagłówek nie znajduje się 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ł 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łu, w których podano dokładną nazwę nagłówka, taką jak x-ms-meta-przetworzone. W żądaniu można określić maksymalnie 64 nagłówki literału.

    • Prefiks nagłówków, w których znajduje się prefiks nagłówka, taki jak x-ms-meta-data*. Określenie prefiksu w ten sposób umożliwia lub uwidacznia dowolny nagłówek rozpoczynający się od danego 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, HEAD, MERGE, POST, OPTIONS i PUT.

Określanie reguł CORS dla żądania jest opcjonalne. Jeśli wywołasz wywołanie Set Table Service Properties bez określenia elementu Cors w treści żądania, wszystkie istniejące reguły MECHANIZMU CORS zostaną zachowane.

Aby wyłączyć mechanizm CORS, wywołaj Set Table Service Properties pustą regułę CORS (tj.</Cors> ) i nie ma wewnętrznych reguł MECHANIZMU CORS. To wywołanie usuwa wszystkie istniejące reguły, wyłączając mechanizm CORS dla usługi Table.

Wszystkie elementy reguły CORS są wymagane, jeśli określono element CorsRule . Żądanie zakończy się niepowodzeniem z kodem błędu 400 (Bad Request), jeśli brakuje jakiegokolwiek elementu.

Począwszy od wersji 2013-08-15, elementy ustawień XML będą opcjonalne, dlatego zaktualizowanie określonego elementu można wykonać przez wysłanie kodu XML zawierającego tylko zaktualizowany element i inne ustawienia nie będą miały wpływu.

Aby uzyskać szczegółowe informacje na temat reguł CORS i logiki oceny, zobacz Obsługa mechanizmu CORS dla usług Storage.

Przykładowe żądanie i odpowiedź

Następujący przykładowy identyfikator URI wysyła żądanie zmiany właściwości usługi Table Service 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ż