Ustawianie właściwości usługi kolejki

Operacja Set Queue Service Properties ustawia właściwości punktu końcowego usługi kolejki 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 Queue Service Properties można określić w następujący sposób. Zalecane jest użycie protokołu HTTPS. Zastąp <account-name> ciąg nazwą konta magazynu:

Metoda Identyfikator URI żądania Wersja PROTOKOŁU HTTP
PUT https://<account-name>.queue.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 Opis
restype=service&comp=properties Wymagane. Aby ustawić właściwości usługi magazynu, wymagana jest kombinacja obu ciągów zapytania.
timeout Opcjonalny. Parametr jest wyrażony timeout w sekundach. Aby uzyskać więcej informacji, zobacz Ustawianie limitów czasu dla operacji usługi kolejki.

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 Services.
x-ms-client-request-id Opcjonalny. Zapewnia 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 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-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ć Set Queue Service Properties metodę z co najmniej jednym elementem głównym określonym w treści żądania. Elementy główne obejmują:

  • Rejestrowanie

  • HourMetrics

  • 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 starszych. 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 kolejek.
HourMetrics Opcjonalnie w 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 kolejek.
Metryki minut Opcjonalnie w wersji 2013-08-15 lub nowszej; nie dotyczy wcześniejszych wersji. Grupuje ustawienia usługi Azure Analytics MinuteMetrics . Ustawienia MinuteMetrics zapewniają statystyki żądań dla każdej minuty dla kolejek. W przypadku wersji starszych niż 2013-08-15 metryki MinuteMetrics nie są uwzględniane w treści odpowiedzi.
Wersja Wymagane, jeśli określono ustawienia Rejestrowanie, Metryki, HourMetrics lub MinuteMetrics . Wersja analityka magazynu do skonfigurowania.
Usuwanie Wymagane, jeśli określono ustawienia Rejestrowanie, Metryki, HourMetrics lub MinuteMetrics . Dotyczy tylko konfiguracji rejestrowania. Wskazuje, czy wszystkie żądania usuwania powinny być rejestrowane.
Odczyt Wymagane, jeśli określono ustawienia Rejestrowanie, Metryki, HourMetrics lub MinuteMetrics . Dotyczy tylko konfiguracji rejestrowania. Wskazuje, czy wszystkie żądania odczytu powinny być rejestrowane.
Napisz Wymagane, jeśli określono ustawienia Rejestrowanie, Metryki, HourMetrics lub MinuteMetrics . Dotyczy tylko konfiguracji rejestrowania. Wskazuje, czy wszystkie żądania zapisu powinny być rejestrowane.
Włączono Wymagane. Wskazuje, czy metryki są włączone dla usługi Kolejki.

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.
Elementy IncludeAPI 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 Kolejki. W żądaniu można uwzględnić maksymalnie pięć elementów CorsRule . Jeśli żadne elementy corsRule nie zostaną uwzględnione w treści żądania, wszystkie reguły CORS zostaną usunięte, a mechanizm CORS zostanie wyłączony dla usługi kolejki.
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 i zestaw nagłówków 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 Queue 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 Queue 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 Kolejki.

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 Kolejki dla fikcyjnego konta magazynu o nazwie myaccount:

PUT https://myaccount.queue.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: Wed, 23 Oct 2013 04:28:19 GMT  
Authorization: SharedKey  
myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=  
Host: myaccount.queue.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>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> 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: Wed, 23 Oct 2013 04:28:20 GMT  
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: cb939a31-0cc6-49bb-9fe5-3327691f2a30  
x-ms-version: 2013-08-15  
  

Zobacz też

Ulepszone nagłówki HTTP dla wznowienia pobierania i zmiany warunków If-Match
Obsługa mechanizmu CORS dla usług Storage
Specyfikacja PROTOKOŁU HTTP MECHANIZMU CORS