Entiteitsgroepstransacties uitvoeren

De Table service ondersteunt batchtransacties op entiteiten die zich in dezelfde tabel bevinden en deel uitmaken van dezelfde partitiegroep. Meerdere entiteit invoegen, entiteit bijwerken,entiteit samenvoegen,entiteit verwijderen,entiteit invoegen of vervangen,en invoegen of samenvoegen entiteit bewerkingen worden ondersteund in één transactie.

Vereisten voor entiteitsgroepstransacties

Een entiteitsgroepstransactie moet voldoen aan de volgende vereisten:

  • Alle entiteiten die als onderdeel van de transactie aan bewerkingen zijn onderworpen, moeten dezelfde waarde PartitionKey hebben.

  • Een entiteit kan slechts één keer worden weergegeven in de transactie en er kan slechts één bewerking op worden uitgevoerd.

  • De transactie kan maximaal 100 entiteiten bevatten en de totale nettolading mag niet groter zijn dan 4 MiB.

  • Alle entiteiten zijn onderworpen aan de beperkingen die worden beschreven in Inzicht in het gegevensmodel van tableservice.

Table Service-ondersteuning voor OData Batch-aanvragen

De semantiek voor entiteitsgroepstransacties wordt gedefinieerd door de OData-protocolspecificatie. De OData-specificatie definieert de volgende concepten voor batchaanvragen:

  • Een wijzigingsset is een groep van een of meer invoeg-, update- of verwijderbewerkingen.

  • Een batch is een container met bewerkingen, waaronder een of meer wijzigingssets en querybewerkingen.

De Tabelservice ondersteunt een subset van de functionaliteit die is gedefinieerd door de OData-specificatie:

  • De Table-service ondersteunt slechts één wijzigingsset binnen een batch. De wijzigingsset kan meerdere invoeg-, update- en verwijderbewerkingen bevatten. Als een batch meer dan één wijzigingsset bevat, wordt de eerste wijzigingsset verwerkt door de service en worden aanvullende wijzigingssets geweigerd met statuscode 400 (Slechte aanvraag).

Belangrijk

Meerdere bewerkingen voor één entiteit zijn niet toegestaan binnen een wijzigingsset.

  • Houd er rekening mee dat een querybewerking niet is toegestaan in een batch die invoeg-, bij- of verwijderbewerkingen bevat; deze moet in de batch worden verzonden.

  • Bewerkingen in een wijzigingsset worden atomisch verwerkt; Dat wil zeggen dat alle bewerkingen in de wijzigingsset slagen of mislukken. Bewerkingen worden verwerkt in de volgorde waarin ze zijn opgegeven in de wijzigingsset.

  • De Tabelservice biedt geen ondersteuning voor koppelingsbewerkingen in een wijzigingsset.

  • De Table-service ondersteunt maximaal 100 bewerkingen in een wijzigingsset.

Entiteitsgroepstransacties via REST

In de volgende secties wordt beschreven hoe u een batchaanvraag maakt en hoe u het batch-antwoord interpreteert, en voorbeelden van elk van beide.

Batch-aanvraagsyntaxis

Als u een batchaanvraag wilt uitvoeren via REST, geeft u de $batch optie op voor de aanvraag-URI. Bijvoorbeeld:

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

Houd er rekening mee dat de aanvraag-URI niet de tabelnaam bevat.

Een batchaanvraag wordt verzonden naar de server met één POST-richtlijn. 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 meerdelige MIME-bericht met de batch en de wijzigingsset. De nettolading bevat twee MIME-grenzen:

  • Een batchgrens omvat de wijzigingsset.

  • Een grens van een wijzigingsset scheidt afzonderlijke invoeg-, bij- en verwijderbewerkingen in de batch.

Een afzonderlijke aanvraag in de wijzigingsset is identiek aan een aanvraag die is ingediend wanneer die bewerking zelf wordt aangeroepen. Bijvoorbeeld:

  • Als u de header wilt opgeven voor een update-, samenvoeg- of verwijderbewerking, moet u de header opnemen in de set aanvraagheaders voor de juiste bewerking If-Match in de wijzigingsset.

  • Als u de payloadindeling (JSON of ATOM) wilt opgeven voor elke bewerking in de wijzigingsset, moet u de juiste Content-Type Accept headers , en opnemen, zoals wordt uitgelegd Version in Payload Format for Table Service DataServiceVersion Operations.

  • Als u de echo van de antwoordinhoud voor de entiteit Invoegenwilt onderdrukken, geeft u de header op met de waarde voor Prefer elke return-no-content invoegbewerking in de wijzigingsset. Zie Samenvatting van Prefer tableservicefunctionaliteitvoor meer informatie over de header .

