Sdílet prostřednictvím


Provádění transakcí skupin entit

Služba Table service podporuje dávkové transakce u entit, které jsou ve stejné tabulce a patří do stejné skupiny oddílů. Operace Vícenásobné vložení entity, aktualizace entity, sloučení entity, odstranění entity, vložení nebo nahrazení entity a vložení nebo sloučení entity jsou podporovány v rámci jedné transakce.

Požadavky na transakce skupin entit

Transakce skupiny entit musí splňovat následující požadavky:

  • Všechny entity, které jsou předmětem operací v rámci transakce, musí mít stejnou PartitionKey hodnotu.

  • Entita se v transakci může zobrazit pouze jednou a lze s ní provést pouze jednu operaci.

  • Transakce může obsahovat maximálně 100 entit a její celková datová část nesmí být větší než 4 MiB.

  • Na všechny entity se vztahují omezení popsaná v tématu Principy datového modelu služby Table Service.

Podpora služby Table Service pro žádosti OData Batch

Sémantiku pro transakce skupin entit definuje specifikace protokolu OData. Specifikace OData definuje následující koncepty dávkových požadavků:

  • Sada změn je skupina jedné nebo více operací vložení, aktualizace nebo odstranění.

  • Batch je kontejner operací, včetně jedné nebo více sad změn a operací dotazů.

Služba Table podporuje podmnožinu funkcí definovaných specifikací OData:

  • Služba Table service podporuje pouze jednu sadu změn v rámci dávky. Sada změn může zahrnovat několik operací vložení, aktualizace a odstranění. Pokud dávka obsahuje více než jednu sadu změn, služba zpracuje první sadu změn a další sady změn budou odmítnuty se stavovým kódem 400 (Chybná žádost).

Důležité

V rámci sady změn není povoleno více operací s jednou entitou.

  • Všimněte si, že operace dotazu není povolena v rámci dávky, která obsahuje operace vložení, aktualizace nebo odstranění. musí být odeslán jednotlivě v dávce.

  • Operace v rámci sady změn se zpracovávají atomicky; to znamená, že všechny operace v sadě změn buď proběhnou úspěšně, nebo selžou. Operace se zpracovávají v pořadí, v jakém jsou zadané v sadě změn.

  • Služba Table Service nepodporuje operace propojení v sadě změn.

  • Služba Table Service podporuje maximálně 100 operací v sadě změn.

Transakce skupin entit přes REST

Následující části popisují, jak vytvořit dávkový požadavek a jak interpretovat dávkovou odpověď a zobrazit ukázky z nich.

Syntaxe požadavků služby Batch

Pokud chcete provést dávkový požadavek přes REST, zadejte $batch možnost v identifikátoru URI požadavku. Příklad:

https://myaccount.table.core.windows.net/$batch  

Všimněte si, že identifikátor URI požadavku neobsahuje název tabulky.

Dávkový požadavek se odešle na server s jednou direktivou POST. Tento požadavek musí obsahovat hlavičku x-ms-version ; hodnota hlavičky musí být nastavená na 2009-04-14 hodnotu nebo novější.

Datová část XML je vícedílná zpráva MIME obsahující dávku a sadu změn. Datová část zahrnuje dvě hranice MIME:

  • Hranice dávky zahrnuje sadu změn.

  • Hranice sady změn odděluje jednotlivé operace vložení, aktualizace a odstranění v dávce.

Individuální požadavek v rámci sady změn je shodný s požadavkem provedeným při vlastním vyvolání této operace. Příklad:

  • Pokud chcete zadat hlavičku If-Match u operace aktualizace, sloučení nebo odstranění, zahrňte hlavičku do sady hlaviček požadavků pro příslušnou operaci v sadě změn.

  • Pokud chcete zadat formát datové části (JSON nebo ATOM) pro každou operaci v sadě změn, zahrňte příslušné Content-Typehlavičky , AcceptVersion aDataServiceVersion, jak je podrobně vysvětleno v tématu Formát datové části pro operace služby Table Service.

  • Chcete-li potlačit odezvu obsahu odpovědi pro entitu Vložení, zadejte Prefer v sadě změn hlavičku return-no-content s hodnotou pro každou operaci vložení. Další informace o hlavičce najdete v Prefer tématu Souhrn funkcí služby Table Service.

Ukázkový požadavek pro operace vložení, aktualizace a odstranění

Následující příklady ukazují dávkové požadavky obsahující dvě operace Vložení entity a operaci sloučení entity . Vzhledem k tomu, že v těchto příkladech nemáme zájem o datovou část echo v odpovědi pro operace vložení, zahrneme hlavičku Prefer:``return-no-content .

Poznámka

Doporučený formát datové části je JSON, který je jediným podporovaným formátem pro verze 2015-12-11 a novější.

JSON (verze 2013-08-15 a novější)

Následující příklad ukazuje dávkový požadavek s datovou částí JSON.

  
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  
  
