Tablo Hizmeti Özelliklerini Ayarlama

İşlem, Set Table Service Properties Depolama Analizi ve Çıkış Noktaları Arası Kaynak Paylaşımı (CORS) kurallarının özellikleri de dahil olmak üzere bir depolama hesabının Azure Tablo Depolama uç noktasının özelliklerini ayarlar. CORS kuralları hakkında daha fazla bilgi için bkz. Azure Depolama hizmetleri için CORS desteği.

İstek

İsteği aşağıdaki gibi belirtebilirsiniz Set Table Service Properties . HTTPS kullanmanızı öneririz. account-name değerini depolama hesabınızın adıyla değiştirin.

Yöntem İstek URI'si HTTP sürümü
PUT https://account-name.table.core.windows.net/?restype=service&comp=properties HTTP/1.1

Ana bilgisayar adını URI'nin yolundan ve sorgu bölümlerinden ayırmak için URI'nin her zaman eğik çizgi (/) içermesi gerektiğini unutmayın. Bu işlem söz konusu olduğunda, URI'nin yol kısmı boş olur.

URI parametreleri

URI parametresi Description
restype=service&comp=properties Gereklidir. Azure Depolama hizmetinin özelliklerini ayarlamak için her iki sorgu dizesinin birleşimi de gereklidir.
timeout İsteğe bağlı. timeout parametresi saniye cinsinden ifade edilir.

İstek üst bilgileri

Aşağıdaki tabloda gerekli ve isteğe bağlı istek üst bilgileri açıklanmaktadır:

İstek üst bilgisi Açıklama
Authorization Gereklidir. Yetkilendirme düzenini, depolama hesabı adını ve imzayı belirtir. Daha fazla bilgi için bkz. Azure Depolama isteklerini yetkilendirme.
Date veya x-ms-date Gereklidir. İstek için Eşgüdümlü Evrensel Saat (UTC) biçimini belirtir. Daha fazla bilgi için bkz. Azure Depolama isteklerini yetkilendirme.
x-ms-version Tüm yetkili istekler için gereklidir. Bu istek için kullanılacak işlemin sürümünü belirtir. Daha fazla bilgi için bkz. Azure Depolama hizmetleri için sürüm oluşturma.
x-ms-client-request-id İsteğe bağlı. Günlüğe kaydetme yapılandırıldığında günlüklere kaydedilen 1 kibibaytlık (KiB) karakter sınırıyla istemci tarafından oluşturulan, opak bir değer sağlar. İstemci tarafı etkinlikleriyle sunucunun aldığı istekler arasında bağıntı sağlamak için bu üst bilgiyi kullanmanızı kesinlikle öneririz.

İstek gövdesi

Sürüm 2012-02-12 ve öncesi için istek gövdesinin biçimi aşağıdaki gibidir:

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

Sürüm 2013-08-15 ve üzeri için istek gövdesinin biçimi aşağıdaki gibidir:

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

Sürüm 2013-08-15'den başlayarak, istek gövdesinde belirtilen bir veya daha fazla kök öğeyle çağrı Set Table Service Properties yapabilirsiniz. Kök öğeler şunlardır:

  • Logging

  • HourMetrics

  • MinuteMetrics

  • Cors

artık istekte her kök öğeyi belirtmek gerekli değildir. Bir kök öğeyi atlarsanız, bu işlev için hizmetin mevcut ayarları korunur. Ancak bir kök öğe belirtirseniz, bu öğe için her alt öğeyi belirtmeniz gerekir.

Aşağıdaki tabloda istek gövdesinin öğeleri açıklanmaktadır:

