Entitáscsoport-tranzakciók végrehajtása
A Table szolgáltatás támogatja az ugyanazon táblában lévő és ugyanahhoz a partíciócsoporthoz tartozó entitásokon végrehajtott kötegelt tranzakciókat. Az entitás beszúrása, frissítése, entitás egyesítése, entitás törlése, entitás beszúrása vagy cseréje, valamint az entitás beszúrása vagy egyesítése műveletek egyetlen tranzakción belül támogatottak.
Entitáscsoport-tranzakciókra vonatkozó követelmények
Az entitáscsoport-tranzakcióknak meg kell felelniük a következő követelményeknek:
A tranzakció részeként végrehajtott műveletek hatálya alá tartozó összes entitásnak ugyanazzal
PartitionKey
az értékkel kell rendelkeznie.Egy entitás csak egyszer jelenhet meg a tranzakcióban, és csak egy művelet hajtható végre rajta.
A tranzakció legfeljebb 100 entitást tartalmazhat, és a teljes hasznos adat legfeljebb 4 MiB méretű lehet.
Minden entitásra vonatkoznak a Table Service-adatmodell ismertetése című cikkben ismertetett korlátozások.
Table Service-támogatás OData Batch-kérelmekhez
Az entitáscsoport-tranzakciók szemantikáját az OData protokoll specifikációja határozza meg. Az OData-specifikáció a következő fogalmakat határozza meg a kötegelt kérelmekhez:
A változáskészlet egy vagy több beszúrási, frissítési vagy törlési műveletből álló csoport.
A köteg a műveletek tárolója, beleértve egy vagy több változáskészletet és lekérdezési műveletet.
A Table szolgáltatás az OData-specifikáció által meghatározott funkciók egy részét támogatja:
- A Table szolgáltatás csak egyetlen módosításkészletet támogat egy kötegen belül. A változáskészlet több beszúrási, frissítési és törlési műveletet is tartalmazhat. Ha egy köteg egynél több változáskészletet is tartalmaz, az első változáskészletet a szolgáltatás dolgozza fel, és a további változáskészleteket a rendszer elutasítja a 400-ás állapotkóddal (Hibás kérés).
Fontos
Egyetlen entitáson belüli több művelet nem engedélyezett a változáskészleten belül.
Vegye figyelembe, hogy a lekérdezési műveletek nem engedélyezettek olyan kötegekben, amelyek beszúrási, frissítési vagy törlési műveleteket tartalmaznak; a kötegben kell egyesével elküldeni.
A változáskészleten belüli műveletek atomi módon vannak feldolgozva; vagyis a változáskészlet összes művelete sikeres vagy sikertelen. A műveletek feldolgozása a változáskészletben megadott sorrendben történik.
A Table szolgáltatás nem támogatja a módosításkészletek műveleteinek összekapcsolását.
A Table szolgáltatás legfeljebb 100 műveletet támogat egy változáskészletben.
Entitáscsoport-tranzakciók REST-en keresztül
Az alábbi szakaszok bemutatják, hogyan hozhat létre kötegelt kérést, és hogyan értelmezheti a batch-választ, és hogyan jelenítheti meg az egyes minták.
Kötegelt kérelem szintaxisa
Ha REST-en keresztül szeretne kötegelt kérelmet végrehajtani, adja meg a $batch
kérés URI-jának beállítását. Például:
https://myaccount.table.core.windows.net/$batch
Vegye figyelembe, hogy a kérelem URI-ja nem tartalmazza a tábla nevét.
A rendszer egy kötegelt kérelmet küld a kiszolgálónak egyetlen POST-direktívával. A kérelemnek tartalmaznia kell a x-ms-version
fejlécet; a fejléc értékét a vagy újabb értékre 2009-04-14
kell állítani.
Az XML hasznos adat egy többrészes MIME-üzenet, amely tartalmazza a köteget és a változáskészletet. A hasznos adat két MIME-határt tartalmaz:
A köteghatár magában foglalja a változáskészletet.
A változáskészlet határa elkülöníti a kötegben található egyes beszúrási, frissítési és törlési műveleteket.
A változáskészleten belüli egyedi kérések megegyeznek a művelet önmagában történő meghívásakor küldött kéréssel. Például:
Ha meg szeretné adni a
If-Match
fejlécet egy frissítési, egyesítési vagy törlési művelethez, adja meg a fejlécet a kérelemfejlécek készletében a módosításkészlet megfelelő műveletéhez.Ha meg szeretné adni a változáskészlet minden egyes műveletéhez tartozó hasznos adatformátumot (JSON vagy ATOM), adja meg a megfelelő
Content-Type
,Accept
ésVersion
DataServiceVersion
fejléceket, a Table Service-műveletek hasznos adatformátumában leírtak szerint.Ha el szeretné tiltani az Entitás beszúrása választartalom-visszhangját, adja meg a
Prefer
fejlécet areturn-no-content
módosításkészlet minden egyes beszúrási műveletének értékével. A fejlécről további információt aPrefer
Table Service funkcióinak összegzése című témakörben talál.
Mintakérés beszúrási, frissítési és törlési műveletekhez
Az alábbi példák két Entitás beszúrása műveletet és egy Egyesítési entitás műveletet tartalmazó kötegelt kérelmeket mutatnak be. Ezekben a példákban, mivel nem érdekli a beszúrási műveletek válaszában szereplő echo hasznos adat, a fejlécet is belefoglaljuk Prefer:``return-no-content
.
Megjegyzés
A JSON az ajánlott hasznos adatformátum, és ez az egyetlen támogatott formátum a 2015-12-11-s és újabb verziókban.
JSON (2013-08-15-ös és újabb verziók)
Az alábbi példa egy JSON-hasznos adattal rendelkező kötegelt kérelmet mutat be.
POST https://myaccount.table.core.windows.net/$batch HTTP/1.1
x-ms-version: 2013-08-15
Accept-Charset: UTF-8
DataServiceVersion: 3.0;
MaxDataServiceVersion: 3.0;NetFx
Content-Type: multipart/mixed; boundary=batch_a1e9d677-b28b-435e-a89e-87e6a768a431
x-ms-date: Mon, 14 Oct 2013 18:25:49 GMT
Authorization: SharedKey myaccount:50daR38MtfezvbMdKrGJVN+8sjDSn+AaA=
Host: 127.0.0.1:10002
Content-Length: 1323
Connection: Keep-Alive
--batch_a1e9d677-b28b-435e-a89e-87e6a768a431
Content-Type: multipart/mixed; boundary=changeset_8a28b620-b4bb-458c-a177-0959fb14c977
--changeset_8a28b620-b4bb-458c-a177-0959fb14c977
Content-Type: application/http
Content-Transfer-Encoding: binary
POST https://myaccount.table.core.windows.net/Blogs HTTP/1.1
Content-Type: application/json
Accept: application/json;odata=minimalmetadata
Prefer: return-no-content
DataServiceVersion: 3.0;
{"PartitionKey":"Channel_19", "RowKey":"1", "Rating":9, "Text":".NET..."}
--changeset_8a28b620-b4bb-458c-a177-0959fb14c977
Content-Type: application/http
Content-Transfer-Encoding: binary
POST https://myaccount.table.core.windows.net/Blogs HTTP/1.1
Content-Type: application/json
Accept: application/json;odata=minimalmetadata
Prefer: return-no-content
DataServiceVersion: 3.0;
{"PartitionKey":"Channel_17", "RowKey":"2", "Rating":9, "Text":"Azure..."}
--changeset_8a28b620-b4bb-458c-a177-0959fb14c977
Content-Type: application/http
Content-Transfer-Encoding: binary
MERGE https://myaccount.table.core.windows.net/Blogs(PartitionKey='Channel_17', RowKey='3') HTTP/1.1
Content-Type: application/json
Accept: application/json;odata=minimalmetadata
DataServiceVersion: 3.0;
{"PartitionKey":"Channel_19", "RowKey":"3", "Rating":9, "Text":"PDC 2008..."}
--changeset_8a28b620-b4bb-458c-a177-0959fb14c977--
--batch_a1e9d677-b28b-435e-a89e-87e6a768a431
Atomcsatorna (2015-12-11 előtti verziók)
Az alábbi példa egy Atom hasznos adattal rendelkező kötegelt kérést mutat be.
POST /$batch HTTP/1.1
User-Agent: Microsoft ADO.NET Data Services
x-ms-version: 2013-08-15
x-ms-date: Thu, 30 Aug 2013 20:45:13 GMT
Authorization: SharedKeyLite myaccount:asOEzsCDS7YEe6oi+bx47KMwbXL0lYZCOlR/oc3FReQ=
Accept: application/atom+xml,application/xml
Accept-Charset: UTF-8
DataServiceVersion: 1.0;NetFx
MaxDataServiceVersion: 2.0;NetFx
Content-Type: multipart/mixed; boundary=batch_a1e9d677-b28b-435e-a89e-87e6a768a431
Host: MyHostName:10002
Prefer: return-no-content
Content-Length: ###
--batch_a1e9d677-b28b-435e-a89e-87e6a768a431
Content-Type: multipart/mixed; boundary=changeset_8a28b620-b4bb-458c-a177-0959fb14c977
--changeset_8a28b620-b4bb-458c-a177-0959fb14c977
Content-Type: application/http
Content-Transfer-Encoding: binary
POST https://myaccount.table.core.windows.net/Blogs HTTP/1.1
Content-ID: 1
Content-Type: application/atom+xml;type=entry
Content-Length: ###
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<entry xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="https://www.w3.org/2005/Atom">
<title />
<author>
<name />
</author>
<id />
<content type="application/xml">
<m:properties>
<d:PartitionKey>Channel_19</d:PartitionKey>
<d:RowKey>1</d:RowKey>
<d:Rating m:type="Edm.Int32">9</d:Rating>
<d:Text>.NET...</d:Title>
</m:properties>
</content>
</entry>
--changeset_8a28b620-b4bb-458c-a177-0959fb14c977
Content-Type: application/http
Content-Transfer-Encoding: binary
POST https://myaccount.table.core.windows.net/Blogs HTTP/1.1
Content-ID: 2
Content-Type: application/atom+xml;type=entry
Prefer: return-no-content
Content-Length: ###
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<entry xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="https://www.w3.org/2005/Atom">
<title />
<author>
<name />
</author>
<id />
<content type="application/xml">
<m:properties>
<d:PartitionKey>Channel_19</d:PartitionKey>
<d:RowKey>2</d:RowKey>
<d:Rating m:type="Edm.Int32">9</d:Rating>
<d:Text>Azure...</d:Title>
</m:properties>
</content>
</entry>
--changeset_8a28b620-b4bb-458c-a177-0959fb14c977
Content-Type: application/http
Content-Transfer-Encoding: binary
MERGE https://myaccount.table.core.windows.net/Blogs(PartitionKey='Channel_19', RowKey='3') HTTP/1.1
Content-ID: 3
Content-Type: application/atom+xml;type=entry
Content-Length: ###
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<entry xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="https://www.w3.org/2005/Atom">
<title />
<author>
<name />
</author>
<id>https://myaccount.table.core.windows.net/Blogs(PartitionKey='Channel_19',RowKey='3')</id>
<content type="application/xml">
<m:properties>
<d:PartitionKey>Channel_19</d:PartitionKey>
<d:RowKey>3</d:RowKey>
<d:Rating m:type="Edm.Int32">9</d:Rating>
<d:Text>PDC 2008...</d:Title>
</m:properties>
</content>
</entry>
--changeset_8a28b620-b4bb-458c-a177-0959fb14c977--
--batch_a1e9d677-b28b-435e-a89e-87e6a768a431—
Lekérdezések mintakérelmének
Az alábbi példák egy lekérdezés kötegelt kérését mutatják be. Vegye figyelembe, hogy csak egyetlen lekérdezés szerepelhet a változáskészletben.
Megjegyzés
A JSON az ajánlott hasznos adatformátum, és ez az egyetlen támogatott formátum a 2015-12-11-s és újabb verziókban.
JSON (2013-08-15-ös és újabb verziók)
Az alábbi példa egy JSON-hasznos adattal rendelkező kötegelt kérelmet mutat be.
POST https://myaccount.table.core.windows.net/$batch HTTP/1.1
x-ms-version: 2013-08-15
Accept-Charset: UTF-8
DataServiceVersion: 3.0;
MaxDataServiceVersion: 3.0;NetFx
Content-Type: multipart/mixed; boundary=batch_f351702c-c8c8-48c6-af2c-91b809c651ce
x-ms-date: Mon, 14 Oct 2013 19:03:55 GMT
Authorization: SharedKey testaccount1:y6TxCsXeRiR4l1KqihwRJ05Qb5zBk=
Host: 127.0.0.1:10002
Content-Length: 255
Connection: Keep-Alive
--batch_f351702c-c8c8-48c6-af2c-91b809c651ce
Content-Type: application/http
Content-Transfer-Encoding: binary
GET https://myaccount.table.core.windows.net/Blogs(PartitionKey='Channel_19',RowKey='2') HTTP/1.1
Accept: application/json;odata=minimalmetadata
--batch_f351702c-c8c8-48c6-af2c-91b809c651ce
Atomcsatorna (2015-12-11 előtti verziók)
Az alábbi példa egy Atom hasznos adattal rendelkező kötegelt kérést mutat be.
POST /$batch HTTP/1.1
User-Agent: Microsoft ADO.NET Data Services
x-ms-version: 2013-08-15
x-ms-date: Thu, 30 Aug 2013 20:45:13 GMT
Authorization: SharedKeyLite myaccount:asOEzsCDS7YEe6oi+bx47KMwbXL0lYZCOlR/oc3FReQ=
Accept: application/atom+xml,application/xml
Accept-Charset: UTF-8
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Content-Type: multipart/mixed; boundary=batch_f351702c-c8c8-48c6-af2c-91b809c651ce
Content-Length: ###
--batch_f351702c-c8c8-48c6-af2c-91b809c651ce
Content-Type: application/http
Content-Transfer-Encoding: binary
GET https://myaccount.table.core.windows.net/Blogs(PartitionKey='Channel_19',RowKey='2') HTTP/1.1
--batch_f351702c-c8c8-48c6-af2c-91b809c651ce—
Kötegelt válasz szintaxisa
A válasz egy általános állapotkódot ad vissza a kötegelt kérelemhez, valamint a változáskészlet minden egyes műveletéhez egyedi állapotkódokat és eredménytöredékeket. A válasz egy többrészes MIME-üzenet, amely köteghatárt és változáskészlet-határt tartalmaz.
A Table szolgáltatás egy állapotkódot ad vissza a teljes kötegelt kérelemhez, valamint egy vagy több állapotkódot a változáskészlet műveleteihez attól függően, hogy sikeresek vagy sikertelenek.
Feltételezve, hogy a batch-kérés megfelelő jogosultsággal rendelkezik, és a Table szolgáltatás sikeresen megkapta, a kötegkérés a 202-s állapotkódot adja vissza (Elfogadva), még akkor is, ha a változáskészlet egyik művelete meghiúsul. Ha maga a kötegelt kérelem meghiúsul, a módosításkészlet bármely műveletének végrehajtása előtt meghiúsul. A kötegelt kérelem például engedélyezési hiba miatt meghiúsulhat, ebben az esetben az állapotkód ezt a hibát jelzi.
A változáskészletben lévő műveletek atomi módon vannak feldolgozva; vagyis a köteg összes művelete sikeres, vagy a teljes köteg meghiúsul. A Table szolgáltatás addig folytatja a módosításkészlet műveleteinek feldolgozását, amíg az egyik meghibásodik. Ha egy művelet meghiúsul, a rendszer a köteg összes korábbi műveletét visszaállítja. Emellett az entitáscsoport-tranzakciók pillanatkép-elkülönítéssel is végrehajthatók.
A változáskészleten belüli egyes műveletek állapotkódja a változáskészlet válaszában jelenik meg. Ha egy adott művelet meghiúsul, a változáskészlet válasza a 400 -Bad Request
os () állapotkódot jelzi. A válaszban szereplő további hibainformációk azt jelzik, hogy melyik művelet meghiúsult a művelet indexének visszaadásával. Az index a hasznos adatban lévő parancs sorszáma.
Példaként tekintse meg az alábbi minta hibaválaszt.
Mintaválasz létrehozási, frissítési és törlési műveletekhez
Az alábbi példák a fenti mintakérésekben küldött kötegelt műveletekre adott válaszokat mutatják be.
JSON (2013-08-15-ös és újabb verziók)
Az alábbi példa egy JSON-hasznos adattal rendelkező kérésre adott választ mutat be.
HTTP/1.1 202 Accepted
Cache-Control: no-cache
Content-Type: multipart/mixed; boundary=batchresponse_e69b1c6c-62ff-471e-ab88-9a4aeef0a880
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: ed9c96eb-9473-4fd9-abf6-fa4dcf0d6295
x-ms-version: 2013-08-15
X-Content-Type-Options: nosniff
Date: Mon, 14 Oct 2013 18:25:49 GMT
Content-Length: 1647
--batchresponse_e69b1c6c-62ff-471e-ab88-9a4aeef0a880
Content-Type: multipart/mixed; boundary=changesetresponse_a6253244-7e21-42a8-a149-479ee9e94a25
--changesetresponse_a6253244-7e21-42a8-a149-479ee9e94a25
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 204 No Content
Content-ID: 1
X-Content-Type-Options: nosniff
Cache-Control: no-cache
Preference-Applied: return-no-content
DataServiceVersion: 3.0;
Location: https://myaccount.table.core.windows.net/Blogs(PartitionKey='Channel_19',RowKey='1')
DataServiceId: https://myaccount.table.core.windows.net/Blogs (PartitionKey='Channel_19',RowKey='1')
ETag: W/"0x8D101F7E4B662C4"
--changesetresponse_a6253244-7e21-42a8-a149-479ee9e94a25
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 204 No Content
Content-ID: 2
X-Content-Type-Options: nosniff
Cache-Control: no-cache
Preference-Applied: return-no-content
DataServiceVersion: 3.0;
Location: https://myaccount.table.core.windows.net/Blogs (PartitionKey='Channel_19',RowKey='2')
DataServiceId: https://myaccount.table.core.windows.net/Blogs (PartitionKey='Channel_19',RowKey='2')
ETag: W/"0x8C134F7A4B692D8"
--changesetresponse_a6253244-7e21-42a8-a149-479ee9e94a25
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 204 No Content
Content-ID: 3
X-Content-Type-Options: nosniff
Cache-Control: no-cache
DataServiceVersion: 1.0;
ETag: W/"0x8A541B7C4D699D7"
--changesetresponse_a6253244-7e21-42a8-a149-479ee9e94a25--
--batchresponse_e69b1c6c-62ff-471e-ab88-9a4aeef0a880--
Atomcsatorna (2015-12-11 előtti verziók)
Az alábbi példa egy Atom hasznos adattal rendelkező kérésre adott választ mutat be.
HTTP/1.1 202 Accepted
Cache-Control: no-cache
Transfer-Encoding: chunked
Content-Type: multipart/mixed; boundary=batchresponse_dc0fea8c-ed83-4aa8-ac9b-bf56a2d46dfb
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: b4b49b3e-19a9-4091-a280-da76a09da8d4
Date: Thu, 30 Aug 2013 20:44:09 GMT
334
batchresponse_dc0fea8c-ed83-4aa8-ac9b-bf56a2d46dfb
Content-Type: multipart/mixed; boundary=--changesetresponse_8a28b620-b4bb-458c-a177-0959fb14c977
--changesetresponse_8a28b620-b4bb-458c-a177-0959fb14c977
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 204 No Content
Content-ID: 1
Cache-Control: no-cache
Preference-Applied: return-no-content
ETag: W/"0x8D101F7E4B662C4"
Location: https://myaccount.table.core.windows.net/Blogs(PartitionKey='Channel_19',RowKey='1')
DataServiceVersion: 3.0;
--changesetresponse_8a28b620-b4bb-458c-a177-0959fb14c977
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 204 No Content
Content-ID: 2
Cache-Control: no-cache
Preference-Applied: return-no-content
ETag: W/"0x8C134F7A4B692D8"
Location: https://myaccount.table.core.windows.net/Blogs(PartitionKey='Channel_19',RowKey='2')
DataServiceVersion: 3.0;
--changesetresponse_8a28b620-b4bb-458c-a177-0959fb14c977
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 204 No Content
Content-ID: 3
Cache-Control: no-cache
ETag: W/"0x8A541B7C4D699D7"
DataServiceVersion: 3.0;
--changesetresponse_8a28b620-b4bb-458c-a177-0959fb14c977--
--batchresponse_4c637ba4-b2f8-40f8-8856-c2d10d163a83--
Lekérdezések mintaválasza
Az alábbi példák a fenti mintakérésekben küldött lekérdezésekre adott válaszokat mutatják be.
JSON (2013-08-15-ös és újabb verziók)
Az alábbi példa egy JSON-hasznos adattal rendelkező kérésre adott választ mutat be.
HTTP/1.1 202 Accepted
Cache-Control: no-cache
Content-Type: multipart/mixed; boundary=batchresponse_0a568496-fb38-4a83-9984-5908d7f4c63d
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 6f2aafa3-19e9-434c-85f2-d178941c2d4b
x-ms-version: 2013-08-15
X-Content-Type-Options: nosniff
Date: Mon, 14 Oct 2013 19:13:30 GMT
Content-Length: 615
--batchresponse_0a568496-fb38-4a83-9984-5908d7f4c63d
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 200 OK
DataServiceVersion: 3.0;
Content-Type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8
X-Content-Type-Options: nosniff
Cache-Control: no-cache
ETag: W/"0x5B168C7B6E589D2"
{"odata.metadata":" https://myaccount.table.core.windows.net/Blogs/$metadata#Blogs/@Element","PartitionKey":"Channel_19","RowKey":"2","Timestamp":"2013-10-14T18:25:49.8922467Z","Rating":9,"Text":"Azure..."}
--batchresponse_0a568496-fb38-4a83-9984-5908d7f4c63d--
Atomcsatorna (2015-12-11 előtti verziók)
Az alábbi példa egy Atom hasznos adattal rendelkező kérésre adott választ mutat be.
HTTP/1.1 202 Accepted
Cache-Control: no-cache
Transfer-Encoding: chunked
Content-Type: multipart/mixed; boundary=batchresponse_4c637ba4-b2f8-40f8-8856-c2d10d163a83
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 9202c4a1-43af-4dc0-baca-aa71f7a7407b
Date: Thu, 30 Aug 2013 20:44:10 GMT
--batchresponse_4c637ba4-b2f8-40f8-8856-c2d10d163a83
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 200 OK
Content-Type: application/atom+xml;charset=utf-8
Cache-Control: no-cache
ETag: W/"0x5B168C7B6E589D2"
DataServiceVersion: 3.0;
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<entry xml:base="http://127.0.0.1:10002/testaccount1/" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" m:etag="W/"0x5B168C7B6E589D2"" xmlns="https://www.w3.org/2005/Atom">
<id> https://myaccount.table.core.windows.net/Blogs(PartitionKey='Channel_19',RowKey='1')</id>
<title type="text"></title>
<updated>2013-08-30T20:44:10Z</updated>
<author>
<name />
</author>
<link rel="edit" title="Blogs" href=" Blogs(PartitionKey='Channel_19',RowKey='2')" />
<category term="myaccount.Blogs" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
<content type="application/xml">
<m:properties>
<d:PartitionKey>Channel_19</d:PartitionKey>
<d:RowKey>2</d:RowKey>
<d:Timestamp m:type="Edm.DateTime">2013-08-30T20:44:09.5789464Z</d:Timestamp>
<d:Text>.Net...</d:RowKey>
<d:Rating m:type="Edm.Int32">9</d:Rating>
</m:properties>
</content>
</entry>
--batchresponse_4c637ba4-b2f8-40f8-8856-c2d10d163a83--
Hibaválaszminta
Az alábbi példák a sikertelen műveletet tartalmazó kötegelt kérelmek válaszait mutatják be. Vegye figyelembe, hogy a kötegelt válasz a 202-s állapotkódot adja vissza (Elfogadva), de a sikertelen egyedi művelet a 400-ás állapotkódot adja vissza (hibás kérés). A további hibainformációkat a sikertelen művelet választörzse tartalmazza. Az code
elem megadja a tárolási szolgáltatás hibakódját, míg az message
elem a sikertelen művelet indexével kezdődik, majd a hibaüzenet sztringjével. Annak megállapításához, hogy melyik művelet nem sikerült, elemeznie kell az üzenet indexértékét. A műveletek indexelése nullától kezdődik.
Hibaválasz kéréshez JSON formátumban
A JSON-példában vegye figyelembe, hogy a sikertelen művelet volt az első művelet a változáskészletben.
message
A név/érték páron belül az üzenet a számmal 0
kezdődik, amelyet a kiterjesztett hibainformáció követ.
HTTP/1.1 202 Accepted
Cache-Control: no-cache
Content-Type: multipart/mixed; boundary=batchresponse_4e1c04af-af2b-4cfc-9e35-7677a5efcfca
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 8abd3c55-a72e-47ba-ae0b-ba43abeb76ae
x-ms-version: 2013-08-15
X-Content-Type-Options: nosniff
Date: Mon, 14 Oct 2013 19:21:58 GMT
Content-Length: 1051
--batchresponse_4e1c04af-af2b-4cfc-9e35-7677a5efcfca
Content-Type: multipart/mixed; boundary=changesetresponse_e2a26601-bba8-4c1a-8a8c-bb66badcbca1
--changesetresponse_e2a26601-bba8-4c1a-8a8c-bb66badcbca1
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 400 Bad Request
Content-ID: 1
X-Content-Type-Options: nosniff
DataServiceVersion: 3.0;
Content-Type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8
{"odata.error":{"code":"OutOfRangeInput","message":{"lang":"en-US","value":"0:One of the request inputs is out of range.\nRequestId:8abd3c55-a72e-47ba-ae0b-ba43abeb76ae\nTime:2013-10-14T19:21:58.0890048Z}}}
--changesetresponse_e2a26601-bba8-4c1a-8a8c-bb66badcbca1--
--batchresponse_4e1c04af-af2b-4cfc-9e35-7677a5efcfca--
Hibaválasz a kéréshez Atom formátumban
Az Atom-példában vegye figyelembe, hogy a sikertelen művelet a változáskészlet negyedik művelete volt. Az elemen belül az message
üzenet a számmal 3
kezdődik, amelyet a kiterjesztett hibainformáció követ.
<message xml:lang="en-US">3:One of the request inputs is not valid.</message>
A teljes válasz a következő:
HTTP/1.1 202 Accepted
Cache-Control: no-cache
Transfer-Encoding: chunked
Content-Type: multipart/mixed; boundary=batchresponse_7ab1553a-7dd6-44e7-8107-bf1ea1ab1876
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 45ac953e-a4a5-42ba-9b4d-97bf74a8a32e
Date: Thu, 30 Apr 2009 20:45:13 GMT
6E7
--batchresponse_7ab1553a-7dd6-44e7-8107-bf1ea1ab1876
Content-Type: multipart/mixed; boundary=changesetresponse_6cc856b4-8cb9-41eb-b8d2-bb73475c6cec
--changesetresponse_6cc856b4-8cb9-41eb-b8d2-bb73475c6cec
Content-Type: application/http
Content-Transfer-Encoding: binary
HTTP/1.1 400 Bad Request
Content-ID: 4
Content-Type: application/xml
Cache-Control: no-cache
DataServiceVersion: 1.0;
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<code>InvalidInput</code>
<message xml:lang="en-US">3:One of the request inputs is not valid.</message>
</error>
--changesetresponse_6cc856b4-8cb9-41eb-b8d2-bb73475c6cec--
--batchresponse_7ab1553a-7dd6-44e7-8107-bf1ea1ab1876--
Lásd még:
OData-specifikáció
A Table Service szolgáltatással kapcsolatos fogalmak