Entitások lekérdezése
A Query Entities
művelet lekérdezi egy tábla entitásait, és tartalmazza a és $select
a $filter
beállításokat.
Kérés
A lekérdezési lehetőséget használó kérésekhez a $select
2011-08-18-es vagy újabb verziót kell használnia. Emellett a és MaxDataServiceVersion
a DataServiceVersion
fejlécet értékre kell állítani.2.0
A leképezés használatához a kérést a 2013-08-15-es vagy újabb verzióval kell elvégeznie. A DataServiceVersion
és MaxDataServiceVersion
a fejlécet értékre 3.0
kell állítani. További információ: Az OData-adatszolgáltatás verziófejléceinek beállítása.
A kérést az Query Entities
alábbiak szerint hozhatja létre. A HTTPS használatát javasoljuk. Cserélje le a myaccount kifejezést a tárfiók nevére, a mytable helyére pedig a tábla nevét.
Metódus | Kérés URI-ja | HTTP-verzió |
---|---|---|
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 |
A lekérdezni kívánt entitás címe különböző űrlapokat ölthet a kérelem URI-ján. További információ: Táblák és entitások lekérdezése.
Emulált tárolási szolgáltatás URI-ja
Amikor kérést küld az emulált tárolási szolgáltatásra, adja meg az emulátor gazdagépnevét és a table szolgáltatás portját a következőként: 127.0.0.1:10002
. Kövesse ezeket az információkat az emulált tárfiók nevével.
Metódus | Kérés URI-ja | HTTP-verzió |
---|---|---|
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 |
A Storage Emulator Table szolgáltatása többféleképpen különbözik az Azure Table Storage-tól. További információ: A storage emulátor és az Azure Storage-szolgáltatások közötti különbségek.
URI-paraméterek
A Query Entities
művelet támogatja az OData protokoll specifikációja által meghatározott lekérdezési beállításokat.
Kérésfejlécek
Az alábbi táblázat a szükséges és nem kötelező kérelemfejléceket ismerteti:
Kérelem fejléce | Leírás |
---|---|
Authorization |
Kötelező. Megadja az engedélyezési sémát, a fióknevet és az aláírást. További információ: Kérelmek engedélyezése az Azure Storage-ba. |
Date vagy x-ms-date |
Kötelező. Megadja a kérés egyezményes világidő (UTC) formátumban kifejezett időpontját. További információ: Kérelmek engedélyezése az Azure Storage-ba. |
x-ms-version |
Választható. A kérelemhez használandó művelet verzióját adja meg. További információ: Az Azure Storage-szolgáltatások verziószámozása. |
Accept |
Választható. Megadja a válasz hasznos adatának elfogadott tartalomtípusát. Lehetséges értékek: - application/atom+xml (csak 2015-12-11 előtti verziók)- application/json;odata=nometadata - application/json;odata=minimalmetadata - application/json;odata=fullmetadata További információ: A Table Storage-műveletek hasznos adatformátuma. |
x-ms-client-request-id |
Választható. Ügyfél által generált, átlátszatlan értéket biztosít egy 1 kibibyte (KiB) karakterkorláttal, amelyet a naplózás konfigurálásakor rögzít a naplókban. Javasoljuk, hogy ezt a fejlécet használva korrelálja az ügyféloldali tevékenységeket a kiszolgáló által kapott kérésekkel. |
A kérés törzse
Nincsenek.
Mintakérés
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
Reagálás
A válasz tartalmaz egy HTTP-állapotkódot, egy válaszfejléceket és egy választörzset.
Állapotkód
A sikeres művelet a 200 -os állapotkódot adja vissza (OK).
Az állapotkódokkal kapcsolatos információkért lásd: Állapot- és hibakódok és Table Storage-hibakódok.
Válaszfejlécek
A műveletre adott válasz a következő fejléceket tartalmazza. A válasz további szabványos HTTP-fejléceket is tartalmazhat. Minden szabványos fejléc megfelel a HTTP/1.1 protokoll specifikációjának.
Válaszfejléc | Description |
---|---|
x-ms-continuation-NextPartitionKey x-ms-continuation-NextRowKey |
Azt jelzi, hogy: – A visszaadandó entitások száma meghaladja az 1000-et. – Túllépte a kiszolgáló időtúllépési időközét. – A rendszer eléri a kiszolgálóhatárt, ha a lekérdezés olyan adatokat ad vissza, amelyek több kiszolgáló között oszlanak meg. További információ a folytatási jogkivonatok használatáról: Lekérdezési időtúllépés és lapozás. |
x-ms-request-id |
Egyedileg azonosítja a végrehajtott kérést. Segítségével elháríthatja a kérést. További információ: API-műveletek hibaelhárítása. |
x-ms-version |
A Table Storage azon verzióját jelzi, amelyet a kérés végrehajtásához használtak. Ez a fejléc lesz visszaadva a 2009-09-19-es és újabb verzióval kapcsolatos kérésekhez. |
Date |
UTC dátum/idő érték, amely azt az időpontot jelzi, amikor a szolgáltatás elküldte a választ. |
Content-Type |
A hasznos adat tartalomtípusát jelzi. A fejléc értéke a kérelemfejléc értékétől Accept függ. Lehetséges értékek:- application/atom+xml (csak 2015-12-11 előtti verziók)- application/json;odata=nometadata - application/json;odata=minimalmetadata - application/json;odata=fullmetadata Az érvényes tartalomtípusokról további információt a Table Storage-műveletek hasznos adatformátuma című témakörben talál. |
x-ms-client-request-id |
A kérések és a megfelelő válaszok hibaelhárítására használható. A fejléc értéke megegyezik a x-ms-client-request-id fejléc értékével, ha az szerepel a kérelemben, és az érték legfeljebb 1024 látható ASCII-karakterből áll. Ha a x-ms-client-request-id fejléc nincs jelen a kérelemben, ez a fejléc nem lesz jelen a válaszban. |
Mintaválasz
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
Választörzs
A Query Entities
művelet egy táblában lévő entitások listáját adja vissza OData-entitáskészletként. Az entitások listája A kérelem fejlécétől függően Accept
JSON-formátumban vagy Atom-hírcsatornában található.
Megjegyzés
Hasznos adatformátumként a JSON-t javasoljuk. Ez az egyetlen támogatott formátum a 2015-12-11-es és újabb verziókhoz.
JSON (2013-08-15-es és újabb verziók)
Íme egy mintakérés URI-ja egy Query Entities
művelethez egy ügyféltáblán:
GET /myaccount/Customers()?$filter=(Rating%20ge%203)%20and%20(Rating%20le%206)&$select=PartitionKey,RowKey,Address,CustomerSince
A válasz hasznos adatai a JSON-ban metaadatok nélkül:
{
"value":[
{
"PartitionKey":"Customer",
"RowKey":"Name",
"Timestamp":"2013-08-22T00:20:16.3134645Z",
"CustomerSince":"2008-10-01T15:25:05.2852025Z"
}
]
}
A válasz hasznos adatai a JSON-ban, minimális metaadatokkal:
{
"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"
}
]
}
A válasz hasznos adatai a JSON-ban a teljes metaadatokkal:
{
"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-hírcsatorna (2015-12-11 előtti verziók)
Íme egy mintakérés URI-ja egy Query Entities
művelethez egy ügyféltáblán:
GET /myaccount/Customers()?$filter=(Rating%20ge%203)%20and%20(Rating%20le%206)&$select=PartitionKey,RowKey,Address,CustomerSince
Íme egy Atom-mintaválasz a Query Entities
művelethez:
<?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>
Engedélyezés
Ezt a műveletet a fióktulajdonos és bárki végrehajthatja, aki rendelkezik a művelet végrehajtásához engedéllyel rendelkező közös hozzáférésű jogosultságkóddal.
Megjegyzések
A Table Storage-lekérdezések egyszerre legfeljebb 1000 entitást adhatnak vissza, és legfeljebb öt másodpercig futtathatók. A válasz olyan egyéni fejléceket tartalmaz, amelyek folytatási jogkivonatokat tartalmaznak az alábbi esetekben:
- Az eredményhalmaz több mint 1000 entitást tartalmaz.
- A lekérdezés nem fejeződött be öt másodpercen belül.
- A lekérdezés átlépi a partíció határát.
A folytatási jogkivonatokkal további kéréseket hozhat létre a következő adatoldalhoz. További információ a folytatási jogkivonatokról: Lekérdezés időtúllépése és tördelése.
Megjegyzés
Ha folytatási jogkivonatokat tartalmazó további kéréseket küld, mindenképpen adja át az eredeti URI-t a kérésen. Ha például egy , $select
vagy $top
lekérdezési lehetőséget adott meg $filter
az eredeti kérés részeként, adja meg ezt a beállítást a későbbi kérésekhez. Ellenkező esetben előfordulhat, hogy a későbbi kérések váratlan eredményeket adnak vissza.
Ebben $top
az esetben a lekérdezési beállítás határozza meg az oldalankénti eredmények maximális számát. Nem adja meg az eredmények maximális számát a teljes válaszkészletben.
További információ: Táblák és entitások lekérdezése.
A lekérdezési lehetőséget használó $select
leképezési kérelmeknél a verziónak 2011-08-18-18-nak vagy újabbnak kell lennie. A visszaadott tulajdonságok maximális száma 255. A válasz törzse tartalmazza az összes előre jelzett tulajdonságot, még akkor is, ha a tulajdonságok nem részei a visszaadott entitásnak.
Ha például a kérelem olyan tulajdonságot tartalmaz, amelyet a kivetített entitás nem tartalmaz, a hiányzó tulajdonság null attribútummal lesz megjelölve. Az előző mintaválasz törzse tartalmazza a Address
tulajdonságot, amely nem része a kivetített entitásnak. A tulajdonság értéke tehát null: <d:Address m:null="true" />
.
A lekérdezés ütemezésére és feldolgozására vonatkozó kérelem teljes időtartama 30 másodperc. Ez az összeg tartalmazza a lekérdezés végrehajtásához szükséges öt másodpercet.
Vegye figyelembe, hogy a lekérdezési kifejezés jobb oldalán konstansnak kell lennie. A kifejezés jobb oldalán lévő tulajdonságra nem hivatkozhat. A lekérdezési kifejezések felépítésével kapcsolatos részletekért lásd: Lekérdezési táblák és entitások.
A lekérdezési kifejezések nem tartalmazhatnak null
értékeket. A következő karaktereket kell kódolni, ha lekérdezési sztringben használja őket:
Perjel (/)
Kérdőjel (?)
Kettőspont (:)
At sign (@)
Ampersand (&)
Egyenlőségjel (=)
Pluszjel (+)
Vessző (,)
Dollárjel ($)
A HTTP-kérések GET
engedélyezésére és küldésére jogosult bármely alkalmazás lekérdezheti egy tábla entitásait.
A Table Storage LINQ-n keresztüli támogatott lekérdezési műveleteiről további információt a Table Storage-hoz támogatott lekérdezési operátorok és a LINQ-lekérdezések a Table Storage-on történő írása című témakörben talál.
Lásd még
Table Storage-hibakódok
Kérések engedélyezése az Azure Storage-nak
Állapot- és hibakódok
Table Storage-erőforrások kezelése
Táblák és entitások lekérdezése
Az OData-adatszolgáltatás verziófejléceinek beállítása
Entitás beszúrása
Entitás frissítése
Entitás törlése