Tablo hizmeti veri modelini anlama
Tablo hizmeti, tablolar şeklinde yapılandırılmış depolama sunar. Aşağıdaki bölümlerde Tablo hizmeti veri modeli özetlemektedir.
Depolama Hesabı
Depolama hesabı, depolama sistemi içindeki genel olarak benzersiz bir varlıktır. Depolama hesabı, Tablo hizmeti için üst ad alanıdır ve yetkilendirmenin temelidir. Her tablo benzersiz olarak adlandırılmış olduğu sürece, bir depolama hesabı içinde herhangi bir sayıda tablo oluşturabilirsiniz.
Depolama hesabı her zaman istek URI'sinde belirtilmelidir. Tablo hizmetine erişmek için temel URI aşağıdaki gibidir:
https://myaccount.table.core.windows.net
Tablolar, Varlıklar ve Özellikler
Tablolar verileri varlık koleksiyonları olarak depolar. Varlıklar satırlara benzer. Bir varlığın birincil anahtarı ve bir özellik kümesi vardır. Özellik, sütuna benzer bir ad ve tür-değer çiftidir.
Tablo hizmeti tablolar için herhangi bir şema zorlamaz, bu nedenle aynı tablodaki iki varlığın farklı özellik kümeleri olabilir. Geliştiriciler istemci tarafında bir şemayı zorlamayı seçebilir. Bir tablo herhangi bir sayıda varlık içerebilir.
Tablo Adları
Tablo adları şu kurallara uygun olmalı:
Tablo adları bir hesap içinde benzersiz olmalıdır.
Tablo adları yalnızca alfasayısal karakterler içerebilir.
Tablo adları sayısal bir karakterle başamaz.
Tablo adları büyük/büyük/büyük harfe duyarlı değildir.
Tablo adları 3-63 karakter uzunluğunda olmalıdır.
"Tablolar" dahil olmak üzere bazı tablo adları ayrılmıştır. Ayrılmış tablo adıyla bir tablo oluşturma girişimi 404 (Hatalı İstek) hata kodunu döndürür.
Bu kurallar ayrıca "^[A-Za-z][A-Za-z0-9] $" normal ifadesiyle {2,62} de açıklanmıştır.
Tablo adları oluşturulduklarında büyük/büyük harfe duyarlı değildir.
Özellik Adları
Özellik adları, boyutu 255 karaktere kadar olan büyük/küçük harfe duyarlı dizelerdir. Özellik adları, C# tanımlayıcıları için adlandırma kurallarına uygun olmalıdır.
Not
Bazı C# tanımlayıcıları XML belirtimleri için geçerli değildir. Özellik adları Tablo hizmetine yönelik bir istekte XML yükü aracılığıyla gönderildiği için bu tanımlayıcılar özellik adlarında kullanılamaz.
Önemli
Özellik adları bir URL içinde Tablo hizmetine geçirildi. Belirli karakterler, UTF-8 (tercih edilir) veya MBCS kullanılarak URL'de görünecek şekilde yüzde olarak kodlanmış olmalıdır. Bu kodlama, Azure Depolama istemci kitaplıklarını kullanırken otomatik olarak gerçekleşir. Ancak kodlanmış olsa bile URL yollarında geçerli olan bazı karakterler vardır. Bu karakterler özellik adlarında görünemez. NTFS dosya adlarında geçerli olan \uE000 gibi kod noktaları geçerli Unicode karakterleri değildir, bu nedenle kullanılamaz. Buna ek olarak, denetim karakterleri (0x00 0x1F, \u0081 vb.) gibi bazı ASCII veya Unicode karakterlerine de izin verilmez. HTTP/1.1'de Unicode dizelerini yöneten kurallar için bkz:
Not
2009-04-14 sürümünden itibaren, Tablo hizmeti artık özellik adlarında tire (-) karakterinin dahil 14 karakterle dahil 14'ü desteklememektedir.
Özellik Sınırlamaları
Bir varlığın, aşağıdaki bölümde açıklanan 3 sistem özelliği de dahil olmak üzere en fazla 255 özelliği olabilir. Bu nedenle, kullanıcı 3 sistem özelliğine ek olarak en fazla 252 özel özellik içerebilir. Bir varlığın özelliklerinde yer alan tüm verilerin birleşik boyutu 1 MiB'i aşamaz.
(Sistem Özellikleri
Varlık her zaman aşağıdaki sistem özelliklerine sahiptir:
PartitionKeyÖzellikRowKeyÖzellikTimestampÖzellik
Bu sistem özellikleri bir tablodaki her varlık için otomatik olarak eklenir. Bu özelliklerin adları ayrılmıştır ve değiştirilemez. ve değerlerini eklemek ve güncelleştirmek geliştiricinin PartitionKey RowKey sorumluluğundadır. Sunucu, değiştiril tıklatın Timestamp değerini yönetir.
Anahtar Alanlarında Izin Verilmeyen Karakterler
ve özellikleri için değerlerde aşağıdaki karakterlere PartitionKey izin RowKey verilmez:
Eğik çizgi (/) karakteri
Ters eğik çizgi ( \ ) karakteri
Sayı işareti (#) karakteri
Soru işareti (?) karakteri
U+0000 ile U+001F arasında denetim karakterleri:
- Yatay sekme (\t) karakteri
- Linefeed (\n) karakteri
- Satır başı (\r) karakteri
U+007F ile U+009F arasında denetim karakterleri
PartitionKey Özelliği
Tablolar, depolama düğümleri arasında yük dengelemeyi desteklemek için bölümlenmiş durumdadır. Tablonun varlıkları bölüme göre düzenlenmiştir. Bölüm, aynı bölüm anahtarı değerine sahip ardışık bir varlık aralığıdır. Bölüm anahtarı, özelliği tarafından belirtilen belirli bir tablodaki bölüm için benzersiz bir PartitionKey tanımlayıcıdır. Bölüm anahtarı, varlığın birincil anahtarının ilk bölümünü oluşturur. Bölüm anahtarı, boyutu 1 KiB'ye kadar olan bir dize değeri olabilir.
Özelliğini her PartitionKey ekleme, güncelleştirme ve silme işlemi içine dahil etmek gerekir.
RowKey Özelliği
Birincil anahtarın ikinci bölümü, özelliği tarafından belirtilen satır RowKey anahtarıdır. Satır anahtarı, bir bölüm içindeki varlığın benzersiz tanımlayıcısıdır. ve PartitionKey birlikte, RowKey bir tablodaki her varlığı benzersiz olarak tanımlayabilir.
Satır anahtarı, boyutu en fazla 1 KiB olan bir dize değeridir.
Özelliğini her RowKey ekleme, güncelleştirme ve silme işlemi içine dahil etmek gerekir.
Zaman Damgası Özelliği
özelliği, Timestamp bir DateTime varlığın son değiştirilme zamanlarını kaydetmek için sunucu tarafında bakımı yapılan bir değerdir. Tablo hizmeti, iyimser Timestamp eşzamanlılık sağlamak için özelliğini dahili olarak kullanır. Varlığın Timestamp özelliğinin değeri, varlık her değiştirildiğinde ilerler. Bu özellik ekleme veya güncelleştirme işlemleri üzerinde ayarlanmaz (değer yoksayılır).
özelliği, Timestamp kabul edilen ISO 8601 UTC biçimlerinden biri ile ifade edilmeli. Kabul edilen UTC biçimleri hakkında daha fazla bilgi için bkz. DateTime değerlerini biçimlendirme.
Özellik Türleri
Tablo hizmeti, OData Protokolü Belirtimi tarafından tanımlanan veri türlerinin bir alt kümesini destekler. Aşağıdaki tablo Tablo hizmeti için desteklenen özellik türlerini gösterir:
| OData Veri Türü | Ortak Dil Çalışma Zamanı türü | Ayrıntılar |
|---|---|---|
Edm.Binary |
byte[] |
Boyutu 64 KiB'ye kadar olan bayt dizisi. |
Edm.Boolean |
bool |
Boole değeri. |
Edm.DateTime |
DateTime |
Eşgüdümlü Evrensel Saat (UTC) olarak ifade Eşgüdümlü Evrensel Saat bit değeri. Desteklenen aralık DateTime 1 Ocak 1601'de gece yarısı 12:00'dan başlar. (C.E.), UTC. Aralık 31 Aralık 9999'da sona erer. Daha fazla bilgi için bkz. DateTime değerlerini biçimlendirme. |
Edm.Double |
double |
64 bit kayan nokta değeri. |
Edm.Guid |
Guid |
128 bit genel olarak benzersiz tanımlayıcı. |
Edm.Int32 |
Int32 veya int |
32 bit tamsayı. |
Edm.Int64 |
Int64 veya long |
64 bit tamsayı. |
Edm.String |
String |
UTF-16 ile kodlanmış bir değer. Dize değerlerinin boyutu en fazla 64 KiB olabilir. Desteklenen maksimum karakter sayısının yaklaşık 32 K veya daha az olduğunu unutmayın. |
Varsayılan olarak, farklı bir tür belirtmedikçe String bir özellik türü olarak oluşturulur. Bir özelliği açıkça belirtmek için, Varlık Ekleme veya Varlık Güncelleştirme işlemi için uygun OData veri türünü kullanarak veri türünü belirtin. Daha fazla bilgi için bkz. Varlık Ekleme ve Güncelleştirme.
Tablo hizmeti, özellikler için null değerleri kalıcı olarak kalıcı olarak ayarlamaz. Varlıkları sorgularken, yukarıdaki özellik türlerinin hepsi null değere sahip değildir. Varlıklar yazarken yukarıdaki özellik türlerinin hepsi null değere sahip olur ve değerine sahip herhangi bir özellik, yükte bu özelliğin yer olmadığını null gösterir.
Bir sorgu isteği URI'sinde çeşitli özellik türlerine göre filtrelemeyi göstermek için bkz. Tabloları ve Varlıkları Sorgulama.