Realizar transacciones de grupos de entidades
Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Realizar transacciones con grupos de entidades

 

El servicio Tabla admite transacciones por lotes con entidades que están en la misma tabla y pertenecen al mismo grupo de partición. Varios Insert Entity, Update Entity, Merge Entity, Eliminación de entidades, Insert Or Replace Entity, y Insert Or Merge Entity se admiten las operaciones en una única transacción.

Una transacción con grupos de entidades debe cumplir los requisitos siguientes:

  • Todas las entidades sujetas a operaciones como parte de la transacción deben tener el mismo PartitionKey valor.

  • Una entidad solo puede aparecer una vez en la transacción, y solo se puede realizar una operación en ella.

  • La transacción puede incluir como máximo 100 entidades, y la carga completa no debe superar los 4 MB.

  • Todas las entidades están sujetos a las limitaciones descritas en Introducción al modelo de datos del servicio Tabla.

La semántica de transacciones del grupo de entidades definida por el especificación de Protocolo OData. La especificación OData define los siguientes conceptos para solicitudes de lotes:

  • Un conjunto de cambios es un grupo de uno o más insertarán, actualización o eliminación operaciones.

  • Un lote es un contenedor de operaciones, incluyendo uno o más conjuntos de cambios y operaciones de consulta.

El Servicio Tabla admite un subconjunto de funcionalidad definido por la especificación OData:

  • El servicio Tabla solo admite un único conjunto de cambios en un lote. El conjunto de cambios puede incluir varias operaciones de inserción, actualización y eliminación. Si un lote incluye más de un conjunto de cambios, el servicio procesará el primero de ellos, y los conjuntos adicionales serán rechazados con el código de estado 400 (Solicitud incorrecta).

System_CAPS_importantImportante

No se admiten varias operaciones en una sola entidad dentro de un conjunto de cambios.

  • Tenga en cuenta que no se permite una operación de consulta en un lote que contenga operaciones de inserción, actualización o eliminación; se debe enviar de forma individual en el lote.

  • Las operaciones dentro de un conjunto de cambios se procesan de forma atómica; es decir, o todas las operaciones del conjunto de cambios se realizan correctamente o el lote completo produce un error. Las operaciones se procesan en el orden en que se especifican en el conjunto de cambios.

  • El servicio Tabla no admite operaciones de vinculación en un conjunto de cambios.

  • El servicio Tabla admite un máximo de 100 operaciones en un conjunto de cambios.

En las secciones siguientes se describe cómo construir una solicitud por lotes y cómo interpretar la respuesta por lotes, e incluye ejemplos de cada una de las operaciones.

Para realizar una solicitud por lotes a través de REST, especifique el $batch opción en el URI de solicitud. Por ejemplo:

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

Observe que el URI de solicitud no incluye el nombre de la tabla.

Se envía una solicitud por lotes al servidor con una única directiva POST. Esta solicitud debe incluir el x-ms-version encabezado; el encabezado valor debe establecerse en 2009-04-14 o posterior.

La carga XML es un mensaje MIME de varias partes que contiene el lote y el conjunto de cambios. La carga incluye dos límites MIME:

  • Un límite de lote engloba el conjunto de cambios.

  • Un límite de conjunto de cambios separa las operaciones de inserción, actualización y eliminación individuales del lote.

Una solicitud individual del conjunto de cambios es idéntica a una solicitud que se realice cuando esa operación se llama a sí misma. Por ejemplo:

  • Para especificar el If-Match encabezado en una actualización, la combinación o la operación de eliminación, incluya el encabezado en el conjunto de encabezados de solicitud para la operación apropiada en el conjunto de cambios.

  • Para especificar el formato de carga (JSON o ATOM) para cada operación del conjunto de cambios, incluya adecuado Content-Type, Accept, Version y DataServiceVersion encabezados, tal como se explica con todo detalle en Formato de carga para las operaciones del servicio Tabla.

  • Para suprimir el eco de contenido de respuesta para el Insert Entity, especifique el Prefer encabezado con el return-no-content valor para cada operación de inserción en el conjunto de cambios. Para obtener más información acerca de la Prefer encabezado, vea Resumen de la funcionalidad del servicio Tabla.

