Utföra entitetsgrupptransaktioner

Tabelltjänsten stöder batchtransaktioner på entiteter som finns i samma tabell och tillhör samma partitionsgrupp. Åtgärderna Infoga entitet, Uppdatera entitet, Sammanfoga entitet, Ta bort entitet, Infoga eller Ersätt entitet och Infoga eller sammanfoga entitet stöds i en enda transaktion.

Krav för entitetsgrupptransaktioner

En entitetsgrupptransaktion måste uppfylla följande krav:

  • Alla entiteter som omfattas av åtgärder som en del av transaktionen måste ha samma PartitionKey värde.

  • En entitet kan bara visas en gång i transaktionen och endast en åtgärd kan utföras mot den.

  • Transaktionen kan innehålla högst 100 entiteter och den totala nyttolasten får inte vara större än 4 MiB.

  • Alla entiteter omfattas av de begränsningar som beskrivs i Förstå tabelltjänstdatamodellen.

Table Service-stöd för OData Batch-begäranden

Semantiken för entitetsgrupptransaktioner definieras av OData Protocol Specification. OData-specifikationen definierar följande begrepp för batchbegäranden:

  • En ändringsuppsättning är en grupp med en eller flera infognings-, uppdaterings- eller borttagningsåtgärder.

  • En batch är en container med åtgärder, inklusive en eller flera ändringsuppsättningar och frågeåtgärder.

Tabelltjänsten stöder en delmängd av funktionerna som definieras av OData-specifikationen:

  • Tabelltjänsten stöder endast en enda ändringsuppsättning i en batch. Ändringsuppsättningen kan innehålla flera infognings-, uppdaterings- och borttagningsåtgärder. Om en batch innehåller fler än en ändringsuppsättning bearbetas den första ändringsuppsättningen av tjänsten och ytterligare ändringsuppsättningar avvisas med statuskod 400 (felaktig begäran).

Viktigt

Flera åtgärder mot en enda entitet tillåts inte i en ändringsuppsättning.

  • Observera att en frågeåtgärd inte tillåts i en batch som innehåller infognings-, uppdaterings- eller borttagningsåtgärder. den måste skickas singly i batchen.

  • Åtgärder inom en ändringsuppsättning bearbetas atomiskt. Det vill: alla åtgärder i ändringsuppsättningen lyckas eller misslyckas. Åtgärder bearbetas i den ordning de anges i ändringsuppsättningen.

  • Tabelltjänsten stöder inte länkningsåtgärder i en ändringsuppsättning.

  • Tabelltjänsten stöder högst 100 åtgärder i en ändringsuppsättning.

Entitetsgrupptransaktioner via REST

I följande avsnitt beskrivs hur du skapar en batchbegäran och hur du tolkar batchsvaret och visar exempel på varje.

Syntax för Batch-begäran

Om du vill utföra en batchbegäran via REST anger du $batch alternativet för begärande-URI:n. Exempel:

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

Observera att begärande-URI:n inte innehåller tabellnamnet.

En batchbegäran skickas till servern med ett enda POST-direktiv. Den här begäran måste innehålla x-ms-version rubriken. Huvudets värde måste anges till 2009-04-14 eller senare.

XML-nyttolasten är ett MIME-meddelande i flera delar som innehåller batchen och ändringsuppsättningen. Nyttolasten innehåller två MIME-gränser:

  • En batchgräns omfattar ändringsuppsättningen.

  • En ändringsuppsättningsgräns separerar enskilda infognings-, uppdaterings- och borttagningsåtgärder i batchen.

En enskild begäran i ändringsuppsättningen är identisk med en begäran som görs när åtgärden anropas av sig själv. Exempel:

  • Om du vill ange If-Match rubriken för en uppdaterings-, sammanslagnings- eller borttagningsåtgärd inkluderar du huvudet i uppsättningen med begärandehuvuden för lämplig åtgärd i ändringsuppsättningen.

  • Om du vill ange nyttolastformatet (JSON eller ATOM) för varje åtgärd i ändringsuppsättningen inkluderar du lämpliga Content-Type, AcceptVersion och DataServiceVersion rubriker, enligt beskrivningen i nyttolastformat för Table Service-åtgärder.

  • Om du vill ignorera svarsinnehållseko för Infoga entitet anger du Prefer huvudet med return-no-content värdet för varje infogningsåtgärd i ändringsuppsättningen. Mer information om rubriken finns Prefer i Sammanfattning av table service-funktioner.

Exempelbegäran för åtgärder för infoga, uppdatera och ta bort

I följande exempel visas batchbegäranden som innehåller två Åtgärder för infoga entitet och en sammanslagningsentitet . I de här exemplen Prefer:``return-no-content , eftersom vi inte är intresserade av ekonyttolasten i svaret för infogningsåtgärderna, inkluderar vi huvudet.

Anteckning

