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
,Accept
Version
ochDataServiceVersion
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 medreturn-no-content
värdet för varje infogningsåtgärd i ändringsuppsättningen. Mer information om rubriken finnsPrefer
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--