Voorbeeldaanvraag voor invoeg-, update- en verwijderbewerkingen

In de volgende voorbeelden worden batchaanvragen met twee Insert Entity-bewerkingen en een Merge Entity-bewerking weer gegeven. 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 2015-12-11)

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 wordt een batchaanvraag voor een query weer gegeven. Houd er rekening mee dat er slechts één query kan worden opgenomen in de wijzigingsset.

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 2015-12-11)

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—  
  

Batch-antwoordsyntaxis

Het antwoord retourneert een algemene statuscode voor de batchaanvraag en afzonderlijke statuscodes en resultaatfragmenten voor elke bewerking in de wijzigingsset. Het antwoord is een multidelige MIME-bericht dat een batchgrens en een grens van een wijzigingsset bevat.

De Table-service retourneert een statuscode voor de hele batchaanvraag en een of meer statuscodes voor de bewerkingen in de wijzigingsset, 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 wijzigingsset mislukt. Als de batchaanvraag zelf mislukt, mislukt deze voordat een bewerking in de wijzigingsset wordt uitgevoerd. De batchaanvraag kan bijvoorbeeld mislukken vanwege een autorisatiefout. In dat geval geeft de statuscode aan dat deze fout is opgetreden.

De bewerkingen in een wijzigingsset worden atomisch verwerkt; Dat wil zeggen dat alle bewerkingen in de batch slaagt of dat de hele batch mislukt. De Tabelservice gaat door met de verwerking van bewerkingen in de wijzigingsset totdat er een mislukt. Als een bewerking mislukt, worden alle voorgaande bewerkingen in de batch teruggedraaid. Daarnaast worden entiteitsgroepstransacties uitgevoerd met isolatie van momentopnamen.

De statuscode voor een afzonderlijke bewerking binnen een wijzigingsset wordt weergegeven in het antwoord van de wijzigingsset. Wanneer een afzonderlijke bewerking mislukt, geeft het antwoord voor de wijzigingsset 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 het voorbeeld van een foutbericht hieronder voor een voorbeeld.

Voorbeeldreactie voor maak-, update- en verwijderbewerkingen

In de volgende voorbeelden worden de antwoorden weergegeven voor de batchbewerkingen die zijn verzonden in de bovenstaande voorbeeldaanvragen.

JSON (versies 2013-08-15 en hoger)

In het volgende voorbeeld ziet u een antwoord voor een aanvraag 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 2015-12-11)

In het volgende voorbeeld ziet u een antwoord voor een aanvraag 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--  

Voorbeeldreactie voor query's

In de volgende voorbeelden worden de antwoorden weergegeven voor de query's die zijn verzonden in de bovenstaande voorbeeldaanvragen.

JSON (versies 2013-08-15 en hoger)

In het volgende voorbeeld ziet u een antwoord voor een aanvraag 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 2015-12-11)

In het volgende voorbeeld ziet u een antwoord voor een aanvraag 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 een foutbericht

In de volgende voorbeelden worden antwoorden van batchaanvragen met een bewerking die is mislukt. Houd er rekening mee dat de batchreactie statuscode 202 (Geaccepteerd) retourneert, maar de afzonderlijke bewerking die is mislukt, retourneert statuscode 400 (Slechte aanvraag). De aanvullende foutinformatie is opgenomen in de antwoord-body voor de mislukte bewerking. Het element geeft de foutcode van de opslagservice aan, terwijl het element begint met de index van de mislukte code message bewerking, gevolgd door de tekenreeks van 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 is de bewerking mislukt de eerste bewerking in de wijzigingsset. Binnen het message naam-waardepaar begint het bericht met de numerieke 0 , gevolgd door de uitgebreide foutgegevens.

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 is de bewerking mislukt de vierde bewerking in de wijzigingsset. Binnen het message -element begint het bericht met de numerieke 3 , gevolgd door de uitgebreide foutgegevens.

<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