Öğe adı Açıklama
Logging 2013-08-15 ve üzeri sürümler için isteğe bağlı. Önceki sürümler için gereklidir. Depolama Analizi Logging ayarlarını gruplandırın.
Metrics Sürüm 2012-02-12 ve öncesi için gereklidir. Sürüm 2013-08-15 ve üzeri için geçerli değildir. Depolama Analizi Metrics ayarlarını gruplandırın. Ayarlar, Metrics tablolar için saatlik toplamalarda API'ye göre gruplandırılmış istek istatistiklerinin özetini sağlar.
HourMetrics 2013-08-15 ve üzeri sürümler için isteğe bağlı. Önceki sürümler için geçerli değildir. Depolama Analizi HourMetrics ayarlarını gruplandırın. Ayarlar, HourMetrics tablolar için saatlik toplamalarda API'ye göre gruplandırılmış istek istatistiklerinin özetini sağlar.
MinuteMetrics 2013-08-15 ve üzeri sürümler için isteğe bağlı. Önceki sürümler için geçerli değildir. Depolama Analizi MinuteMetrics ayarlarını gruplandırın. Ayarlar, MinuteMetrics tablolar için her dakika için istek istatistikleri sağlar. 2013-08-15'ten önceki sürümler için MinuteMetrics yanıt gövdesine dahil değildir.
Version Gereklidir. Yapılandırılan Depolama Analizi sürümünü gösterir.
Delete Gereklidir. Yalnızca günlük yapılandırması için geçerlidir. Tüm silme isteklerinin günlüğe kaydedilip kaydedilmeyeceğini gösterir.
Read Gereklidir. Yalnızca günlük yapılandırması için geçerlidir. Tüm okuma isteklerinin günlüğe kaydedilip kaydedilmeyeceğini gösterir.
Write Gereklidir. Yalnızca günlük yapılandırması için geçerlidir. Tüm yazma isteklerinin günlüğe kaydedilip kaydedilmeyeceğini gösterir.
Enabled Gereklidir. Ölçümlerin Azure Depolama hizmeti için etkinleştirilip etkinleştirilmediğini gösterir.

Okuma erişimli coğrafi olarak yedekli çoğaltma etkinleştirildiyse, hem birincil hem de ikincil ölçümler toplanır. Okuma erişimli coğrafi olarak yedekli çoğaltma etkinleştirilmediyse yalnızca birincil ölçümler toplanır.
IncludeAPIs Yalnızca ölçümler etkinleştirildiğinde gereklidir. Yalnızca ölçüm yapılandırması için geçerlidir. Ölçümlerin çağrılan API işlemleri için özet istatistikleri oluşturup oluşturmayacağını gösterir.
RetentionPolicy/Enabled Gereklidir. Azure Depolama hizmeti için bir bekletme ilkesinin etkinleştirilip etkinleştirilmediğini gösterir.
RetentionPolicy/Days Yalnızca bekletme ilkesi etkinleştirildiğinde gereklidir. Ölçümlerin veya günlük verilerinin saklanması gereken gün sayısını gösterir. Bu değerden daha eski olan tüm veriler silinir. Belirtebileceğiniz en düşük değer şeklindedir 1. En büyük değer (bir yıl) değeridir 365 .
Cors İsteğe bağlı. Sürüm 2013-08-15 ve üzeri için desteklenir. Tüm CORS kurallarını gruplandırma.

Bu öğe grubunun atlanması mevcut CORS ayarlarının üzerine yazılmaz.
CorsRule İsteğe bağlı. Tablo Depolama için bir CORS kuralı belirtir. İsteğe en çok beş CorsRule öğesi ekleyebilirsiniz. İstek gövdesine öğe CorsRule eklenmezse tüm CORS kuralları silinir ve Tablo Depolama için CORS devre dışı bırakılır.
AllowedOrigins Öğe varsa CorsRule gereklidir. CORS aracılığıyla izin verilecek olan veya * tüm etki alanlarına izin veren kaynak etki alanlarının virgülle ayrılmış bir listesini sağlar. Bir kaynak etki alanı, bir etki alanının tüm alt etki alanları için CORS aracılığıyla isteklere izin vermek için alt etki alanına joker karakter de içerebilir. 64 kaynak etki alanıyla sınırlıdır. İzin verilen her kaynağın en fazla 256 karakteri olabilir.
ExposedHeaders Öğe varsa CorsRule gereklidir. CORS istemcilerinin kullanıma sunulması için yanıt üst bilgilerinin virgülle ayrılmış bir listesini sağlar. 64 tanımlı üst bilgi ve iki ön ekli üst bilgi ile sınırlıdır. Her üst bilgi en fazla 256 karakter olabilir.
MaxAgeInSeconds Öğe varsa CorsRule gereklidir. İstemcinin veya tarayıcının denetim öncesi yanıtı önbelleğe alması gereken saniye sayısını gösterir.
AllowedHeaders Öğesi varsa CorsRule gereklidir. Çıkış noktaları arası isteğin parçası olmasına izin verilen üst bilgilerin virgülle ayrılmış bir listesini sağlar. 64 tanımlı üst bilgi ve 2 ön ekli üst bilgi ile sınırlıdır. Her üst bilgi en fazla 256 karakter olabilir.
AllowedMethods Öğesi varsa CorsRule gereklidir. Kaynağın yürütmesine izin verilen HTTP yöntemlerinin virgülle ayrılmış bir listesini sağlar. Azure Depolama için izin verilen yöntemler , , GET, HEAD, MERGE, POST, OPTIONSve PUTyöntemleridirDELETE.

