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 , OPTIONS ve PUT yö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
,OPTIONS
vePUT
.
İ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