Informační kanál Atom (verze před 11. 12. 2015)

Následující příklad ukazuje dávkový požadavek s datovou částí Atom.

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—  
  

Ukázkový požadavek pro dotazy

Následující příklady ukazují dávkový požadavek na dotaz. Všimněte si, že do sady změn může být zahrnut pouze jeden dotaz.

Poznámka

Doporučený formát datové části je JSON, který je jediným podporovaným formátem pro verze 2015-12-11 a novější.

JSON (verze 2013-08-15 a novější)

Následující příklad ukazuje dávkový požadavek s datovou částí JSON.

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  
  
Informační kanál Atom (verze před 11. 12. 2015)

Následující příklad ukazuje dávkový požadavek s datovou částí Atom.

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—  
  

Syntaxe dávkové odpovědi

Odpověď vrátí celkový stavový kód dávkového požadavku a jednotlivé stavové kódy a fragmenty výsledků pro každou operaci v sadě změn. Odpověď je vícedílná zpráva MIME, která obsahuje dávkovou hranici a hranici sady změn.

Služba Table service vrátí stavový kód pro celou dávkovou žádost a jeden nebo více stavových kódů pro operace v sadě změn v závislosti na tom, jestli byly úspěšné nebo neúspěšné.

Za předpokladu, že byl dávkový požadavek správně autorizován a úspěšně přijat službou Table Service, vrátí dávkový požadavek stavový kód 202 (Přijato), i když jedna z operací v sadě změn selže. Pokud samotný dávkový požadavek selže, selže před provedením jakékoli operace v sadě změn. Dávkový požadavek může například selhat kvůli chybě autorizace, v takovém případě stavový kód bude indikovat, že došlo k chybě.

Operace v sadě změn se zpracovávají atomicky; to znamená, že buď všechny operace v dávce proběhnou úspěšně, nebo selže celá dávka. Služba Table service pokračuje ve zpracování operací v sadě změn, dokud se jeden nezdaří. Pokud operace selže, vrátí se zpět všechny předchozí operace v dávce. Kromě toho se transakce skupin entit spouštějí s izolací snímků.

Stavový kód pro jednotlivé operace v rámci sady změn se zobrazí v odpovědi sady změn. Pokud selže jednotlivá operace, bude odpověď na sadu změn indikovat stavový kód 400 (Bad Request). Další informace o chybě v odpovědi označují, která operace selhala, a to vrácením indexu této operace. Index je pořadové číslo příkazu v datové části.

Příklad: Níže najdete ukázkovou chybovou odpověď.

Ukázková odpověď pro operace vytvoření, aktualizace a odstranění

Následující příklady ukazují odpovědi na dávkové operace odeslané v ukázkových požadavcích uvedených výše.

JSON (verze 2013-08-15 a novější)

Následující příklad ukazuje odpověď na požadavek provedený s datovou částí JSON.

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--  
  
Informační kanál Atom (verze před 11. 12. 2015)

Následující příklad ukazuje odpověď na požadavek provedený s datovou částí Atom.

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--  

Ukázková odpověď pro dotazy

Následující příklady ukazují odpovědi na dotazy odeslané v ukázkových požadavcích uvedených výše.

JSON (verze 2013-08-15 a novější)

Následující příklad ukazuje odpověď na požadavek provedený s datovou částí JSON.

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--  
Informační kanál Atom (verze před 11. 12. 2015)

Následující příklad ukazuje odpověď na požadavek provedený s datovou částí Atom.

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--  
  

Ukázková odpověď na chybu

Následující příklady ukazují odpovědi z dávkových požadavků obsahujících operaci, která selhala. Všimněte si, že dávková odpověď vrátí stavový kód 202 (Přijato), ale jednotlivá operace, která selhala, vrátí stavový kód 400 (Chybný požadavek). Další informace o chybě jsou součástí textu odpovědi pro neúspěšnou operaci. Element code určuje kód chyby služby úložiště, zatímco message element začíná indexem neúspěšné operace následovaný řetězcem chybové zprávy. Pokud chcete zjistit, která operace selhala, parsujte hodnotu indexu ze zprávy. Operace se indexují od nuly.

Odpověď na chybu pro požadavek ve formátu JSON

V příkladu JSON si všimněte, že operace, která selhala, byla první operací v sadě změn. Ve dvojici message název/hodnota začíná zpráva číslicí 0následovanou rozšířenými informacemi o chybě.

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--  
  
Chybová odpověď pro požadavek ve formátu Atom

V příkladu Atom si všimněte, že neúspěšná operace byla čtvrtou operací v sadě změn. V elementu message zpráva začíná číslicí 3, následovanou rozšířenými informacemi o chybě.

<message xml:lang="en-US">3:One of the request inputs is not valid.</message>  

Tady je úplná odpověď:

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--  
  

Viz také

Specifikace OData
Koncepty služby Table service