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 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 magazynowania .

Żądanie

Żądanie można określić Set Queue Service Properties w następujący sposób. Zalecamy używanie protokołu HTTPS. Zastąp nazwę konta 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

Uwaga

Identyfikator URI musi zawsze zawierać znak ukośnika (/), aby oddzielić nazwę hosta od ścieżki i fragmentów zapytania identyfikatora URI. W tej operacji część ścieżki identyfikatora URI jest pusta.

Parametry identyfikatora URI

Parametr 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. Aby uzyskać więcej informacji, zobacz Ustawianie limitów czasu dla operacji usługi kolejki.

Nagłówki żądań

Wymagane i opcjonalne nagłówki żądań opisano w poniższej tabeli:

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.
x-ms-client-request-id Opcjonalny. Udostępnia nieprzezroczystą wartość wygenerowaną przez klienta z limitem znaków 1-kibibyte (KiB), który jest rejestrowany w dziennikach podczas konfigurowania rejestrowania. Zdecydowanie zalecamy używanie tego nagłówka do korelowania działań po stronie klienta z żądaniami odbieranymi przez serwer. Aby uzyskać więcej informacji, zobacz Monitorowanie usługi Azure Queue 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>  

Od wersji 2013-08-15 można wywołać Set Queue Service Properties co 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 określony element główny, musisz określić każdy element podrzędny dla tego elementu.

Elementy treści żądania opisano w poniższej tabeli:

Nazwa elementu Opis
Rejestrowanie Opcjonalnie jako wersja 2013-08-15. Wymagane dla wcześniejszych wersji. Grupuje ustawienia rejestrowania analityka magazynu.
Metryki Wymagane w wersji 2012-02-12 i starszej. Nie dotyczy wersji 2013-08-15 lub nowszej. Grupuje ustawienia metryk analityka magazynu. Ustawienia metryk zawierają podsumowanie statystyk żądań pogrupowanych według interfejsu API w agregacjach godzinowych dla kolejek.
Metryki godzin Opcjonalnie dla wersji 2013-08-15 lub nowszej. Nie dotyczy wcześniejszych wersji. Grupuje ustawienia analityka magazynu HourMetrics. Ustawienia HourMetrics zawierają podsumowanie statystyk żądań pogrupowanych według interfejsu API w godzinowych agregacjach dla kolejek.
Metryki minut Opcjonalnie dla wersji 2013-08-15 lub nowszej. Nie dotyczy wcześniejszych wersji. Grupuje ustawienia analityka magazynu MinuteMetrics. Ustawienia MinuteMetrics zapewniają statystyki żądań dla każdej minuty dla kolejek. W przypadku wersji starszych niż 2013-08-15 metryki minute nie są uwzględniane w treści odpowiedzi.
Wersja Wymagane, jeśli określono ustawienia rejestrowanie, metryki,metryki lubmetryki minuty . Wersja analityka magazynu do skonfigurowania.
Usuwanie Wymagane, jeśli określono ustawienia rejestrowanie, metryki,metryki lubmetryki minuty . Dotyczy tylko konfiguracji rejestrowania. Wskazuje, czy wszystkie żądania usuwania powinny być rejestrowane.
Read Wymagane, jeśli określono ustawienia rejestrowanie, metryki,metryki lubmetryki minuty . Dotyczy tylko konfiguracji rejestrowania. Wskazuje, czy wszystkie żądania odczytu powinny być rejestrowane.
Write Wymagane, jeśli określono ustawienia rejestrowanie, metryki,metryki lubmetryki minuty . 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ą 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 , a maksymalna 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 zawierać 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 zawierać 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 usługi Azure Storage dozwolone metody to DELETE, GET, HEAD, MERGE, POST, OPTIONSlub 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 Jednoznacznie identyfikuje żądanie, które jest wykonywane względem usługi.
x-ms-version Określa wersję operacji, która została użyta dla odpowiedzi. Aby uzyskać więcej informacji, zobacz Przechowywanie wersji usług Azure Storage.
x-ms-client-request-id 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ść nie zawiera więcej niż 1024 widocznych znaków ASCII. x-ms-client-request-id Jeśli nagłówek nie jest obecny w żądaniu, nie będzie on 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ł MECHANIZMU 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, 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 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 określonego prefiksu. W żądaniu można określić maksymalnie dwa prefiksy nagłówków.

  • Metody (lub czasowniki HTTP) określone w AllowedMethods elemecie muszą być zgodne z metodami obsługiwanymi przez interfejsy API usługi Azure Storage. Obsługiwane metody to DELETE, , HEADGETPOSTMERGE, OPTIONSi .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 (czyli *</Cors>) i nie ma wewnętrznych reguł MECHANIZMU CORS. To wywołanie usuwa wszystkie istniejące reguły i wyłącza mechanizm CORS dla usługi Kolejki.

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

Od wersji 2013-08-15 elementy ustawień XML są opcjonalne, dzięki czemu można zaktualizować określony element, wysyłając kod XML zawierający tylko zaktualizowany element. Inne ustawienia nie mają wpływu.

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 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ż

Obsługa mechanizmu CORS dla usług Azure Storage
Specyfikacja PROTOKOŁU HTTP MECHANIZMU CORS