Merge Entity
La operación Merge Entity
actualiza una entidad existente mediante la actualización de sus propiedades. Esta operación no reemplaza la entidad existente, como hace la operación Actualizar entidad .
Request
Puede construir la Merge Entity
solicitud como se indica a continuación. Se recomienda HTTPS. Reemplace myaccount por el nombre de la cuenta de almacenamiento y mytable por el nombre de la tabla. Reemplace myPartitionKey y myRowKey por el nombre de la clave de partición y la clave de fila que identifican la entidad que se va a actualizar.
Método | URI de solicitud | Versión de HTTP |
---|---|---|
MERGE |
https://myaccount.table.core.windows.net/mytable(PartitionKey='myPartitionKey', RowKey='myRowKey') |
HTTP/1.1 |
La dirección de la entidad que se va a actualizar puede adoptar una serie de formularios en el URI de solicitud. Consulte el protocolo OData para obtener más información.
URI del servicio de almacenamiento emulado
Al realizar una solicitud en el servicio de almacenamiento emulado, especifique el nombre de host del emulador y el puerto de Azure Table Storage como 127.0.0.1:10002
, seguido del nombre de la cuenta de almacenamiento emulada.
Método | URI de solicitud | Versión de HTTP |
---|---|---|
MERGE |
http://127.0.0.1:10002/devstoreaccount1/mytable(PartitionKey='myPartitionKey', RowKey='myRowKey') |
HTTP/1.1 |
Table Storage en el emulador de almacenamiento difiere de Azure Table Storage de varias maneras. Para más información, consulte Diferencias entre el emulador de almacenamiento y los servicios de Azure Storage.
Parámetros del identificador URI
Puede especificar los siguientes parámetros adicionales en el URI de solicitud.
Parámetro | Descripción |
---|---|
timeout |
Opcional. El parámetro timeout se expresa en segundos. Para más información, consulte Establecimiento de tiempos de espera para las operaciones de Table Storage. |
Encabezados de solicitud
En la tabla siguiente se describen los encabezados de solicitud requeridos y opcionales.
Encabezado de solicitud | Descripción |
---|---|
Authorization |
Necesario. Especifica el esquema de autorización, el nombre de la cuenta y la firma. Para obtener más información, vea Autorización de solicitudes a Azure Storage. |
Date o x-ms-date |
Necesario. Especifica la hora universal coordinada (UTC) de la solicitud. Para obtener más información, vea Autorización de solicitudes a Azure Storage. |
x-ms-version |
Opcional. Especifica la versión de la operación que se utiliza para esta solicitud. Para obtener más información, vea Versiones de los servicios de Azure Storage. |
Content-Type |
Necesario. Especifica el tipo de contenido de la carga. Los valores posibles son application/atom+xml y application/json .Para obtener más información sobre los tipos de contenido válidos, consulte Formato de carga para las operaciones de Table Storage. |
Content-Length |
Necesario. Longitud del cuerpo de la solicitud. |
If-Match |
Necesario. El cliente puede especificar para ETag la entidad en la solicitud, con el fin de comparar con el ETag mantenido por el servicio con el fin de la simultaneidad optimista. La operación de actualización solo se realizará si el ETag cliente enviado coincide con el valor mantenido por el servidor. Esta coincidencia indica que la entidad no se ha modificado desde que el cliente lo recuperó.Para forzar una actualización incondicional, establezca If-Match en el carácter comodín (*). |
x-ms-client-request-id |
Opcional. Proporciona un valor opaco generado por el cliente con un límite de caracteres de 1 kibibyte (KiB) que se registra en los registros cuando se configura el registro. Se recomienda encarecidamente usar este encabezado para correlacionar las actividades del lado cliente con las solicitudes que recibe el servidor. Para más información, consulte Supervisión de Azure Table Storage. |
Cuerpo de la solicitud
La Merge Entity
operación envía la entidad que se va a actualizar como una OData
entidad, que puede ser un JSON o una fuente Atom. Para obtener más información, consulte Inserción y actualización de entidades.
Response
La respuesta incluye un código de estado HTTP y un conjunto de encabezados de respuesta.
status code
Una operación correcta devuelve el código de estado 204 (Sin contenido). Para obtener información sobre los códigos de estado, consulte Códigos de error y estado y Códigos de error de Table Storage.
Encabezados de respuesta
La respuesta para esta operación incluye los encabezados siguientes. La respuesta también puede incluir encabezados HTTP adicionales y estándar. Todos los encabezados estándar se ajustan a la especificación del protocolo HTTP/1.1.
Encabezado de respuesta | Descripción |
---|---|
ETag |
para ETag la entidad. |
x-ms-request-id |
Este encabezado identifica de forma única la solicitud que se realizó y se puede usar para solucionar problemas de la solicitud. Para más información, consulte Solución de problemas de operaciones de API. |
x-ms-version |
Indica la versión de Table Storage usada para ejecutar la solicitud. Este encabezado se devuelve para las solicitudes realizadas en la versión 2009-09-19 y versiones posteriores. |
Date |
Valor de fecha y hora UTC que indica la hora a la que se inició la respuesta. El servicio genera este valor. |
x-ms-client-request-id |
Puede usar este encabezado para solucionar problemas de solicitudes y respuestas correspondientes. El valor de este encabezado es igual al valor del x-ms-client-request-id encabezado, si está presente en la solicitud. El valor es como máximo 1024 caracteres ASCII visibles. Si el x-ms-client-request-id encabezado no está presente en la solicitud, este encabezado no estará presente en la respuesta. |
Response body
Ninguno.
Respuesta de muestra
Response Status:
HTTP/1.1 204 No Content
Response Headers:
Connection: Keep-Alive
Content-Length: 0
Cache-Control: no-cache
Date: Mon, 25 Nov 2013 19:06:47 GMT
ETag: W/"0x5B168C7B6E589D2"
x-ms-version: 2013-08-15
DataServiceVersion: 1.0;NetFx
MaxDataServiceVersion: 2.0;NetFx
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0
Authorization
El propietario de la cuenta puede realizar esta operación. Además, cualquier persona con una firma de acceso compartido que tenga permiso para realizar esta operación puede hacerlo.
Comentarios
Table Storage no hace que los null
valores de las propiedades sean persistentes. Especificar una propiedad con un null
valor equivale a omitir esa propiedad en la solicitud. La operación solo actualiza Merge Entity
las propiedades que nonull
son valores.
No se puede quitar una propiedad con una Merge Entity
operación . Si necesita hacerlo, reemplace la entidad mediante una llamada a la operación Actualizar entidad .
Al combinar una entidad, debe especificar las propiedades del PartitionKey
sistema y RowKey
como parte de la operación de combinación.
El de ETag
una entidad proporciona simultaneidad optimista predeterminada para las operaciones de combinación. El ETag
valor es opaco y no debe leerse ni confiarse en ella. Antes de que se produzca una operación de combinación, Table Storage comprueba que el valor actual ETag
de la entidad es idéntico al ETag
valor incluido con la solicitud en el If-Match
encabezado. Si los valores son idénticos, Table Storage determina que la entidad no se ha modificado desde que se recuperó y la operación de combinación continúa.
Si la entidad ETag
difiere de la especificada con la solicitud de combinación, se produce un error en la operación de combinación con el código de estado 412 (error de condición previa). Este error indica que la entidad se ha modificado en el servidor desde que se recuperó. Para resolver este error, recupere la entidad y vuelva a emitir la solicitud.
Para forzar una operación de combinación incondicional, establezca el valor del encabezado If-Match
en el carácter comodín (*) en la solicitud. Al pasar este valor a la operación, se invalidará la simultaneidad optimista predeterminada y se omitirá cualquier error de coincidencia en ETag
los valores.
Si falta el If-Match
encabezado de la solicitud en la versión 2011-08-18 y posteriores, el servicio realiza una operación insertar o combinar entidad (upsert). En versiones anteriores a 2011-08-18, el servicio devuelve el código de estado 400 (solicitud incorrecta).
Cualquier aplicación que pueda autorizar y enviar una HTTP MERGE
solicitud puede combinar una entidad. Para obtener más información sobre cómo construir una consulta mediante HTTP MERGE
, vea Agregar, modificar y eliminar entidades.
Para obtener información sobre cómo realizar operaciones de combinación por lotes, consulte Realización de transacciones de grupo de entidades.
Consulte también
Update Entity
Autorización de solicitudes a Azure Storage
Establecimiento de los encabezados de versión del servicio de datos de OData
Estado y códigos de error
Códigos de error de Table Storage