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-Typeheaders , AcceptVersion en DataServiceVersion 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 de return-no-content waarde voor elke invoegbewerking in de wijzigingenset. Zie Samenvatting van de Preferfunctionaliteit 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--  
  

Zie ook

OData-specificatie
Concepten van Table Service