Los ejemplos siguientes muestran las solicitudes de lote que contiene dos Insert Entity operaciones y un Merge Entity operación. En estos ejemplos, ya que no estamos interesados en la carga de eco en la respuesta para las operaciones de inserción, incluimos el Prefer: return-no-content encabezado. 

Solicitud por lotes con carga Atom

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="http://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="http://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="http://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—



Solicitud por lotes con carga JSON


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

En los ejemplos siguientes se muestra una solicitud por lotes para una consulta. Tenga en cuenta que solo se puede incluir una consulta en el conjunto de cambios.

Consulta por lotes con formato ATOM

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—

Consulta por lotes con formato JSON

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

La respuesta devuelve un código de estado general para la solicitud por lotes, así como códigos de estado individuales y fragmentos de resultados para cada operación del conjunto de cambios. La respuesta es un mensaje MIME de varias partes que incluye un límite de lote y un límite de conjunto de cambios.

El servicio Tabla devuelve un código de estado para la solicitud por lotes completa, y uno o varios códigos de estado para las operaciones del conjunto de cambios, dependiendo de si se realizaron correctamente o no.

Suponiendo que la solicitud por lotes ha sido autenticada y recibida correctamente por el servicio Tabla, dicha solicitud devuelve el código de estado 202 (Aceptado), incluso si una de las operaciones del conjunto de cambios produce un error. Si la propia solicitud por lotes produce un error, lo hará antes de que se ejecute ninguna operación del conjunto de cambios. Por ejemplo, la solicitud por lotes puede producir un error de autenticación, en cuyo caso el código de estado indicará ese error.

Las operaciones dentro de un conjunto de cambios se procesan de forma atómica; es decir, o todas las operaciones del conjunto de cambios se realizan correctamente o el lote completo produce un error. El servicio Tabla continúa procesando las operaciones del conjunto de cambios hasta que una produzca un error. En ese caso, todas las operaciones anteriores del lote se revierten. Además, las transacciones con grupos de entidades se ejecutan con aislamiento de instantánea.

El código de estado de una operación individual de un conjunto de cambios aparece en la respuesta del conjunto de cambios. Cuando una operación individual falla, la respuesta para el conjunto de cambios indica el código de estado 400 (Bad Request). La información adicional sobre el error incluida en la respuesta indica la operación que produjo el error devolviendo el índice de esa operación. El índice es el número de secuencia del comando en la carga.

Para obtener un ejemplo, vea la respuesta de error de ejemplo siguiente.

En los ejemplos siguientes se muestran las respuestas para las operaciones por lotes enviadas en las solicitudes de ejemplo mostradas anteriormente.

Respuesta para la solicitud en formato Atom

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

Respuesta para la solicitud en formato JSON

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

En los ejemplos siguientes se muestran las respuestas para las consultas enviadas en las solicitudes de ejemplo mostradas anteriormente.

Respuesta de la consulta por lotes con formato ATOM

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/&quot;0x5B168C7B6E589D2&quot;" xmlns="http://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--

Respuesta de la consulta por lotes con formato JSON

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

En los ejemplos siguientes se muestran respuestas de solicitudes por lotes que contienen una operación que produjo un error. Observe que la respuesta por lotes devuelve el código de estado 202 (Aceptado), pero la operación individual que produjo el error devuelve el código de estado 400 (Solicitud incorrecta). La información adicional sobre el error se incluye en el cuerpo de respuesta para la operación en la que se produjo el error. La propiedad SIDHistory hace esto posible. Para determinar la operación en la que se produjo el error, analice el valor de índice del mensaje. Las operaciones se indizan empezando por cero.

Respuesta de error para la solicitud en formato Atom

En el ejemplo de Atom, observe que la operación que produjo el error era la cuarta operación del conjunto de cambios. Dentro de la message elemento, el mensaje comienza con el número 3, seguido de la información de error extendido.

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

Esta es la respuesta completa:

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

Respuesta de error para la solicitud en formato JSON

En el ejemplo de JSON, observe que la operación que produjo el error era la primera operación del conjunto de cambios. Dentro de la message par nombre/valor, el mensaje comienza por el número 0, seguido de la información de error extendido.

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

Mostrar:
© 2016 Microsoft