Yanıt

Yanıt bir HTTP durum kodu, yanıt üst bilgileri kümesi ve yanıt gövdesi içerir.

Durum kodu

Başarılı bir işlem 202 (Kabul Edildi) durum kodunu döndürür.

Yanıt üst bilgileri

Bu işlemin yanıtı aşağıdaki üst bilgileri içerir. Yanıt, ek standart HTTP üst bilgileri de içerebilir. Tüm standart üst bilgiler HTTP/1.1 protokol belirtimine uygundur.

Yanıt üst bilgisi Description
x-ms-request-id Hizmette yapılan bir isteği benzersiz olarak tanımlayan bir değeri belirtir.
x-ms-version Yanıt için kullanılan işlemin sürümünü belirtir. Daha fazla bilgi için bkz. Azure Depolama hizmetleri için sürüm oluşturma.
x-ms-client-request-id İsteklerin ve karşılık gelen yanıtların sorunlarını gidermek için kullanılabilir. Bu üst bilginin değeri, istekte mevcutsa ve değer en fazla 1.024 görünür ASCII karakteriyse üst bilginin değerine x-ms-client-request-id eşittir. İstekte x-ms-client-request-id üst bilgi yoksa, yanıtta bu üst bilgi mevcut olmaz.

Yanıt gövdesi

Yok.

Yetkilendirme

Bu işlemi yalnızca hesap sahibi çağırabilir.

Açıklamalar

Azure Depolama'daki CORS kuralları için aşağıdaki kısıtlamalar ve sınırlamalar geçerlidir:

  • En fazla beş kural depolayabilirsiniz.

  • XML etiketleri hariç, istek üzerindeki tüm CORS kural ayarlarının boyut üst sınırı 2 KiB'ı aşmamalıdır.

  • İzin verilen üst bilgi, kullanıma sunulan üst bilgi veya izin verilen kaynağın uzunluğu 256 karakteri aşmamalıdır.

  • İzin verilen üst bilgiler ve kullanıma sunulan üst bilgiler aşağıdakilerden biri olabilir:

    • Tam üst bilgi adının sağlandığı değişmez başlıklar, örneğin x-ms-meta-processed. İstekte en fazla 64 değişmez değer üst bilgisi belirtebilirsiniz.

    • Üst bilginin ön ekinin sağlandığı önekli üst bilgiler, örneğin x-ms-meta-data\. Bu şekilde bir ön ek belirtmek, bu ön ekle başlayan üst bilgileri kullanıma sunar veya sağlar. İstekte en fazla iki ön ekli üst bilgi belirtebilirsiniz.

  • öğesinde AllowedMethods belirtilen yöntemler (veya HTTP fiilleri), Azure Depolama hizmeti API'lerinin desteklediği yöntemlere uygun olmalıdır. Desteklenen yöntemler : DELETE, GET, HEAD, MERGE, POST, OPTIONSve PUT.

İstekte CORS kurallarının belirtilmesi isteğe bağlıdır. öğesini istek gövdesinde belirtmeden Cors çağırırsanızSet Table Service Properties, mevcut CORS kuralları korunur.

CORS'yi devre dışı bırakmak için boş CORS kuralları ayarlarıyla (örneğin, </Cors>) ve iç CORS kuralları olmadan çağrısı Set Table Service Properties yapın. Bu çağrı mevcut kuralları siler ve Tablo Depolama için CORS'yi devre dışı bırakır.

Öğesini belirtirseniz CorsRule tüm CORS kural öğeleri gereklidir. Herhangi bir öğe eksikse istek 400 (Hatalı İstek) hata koduyla başarısız olur.

2013-08-15 sürümünden başlayarak, XML ayarları için öğeler isteğe bağlıdır. Yalnızca güncelleştirilmiş öğeyi içeren ve diğer ayarları etkilemeyen XML göndererek belirli bir öğeyi güncelleştirebilirsiniz.

CORS kuralları ve değerlendirme mantığı hakkında ayrıntılı bilgi için bkz. Azure Depolama hizmetleri için CORS desteği.

Örnek istek ve yanıt

Aşağıdaki örnek URI , myaccount adlı kurgusal depolama hesabının Tablo Depolama özelliklerini değiştirme isteğinde bulunur:

PUT https://myaccount.table.core.windows.net/?restype=service&comp=properties HTTP/1.1  

İstek aşağıdaki üst bilgilerle gönderilir:

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  

İstek aşağıdaki XML gövdesiyle gönderilir:

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

İstek gönderildikten sonra aşağıdaki yanıt döndürülür:

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  
  

Ayrıca bkz.