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és VersionDataServiceVersion 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 a return-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 a PreferTable 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 Requestos () á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 0kezdő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 3kezdő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