Entiteitsgroeptransacties uitvoeren
De Table service ondersteunt batchtransacties op entiteiten die zich in dezelfde tabel bevinden en deel uitmaken van dezelfde partitiegroep. Meerdere bewerkingen voor entiteit Invoegen, Entiteitbijwerken, Entiteit samenvoegen, Entiteit verwijderen, Entiteit invoegen of vervangen en Entiteit invoegen of samenvoegen worden ondersteund binnen één transactie.
Vereisten voor entiteitsgroeptransacties
Een entiteitsgroepstransactie moet voldoen aan de volgende vereisten:
Alle entiteiten die zijn onderworpen aan bewerkingen als onderdeel van de transactie, moeten dezelfde
PartitionKey
waarde hebben.Een entiteit kan slechts eenmaal in de transactie worden weergegeven en er kan slechts één bewerking op de entiteit worden uitgevoerd.
De transactie kan maximaal 100 entiteiten bevatten en de totale nettolading mag niet groter zijn dan 4 MiB.
Alle entiteiten zijn onderhevig aan de beperkingen die worden beschreven in Inzicht in het tabelservicegegevensmodel.
Tabelserviceondersteuning voor OData Batch-aanvragen
De semantiek voor entiteitsgroeptransacties wordt gedefinieerd door de OData-protocolspecificatie. De OData-specificatie definieert de volgende concepten voor batchaanvragen:
Een wijzigingenset is een groep van een of meer invoeg-, update- of verwijderbewerkingen.
Een batch is een container met bewerkingen, waaronder een of meer wijzigingensets en querybewerkingen.
De Table-service ondersteunt een subset van de functionaliteit die is gedefinieerd door de OData-specificatie:
- De Table-service ondersteunt slechts één wijzigingsset in een batch. De wijzigingenset kan meerdere invoeg-, update- en verwijderbewerkingen bevatten. Als een batch meer dan één wijzigingenset bevat, wordt de eerste wijzigingenset verwerkt door de service en worden aanvullende wijzigingensets geweigerd met statuscode 400 (Ongeldige aanvraag).
Belangrijk
Meerdere bewerkingen voor één entiteit zijn niet toegestaan binnen een wijzigingenset.
Houd er rekening mee dat een querybewerking niet is toegestaan binnen een batch die invoeg-, update- of verwijderbewerkingen bevat; het moet afzonderlijk in de batch worden verzonden.
Bewerkingen binnen een wijzigingsset worden atomisch verwerkt; dat wil gezegd dat alle bewerkingen in de wijzigingenset slagen of mislukken. Bewerkingen worden verwerkt in de volgorde waarin ze zijn opgegeven in de wijzigingenset.
De Tabelservice biedt geen ondersteuning voor koppelingsbewerkingen in een wijzigingenset.
De Table-service ondersteunt maximaal 100 bewerkingen in een wijzigingenset.
Entiteitsgroeptransacties via REST
In de volgende secties wordt beschreven hoe u een batchaanvraag maakt en hoe u het batchantwoord interpreteert, en voorbeelden van elke aanvraag.
Batchaanvraagsyntaxis
Als u een batchaanvraag wilt uitvoeren via REST, geeft u de $batch
optie op op de aanvraag-URI. Bijvoorbeeld:
https://myaccount.table.core.windows.net/$batch
Houd er rekening mee dat de aanvraag-URI de tabelnaam niet bevat.
Er wordt een batchaanvraag verzonden naar de server met één POST-instructie. Deze aanvraag moet de x-ms-version
header bevatten; de waarde van de header moet zijn ingesteld op 2009-04-14
of nieuwer.
De XML-nettolading is een MIME-bericht met meerdere delen dat de batch en de wijzigingenset bevat. De nettolading bevat twee MIME-grenzen:
Een batchgrens omvat de wijzigingenset.
Een grens van een wijzigingsset scheidt afzonderlijke invoeg-, update- en verwijderbewerkingen in de batch.
Een afzonderlijke aanvraag in de wijzigingenset is identiek aan een aanvraag die wordt gedaan wanneer die bewerking zelf wordt aangeroepen. Bijvoorbeeld:
Als u de
If-Match
header wilt opgeven voor een update-, samenvoeg- of verwijderbewerking, neemt u de header op in de set aanvraagheaders voor de juiste bewerking in de wijzigingenset.Als u de nettoladingindeling (JSON of ATOM) wilt opgeven voor elke bewerking in de wijzigingsset, neemt u de juiste
Content-Type
headers ,Accept
Version
enDataServiceVersion
op, zoals wordt uitgelegd in Payload Format for Table Service Operations (Nettoladingindeling voor Table Service-bewerkingen).Als u de echo van de antwoordinhoud voor de entiteit Invoegen wilt onderdrukken, geeft u de
Prefer
header op met dereturn-no-content
waarde voor elke invoegbewerking in de wijzigingenset. Zie Samenvatting van dePrefer
functionaliteit van de tabelservice voor meer informatie over de koptekst.
Voorbeeldaanvraag voor bewerkingen voor invoegen, bijwerken en verwijderen
In de volgende voorbeelden ziet u batchaanvragen die twee entiteitsbewerkingen invoegen en een samenvoegbewerking bevatten . Omdat we in deze voorbeelden niet geïnteresseerd zijn in de nettolading van de echo in het antwoord voor de invoegbewerkingen, nemen we de Prefer:``return-no-content
header op.
Notitie
JSON is de aanbevolen nettoladingindeling en is de enige indeling die wordt ondersteund voor versies 2015-12-11 en hoger.
JSON (versies 2013-08-15 en hoger)
In het volgende voorbeeld ziet u een batchaanvraag met een JSON-nettolading.
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
Atom Feed (versies vóór 11-12-2015)
In het volgende voorbeeld ziet u een batchaanvraag met een Atom-nettolading.
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—
Voorbeeldaanvraag voor query's
In de volgende voorbeelden ziet u een batchaanvraag voor een query. Houd er rekening mee dat er slechts één query kan worden opgenomen in de wijzigingenset.
Notitie
JSON is de aanbevolen nettoladingindeling en is de enige indeling die wordt ondersteund voor versies 2015-12-11 en hoger.
JSON (versies 2013-08-15 en hoger)
In het volgende voorbeeld ziet u een batchaanvraag met een JSON-nettolading.
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
Atom Feed (versies vóór 11-12-2015)
In het volgende voorbeeld ziet u een batchaanvraag met een Atom-nettolading.
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—
Batchreactiesyntaxis
Het antwoord retourneert een algemene statuscode voor de batchaanvraag en afzonderlijke statuscodes en resultaatfragmenten voor elke bewerking in de wijzigingenset. Het antwoord is een meerdelig MIME-bericht dat een batchgrens en een ingestelde grens voor wijzigingen bevat.
De Table-service retourneert een statuscode voor de volledige batchaanvraag en een of meer statuscodes voor de bewerkingen in de wijzigingenset, afhankelijk van of ze zijn geslaagd of mislukt.
Ervan uitgaande dat de batchaanvraag correct is geautoriseerd en is ontvangen door de Table-service, retourneert de batchaanvraag statuscode 202 (Geaccepteerd), zelfs als een van de bewerkingen in de wijzigingenset mislukt. Als de batchaanvraag zelf mislukt, mislukt deze voordat een bewerking in de wijzigingenset wordt uitgevoerd. De batchaanvraag kan bijvoorbeeld mislukken vanwege een autorisatiefout. In dat geval geeft de statuscode die fout aan.
De bewerkingen in een wijzigingenset worden atomisch verwerkt; dat wil gezegd dat alle bewerkingen in de batch slagen of dat de hele batch mislukt. De Table-service gaat door met de verwerking van bewerkingen in de wijzigingenset totdat er een mislukt. Als een bewerking mislukt, worden alle voorgaande bewerkingen in de batch teruggedraaid. Daarnaast worden transacties van entiteitsgroepen uitgevoerd met isolatie van momentopnamen.
De statuscode voor een afzonderlijke bewerking in een wijzigingenset wordt weergegeven in het antwoord van de wijzigingenset. Wanneer een afzonderlijke bewerking mislukt, geeft het antwoord voor de wijzigingenset statuscode 400 (Bad Request
) aan. Aanvullende foutinformatie in het antwoord geeft aan welke bewerking is mislukt door de index van die bewerking te retourneren. De index is het volgnummer van de opdracht in de nettolading.
Zie de voorbeeldfout hieronder voor een voorbeeld.
Voorbeeldantwoord voor bewerkingen voor maken, bijwerken en verwijderen
In de volgende voorbeelden ziet u de antwoorden voor de batchbewerkingen die zijn verzonden in de voorbeeldaanvragen die hierboven worden weergegeven.
JSON (versies 2013-08-15 en hoger)
In het volgende voorbeeld ziet u een antwoord voor een aanvraag die is gedaan met een JSON-nettolading.
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--
Atom Feed (versies vóór 11-12-2015)
In het volgende voorbeeld ziet u een antwoord voor een aanvraag die is gedaan met een Atom-nettolading.
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--
Voorbeeldantwoord voor query's
In de volgende voorbeelden ziet u de antwoorden voor de query's die zijn verzonden in de voorbeeldaanvragen die hierboven worden weergegeven.
JSON (versies 2013-08-15 en hoger)
In het volgende voorbeeld ziet u een antwoord voor een aanvraag die is gedaan met een JSON-nettolading.
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--
Atom Feed (versies vóór 11-12-2015)
In het volgende voorbeeld ziet u een antwoord voor een aanvraag die is gedaan met een Atom-nettolading.
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--
Voorbeeld van foutreactie
In de volgende voorbeelden ziet u antwoorden van batchaanvragen die een bewerking bevatten die is mislukt. Houd er rekening mee dat het batch-antwoord statuscode 202 (geaccepteerd) retourneert, maar de afzonderlijke bewerking die is mislukt, retourneert statuscode 400 (Ongeldige aanvraag). De aanvullende foutinformatie is opgenomen in de hoofdtekst van het antwoord voor de mislukte bewerking. Het code
element geeft de foutcode van de opslagservice op, terwijl het message
element begint met de index van de mislukte bewerking, gevolgd door de tekenreeks met het foutbericht. Als u wilt bepalen welke bewerking is mislukt, parseert u de indexwaarde uit het bericht. Bewerkingen worden geïndexeerd vanaf nul.
Foutreactie voor aanvraag in JSON-indeling
In het JSON-voorbeeld ziet u dat de bewerking die is mislukt, de eerste bewerking in de wijzigingenset was. Binnen het message
naam-waardepaar begint het bericht met het cijfer 0
, gevolgd door de uitgebreide foutinformatie.
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--
Foutreactie voor aanvraag in Atom-indeling
In het Atom-voorbeeld ziet u dat de bewerking die is mislukt, de vierde bewerking in de wijzigingsset was. Binnen het message
-element begint het bericht met het cijfer 3
, gevolgd door de uitgebreide foutinformatie.
<message xml:lang="en-US">3:One of the request inputs is not valid.</message>
Dit is het volledige antwoord:
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--