Sorgu Varlıkları
İşlem, Query Entities
bir tablodaki varlıkları sorgular ve ve $select
seçeneklerini içerir$filter
.
İstek
Sorgu seçeneğini kullanan $select
istekler için 2011-08-18 veya sonraki bir sürümü kullanmanız gerekir. Ayrıca ve DataServiceVersion
MaxDataServiceVersion
üst bilgileri olarak 2.0
ayarlanmalıdır.
Projeksiyonu kullanmak için 2013-08-15 veya sonraki bir sürümü kullanarak istekte bulunmanız gerekir.
DataServiceVersion
ve MaxDataServiceVersion
üst bilgileri olarak 3.0
ayarlanmalıdır. Daha fazla bilgi için bkz. OData veri hizmeti sürüm üst bilgilerini ayarlama.
İsteği aşağıdaki gibi oluşturabilirsiniz Query Entities
. HTTPS kullanmanızı öneririz.
myaccount değerini depolama hesabınızın adıyla, mytable değerini ise tablonuzun adıyla değiştirin.
Yöntem | İstek URI'si | HTTP sürümü |
---|---|---|
GET |
https://myaccount.table.core.windows.net/mytable(PartitionKey='<partition-key>',RowKey='<row-key>')?$select=<comma-separated-property-names> https://myaccount.table.core.windows.net/mytable()?$filter=<query-expression>&$select=<comma-separated-property-names> |
HTTP/1.1 |
Sorgulanacak varlık kümesinin adresi, istek URI'sinde çeşitli formlar alabilir. Daha fazla bilgi için bkz . Sorgu tabloları ve varlıkları.
Öykünmüş depolama hizmeti URI'si
Öykünülen depolama hizmetine karşı istekte bulunurken öykünücünün ana bilgisayar adını ve tablo hizmetinin bağlantı noktasını olarak 127.0.0.1:10002
belirtin. Öykünülen depolama hesabının adıyla bu bilgileri izleyin.
Yöntem | İstek URI'si | HTTP sürümü |
---|---|---|
GET |
http://127.0.0.1:10002/devstoreaccount1/mytable(PartitionKey='<partition-key>',RowKey='<row-key>')?$select=<comma-separated-property-names> http://127.0.0.1:10002/devstoreaccount1/mytable()?$filter=<query-expression>?$select=<comma-separated-property-names> |
HTTP/1.1 |
Depolama öykünücüsü içindeki Tablo hizmeti, Azure Tablo Depolama'dan çeşitli yollarla farklıdır. Daha fazla bilgi için bkz. Depolama öykünücüsü ile Azure Depolama hizmetleri arasındaki farklar.
URI parametreleri
İşlem, Query Entities
OData protokol belirtiminin tanımladığı sorgu seçeneklerini destekler.
İ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, hesap 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 |
İsteğe bağlı. 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. |
Accept |
İsteğe bağlı. Yanıt yükünün kabul edilen içerik türünü belirtir. Olası değerler şunlardır: - application/atom+xml (yalnızca 2015-12-11 öncesi sürümler)- application/json;odata=nometadata - application/json;odata=minimalmetadata - application/json;odata=fullmetadata Daha fazla bilgi için bkz. Tablo Depolama işlemleri için Yük biçimi. |
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
Yok.
Örnek istek
Request Syntax:
GET /myaccount/Customers()?$filter=(Rating%20ge%203)%20and%20(Rating%20le%206)&$select=PartitionKey,RowKey,Address,CustomerSince HTTP/1.1
Request Headers:
x-ms-version: 2015-12-11
x-ms-date: Mon, 27 Jun 2016 15:25:14 GMT
Authorization: SharedKeyLite myaccount:<some key>
Accept: application/json;odata=nometadata
Accept-Charset: UTF-8
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
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 200 (Tamam) durum kodunu döndürür.
Durum kodları hakkında bilgi için bkz. Durum ve hata kodları ile Tablo Depolama hata kodları.
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-continuation-NextPartitionKey x-ms-continuation-NextRowKey |
Bunu gösterir: - Döndürülecek varlık sayısı 1.000'i aşıyor. - Sunucu zaman aşımı aralığı aşıldı. - Sorgu birden çok sunucuya yayılmış verileri döndürürse sunucu sınırına ulaşılır. Devamlılık belirteçlerini kullanma hakkında daha fazla bilgi için bkz. Sorgu zaman aşımı ve sayfalandırma. |
x-ms-request-id |
Yapılan isteği benzersiz olarak tanımlar. İsteğin sorunlarını gidermek için bunu kullanabilirsiniz. Daha fazla bilgi için bkz. API işlemleriyle ilgili sorunları giderme. |
x-ms-version |
İsteği yürütmek için kullanılan Tablo Depolama sürümünü gösterir. Bu üst bilgi, 2009-09-19 ve sonraki sürümlerde yapılan istekler için döndürülür. |
Date |
Hizmetin yanıtı gönderdiği saati gösteren utc tarih/saat değeri. |
Content-Type |
Yükün içerik türünü gösterir. Bu üst bilginin değeri, istek üst bilgisinin Accept değerine bağlıdır. Olası değerler şunlardır:- application/atom+xml (yalnızca 2015-12-11 öncesi sürümler)- application/json;odata=nometadata - application/json;odata=minimalmetadata - application/json;odata=fullmetadata Geçerli içerik türleri hakkında daha fazla bilgi için bkz. Tablo Depolama işlemleri için Yük biçimi. |
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. |
Örnek yanıt
Response Status:
HTTP/1.1 200 OK
Response Headers:
Content-Type: application/json
x-ms-request-id: 87f178c0-44fe-4123-a4c1-96c8fa6d9654
Date: Mon, 27 Jun 2016 15:25:14 GMT
x-ms-version: 2015-12-11
Connection: close
Yanıt gövdesi
İşlem, Query Entities
bir tablodaki varlıkların listesini OData varlık kümesi olarak döndürür. Varlıkların listesi, isteğin üst bilgisine bağlı Accept
olarak JSON biçiminde veya Atom akışındadır.
Not
Yük biçimi olarak JSON kullanmanızı öneririz. Sürüm 2015-12-11 ve üzeri için desteklenen tek biçimdir.
JSON (sürüm 2013-08-15 ve üzeri)
Müşteriler tablosundaki bir Query Entities
işlem için örnek istek URI'sini aşağıda bulabilirsiniz:
GET /myaccount/Customers()?$filter=(Rating%20ge%203)%20and%20(Rating%20le%206)&$select=PartitionKey,RowKey,Address,CustomerSince
JSON'da meta veri içermeyen yanıt yükü aşağıdadır:
{
"value":[
{
"PartitionKey":"Customer",
"RowKey":"Name",
"Timestamp":"2013-08-22T00:20:16.3134645Z",
"CustomerSince":"2008-10-01T15:25:05.2852025Z"
}
]
}
JSON'da en az meta veri içeren yanıt yükü aşağıdadır:
{
"odata.metadata":"https://myaccount.table.core.windows.net/$metadata#Customers",
"value":[
{
"PartitionKey":"Customer",
"RowKey":"Name",
"Timestamp":"2013-08-22T00:20:16.3134645Z",
"CustomerSince@odata.type":"Edm.DateTime",
"CustomerSince":"2008-10-01T15:25:05.2852025Z"
}
]
}
Tam meta veriler içeren JSON'daki yanıt yükü aşağıdadır:
{
"odata.metadata":" https://myaccount.table.core.windows.net/metadata#Customers",
"value":[
{
"odata.type":"myaccount.Customers",
"odata.id":"https://myaccount.table.core.windows.net/Customers(PartitionKey=Customer',RowKey='Name')",
"odata.etag":"W/\"0x5B168C7B6E589D2\"",
"odata.editLink":"Customers(PartitionKey=Customer',RowKey='Name')",
"PartitionKey":"Customer",
"RowKey":"Name",
"Timestamp@odata.type":"Edm.DateTime",
"Timestamp":"2013-08-22T00:20:16.3134645Z",
"CustomerSince@odata.type":"Edm.DateTime",
"CustomerSince":"2008-10-01T15:25:05.2852025Z"
}
]
}
Atom akışı (2015-12-11 öncesi sürümler)
Müşteriler tablosundaki bir Query Entities
işlem için örnek istek URI'sini aşağıda bulabilirsiniz:
GET /myaccount/Customers()?$filter=(Rating%20ge%203)%20and%20(Rating%20le%206)&$select=PartitionKey,RowKey,Address,CustomerSince
İşte işlem için Query Entities
örnek bir Atom yanıtı:
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xml:base="https://myaccount.table.core.windows.net">
<id>https://myaccount.table.core.windows.net/Customers</id>
<title type="text">Customers</title>
<updated>2013-08-22T00:50:32Z</updated>
<link rel="self" title="Customers" href="Customers" />
<entry m:etag="W/"0x5B168C7B6E589D2"">
<id>https://myaccount.table.core.windows.net/Customers(PartitionKey='Customer',RowKey='Name')</id>
<category term="myaccount.Customers" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
<link rel="edit" title="Customers" href="Customers(PartitionKey='Customer',RowKey='Name')" />
<title />
<updated>2013-08-22T00:50:32Z</updated>
<author>
<name />
</author>
<content type="application/xml">
<m:properties>
<d:PartitionKey>Customer</d:PartitionKey>
<d:RowKey>Name</d:RowKey>
<d:Timestamp m:type="Edm.DateTime">2013-08-22T00:20:16.3134645Z</d:Timestamp>
<d:CustomerSince m:type="Edm.DateTime">2008-10-01T15:25:05.2852025Z</d:CustomerSince>
</m:properties>
</content>
</entry>
</feed>
Yetkilendirme
Bu işlem, hesap sahibi ve bu işlemi gerçekleştirme iznine sahip paylaşılan erişim imzasına sahip herkes tarafından gerçekleştirilebilir.
Açıklamalar
Tablo Depolama'ya yönelik bir sorgu aynı anda en fazla 1.000 varlık döndürebilir ve en fazla beş saniye çalıştırılabilir. Yanıt, aşağıdaki durumlardan herhangi birinde bir dizi devamlılık belirteci içeren özel üst bilgiler içerir:
- Sonuç kümesi 1.000'den fazla varlık içeriyor.
- Sorgu beş saniye içinde tamamlanmadı.
- Sorgu bölüm sınırını geçer.
Sonraki veri sayfası için sonraki bir istek oluşturmak için devamlılık belirteçlerini kullanabilirsiniz. Devam belirteçleri hakkında daha fazla bilgi için bkz . Sorgu zaman aşımı ve sayfalandırma.
Not
Devamlılık belirteçleri içeren sonraki istekleri yaparken, istekte özgün URI'yi geçirmeyi unutmayın. Örneğin, özgün isteğin bir parçası olarak bir $filter
, $select
veya $top
sorgu seçeneği belirttiyseniz, sonraki isteklere bu seçeneği ekleyin. Aksi takdirde, sonraki istekleriniz beklenmeyen sonuçlar döndürebilir.
$top
Bu durumda sorgu seçeneği, sayfa başına en fazla sonuç sayısını belirtir. Yanıt kümesinin tamamında en fazla sonuç sayısını belirtmez.
Daha fazla bilgi için bkz . Sorgu tabloları ve varlıkları.
Sorgu seçeneğini kullanan $select
projeksiyon istekleri için sürüm 2011-08-18 veya üzeri olmalıdır. Döndürülen en fazla özellik sayısı 255'tir. Yanıt gövdesi, özellikler döndürülen varlığın parçası olmasa bile tüm öngörülen özellikleri içerir.
Örneğin, istek, öngörülen varlığın içermediği bir özellik içeriyorsa, eksik özellik null özniteliğiyle işaretlenir. Yukarıdaki örnek yanıt gövdesi, öngörülen varlığın Address
parçası olmayan özelliğini içerir. Bu nedenle özelliğin değeri null <d:Address m:null="true" />
: .
Sorguyu zamanlama ve işleme isteğine ayrılan toplam süre 30 saniyedir. Bu toplam, sorgu yürütme için beş saniyeyi içerir.
Sorgu ifadesinin sağ tarafının sabit olması gerektiğini unutmayın. İfadenin sağ tarafındaki bir özelliğe başvuramazsınız. Sorgu ifadeleri oluşturma hakkında ayrıntılı bilgi için bkz. Sorgu tabloları ve varlıkları.
Sorgu ifadesi değer içeremez null
. Bir sorgu dizesinde kullanıyorsanız aşağıdaki karakterlerin kodlanması gerekir:
Eğik çizgi (/)
Soru işareti (?)
İki nokta üst üste (:)
İşarette (@)
Ve işareti (&)
Eşittir işareti (=)
Artı işareti (+)
Virgül (,)
Dolar işareti ($)
HTTP GET
isteği yetkilendirilebilen ve gönderebilen tüm uygulamalar bir tablodaki varlıkları sorgulayabilir.
LINQ aracılığıyla Tablo Depolama'da desteklenen sorgu işlemleri hakkında daha fazla bilgi için bkz. Tablo Depolama için desteklenen sorgu işleçleri ve Tablo Depolamayakarşı LINQ sorguları yazma.
Ayrıca bkz.
Tablo Depolama hata kodları
Azure Depolama'ya yönelik istekleri yetkilendirme
Durum ve hata kodları
Tablo Depolama kaynaklarını ele alma
Tabloları ve varlıkları sorgulama
OData veri hizmeti sürüm üst bilgilerini ayarlama
Varlık Ekle
Varlığı Güncelleştir
Varlığı Sil