JSON är det rekommenderade nyttolastformatet och är det enda format som stöds för versionerna 2015-12-11 och senare.

JSON (version 2013-08-15 och senare)

I följande exempel visas en batchbegäran med en JSON-nyttolast.

  
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  
  
Atomfeed (versioner före 2015-12-11)

I följande exempel visas en batchbegäran med en Atom-nyttolast.

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—  
  

Exempelbegäran för frågor

I följande exempel visas en batchbegäran för en fråga. Observera att endast en enskild fråga kan ingå i ändringsuppsättningen.

Anteckning

JSON är det rekommenderade nyttolastformatet och är det enda format som stöds för versionerna 2015-12-11 och senare.

JSON (version 2013-08-15 och senare)

I följande exempel visas en batchbegäran med en JSON-nyttolast.

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  
  
Atomfeed (versioner före 2015-12-11)

I följande exempel visas en batchbegäran med en Atom-nyttolast.

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—  
  

Batch-svarssyntax

Svaret returnerar en övergripande statuskod för batchbegäran och enskilda statuskoder och resultatfragment för varje åtgärd i ändringsuppsättningen. Svaret är ett MIME-meddelande i flera delar som innehåller en batchgräns och en ändringsuppsättningsgräns.

Tabelltjänsten returnerar en statuskod för hela batchbegäran och en eller flera statuskoder för åtgärderna i ändringsuppsättningen, beroende på om de lyckades eller misslyckades.

Förutsatt att batchbegäran har auktoriserats korrekt och har tagits emot av tabelltjänsten returnerar batchbegäran statuskoden 202 (accepterad), även om en av åtgärderna i ändringsuppsättningen misslyckas. Om själva batchbegäran misslyckas misslyckas den innan någon åtgärd i ändringsuppsättningen körs. Batch-begäran kan till exempel misslyckas på grund av ett auktoriseringsfel, i vilket fall statuskoden anger felet.

Åtgärderna i en ändringsuppsättning bearbetas atomiskt. Antingen lyckas alla åtgärder i batchen eller så misslyckas hela batchen. Tabelltjänsten fortsätter att bearbeta åtgärder i ändringsuppsättningen tills en misslyckas. Om en åtgärd misslyckas återställs alla föregående åtgärder i batchen. Dessutom körs entitetsgrupptransaktioner med ögonblicksbildisolering.

Statuskoden för en enskild åtgärd i en ändringsuppsättning visas i ändringsuppsättningens svar. När en enskild åtgärd misslyckas anger svaret för ändringsuppsättningen statuskod 400 (Bad Request). Ytterligare felinformation i svaret anger vilken åtgärd som misslyckades genom att returnera indexet för åtgärden. Indexet är sekvensnumret för kommandot i nyttolasten.

Ett exempel finns i exempelfelsvaret nedan.

Exempelsvar för åtgärder för att skapa, uppdatera och ta bort

I följande exempel visas svaren för batchåtgärderna som skickas i exempelbegäranden som visas ovan.

JSON (version 2013-08-15 och senare)

I följande exempel visas ett svar för en begäran som görs med en JSON-nyttolast.

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--  
  
Atomfeed (versioner före 2015-12-11)

I följande exempel visas ett svar för en begäran som görs med en Atom-nyttolast.

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

Exempelsvar för frågor

I följande exempel visas svaren för de frågor som skickas i exempelbegäranden som visas ovan.

JSON (version 2013-08-15 och senare)

I följande exempel visas ett svar för en begäran som görs med en JSON-nyttolast.

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--  
Atomfeed (versioner före 2015-12-11)

I följande exempel visas ett svar för en begäran som görs med en Atom-nyttolast.

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

Exempel på felsvar

I följande exempel visas svar från batchbegäranden som innehåller en åtgärd som misslyckades. Observera att batchsvaret returnerar statuskoden 202 (accepterad), men den enskilda åtgärden som misslyckades returnerar statuskod 400 (felaktig begäran). Den ytterligare felinformationen ingår i svarstexten för den misslyckade åtgärden. Elementet code anger felkoden för lagringstjänsten, medan elementet message börjar med indexet för den misslyckade åtgärden följt av felmeddelandesträngen. Om du vill ta reda på vilken åtgärd som misslyckades parsar du indexvärdet från meddelandet. Åtgärder indexeras med början vid noll.

Felsvar för begäran i JSON-format

Observera i JSON-exemplet att åtgärden som misslyckades var den första åtgärden i ändringsuppsättningen. I namn message /värde-paret börjar meddelandet med siffran 0, följt av den utökade felinformationen.

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--  
  
Felsvar för begäran i Atom-format

Observera i Atom-exemplet att åtgärden som misslyckades var den fjärde åtgärden i ändringsuppsättningen. I -elementet message börjar meddelandet med siffran 3, följt av den utökade felinformationen.

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

Här är det fullständiga svaret:

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

Se även

OData-specifikation
Tabelltjänst-koncept