Exportar (0) Imprimir
Expandir todo

Insert Entity

Actualizado: noviembre de 2014

La operación Insert Entity inserta una nueva entidad en una tabla.

La solicitud Insert Entity se puede construir como sigue. Se recomienda HTTPS. Reemplace myaccount por el nombre de la cuenta de almacenamiento y mytable por el nombre de la tabla:

 

Método URI de solicitud Versión de HTTP

POST

https://myaccount.table.core.windows.net/mytable

HTTP/1.1

Cuando realice una solicitud en el servicio de almacenamiento emulado, especifique el nombre de host del emulador y el puerto del servicio Tabla como 127.0.0.1:10002, seguido del nombre de la cuenta de almacenamiento emulado:

 

Método URI de solicitud Versión de HTTP

POST

http://127.0.0.1:10002/devstoreaccount1/mytable

HTTP/1.1

El servicio Tabla del emulador de almacenamiento presenta algunas diferencias respecto al servicio Tabla de Windows® Azure™. Para obtener más información, vea Diferencias entre el emulador de almacenamiento y los servicios de almacenamiento de Azure.

Ninguna.

En la tabla siguiente se describen los encabezados de solicitud requeridos y opcionales.

 

Encabezado de solicitud Descripción

Authorization

Obligatorio. Especifica el esquema de autenticación, el nombre de la cuenta y la firma. Para obtener más información, vea Autenticación para los servicios de almacenamiento de Azure.

Date O bien x-ms-date

Obligatorio. Especifica la hora universal coordinada (UTC) para la solicitud. Para obtener más información, vea Autenticación para los servicios de almacenamiento de Azure.

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 Blob, Cola y Tabla de Windows Azure.

Content-Type

Obligatorio. Especifica el tipo de contenido de la carga. Los valores posibles son application/atom+xml y application/json.

Para obtener más información acerca de los tipos de contenido válidos, vea Formato de carga para las operaciones del servicio Tabla.

Content-Length

Obligatorio. La longitud del cuerpo de la solicitud.

Accept

Opcional. Especifica el content-type aceptado de la carga de respuesta. Los valores posibles son:

  • application/atom+xml

  • application/json;odata=nometadata

  • application/json;odata=minimalmetadata

  • application/json;odata=fullmetadata

Para obtener más información, vea Formato de carga para las operaciones del servicio Tabla.

Prefer

Opcional. Especifica si la respuesta debe incluir la entidad insertada en la carga. Los valores posibles son return-no-content y return-content. Para obtener más información, vea Establecer el encabezado Prefer para administrar el eco de respuesta en operaciones de inserción.

x-ms-client-request-id

Opcional. Proporciona un valor opaco generado por el cliente con un límite de caracteres de 1 KB que se graba en los registros de análisis cuando el registro de análisis de almacenamiento está habilitado. Se recomienda encarecidamente usar este encabezado para correlacionar las actividades del lado cliente con las solicitudes recibidas por el servidor. Para obtener más información, vea Acerca del registro del análisis de almacenamiento y Registro de Azure: usar registros para realizar el seguimiento de las solicitudes de almacenamiento.

La operación Insert Entity envía la entidad que se va a insertar como una entidad OData, que puede ser una fuente JSON o Atom. Para obtener más información, vea Insertar y actualizar entidades.

A continuación se muestra un cuerpo de solicitud Atom de ejemplo para la operación Insert Entity.

<?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 />
  <updated>2013-09-18T23:46:19.3857256Z</updated>
  <author>
    <name />
  </author>
  <id />
  <content type="application/xml">
    <m:properties>
      <d:Address>Mountain View</d:Address>
      <d:Age m:type="Edm.Int32">23</d:Age>
      <d:AmountDue m:type="Edm.Double">200.23</d:AmountDue>
      <d:BinaryData m:type="Edm.Binary" m:null="true" />
      <d:CustomerCode m:type="Edm.Guid">c9da6455-213d-42c9-9a79-3e9149a57833</d:CustomerCode>
      <d:CustomerSince m:type="Edm.DateTime">2008-07-10T00:00:00</d:CustomerSince>
      <d:IsActive m:type="Edm.Boolean">true</d:IsActive>
      <d:NumOfOrders m:type="Edm.Int64">255</d:NumOfOrders>
      <d:PartitionKey>mypartitionkey</d:PartitionKey>
      <d:RowKey>myrowkey1</d:RowKey>
      <d:Timestamp m:type="Edm.DateTime">0001-01-01T00:00:00</d:Timestamp>
    </m:properties>
  </content>
</entry>

A continuación se muestra un cuerpo de solicitud JSON de ejemplo para la operación Insert Entity:

{
   "Address":"Mountain View",
   "Age":23,
   "AmountDue":200.23,
   "CustomerCode@odata.type":"Edm.Guid",
   "CustomerCode":"c9da6455-213d-42c9-9a79-3e9149a57833",
   "CustomerSince@odata.type":"Edm.DateTime",
   "CustomerSince":"2008-07-10T00:00:00",
   "IsActive":true,
   "NumberOfOrders@odata.type":"Edm.Int64",
   "NumberOfOrders":"255",
   "PartitionKey":"mypartitionkey",
   "RowKey":"myrowkey"
}

La respuesta incluye un código de estado HTTP, un conjunto de encabezados de respuesta y un cuerpo de respuesta.

El código de estado depende del valor del encabezado Prefer. Si el encabezado Prefer se establece en return-no-content, una operación correcta devuelve el código de estado 204 (No Content). Si el encabezado Prefer no se especifica o si se establece en return-content, una operación correcta devuelve el código de estado 201 (Created). Para obtener más información, vea Establecer el encabezado Prefer para administrar el eco de respuesta en operaciones de inserción.

Para obtener información acerca de los códigos de estado, vea Códigos de estado y de error y Códigos de error del servicio Tabla.

La respuesta incluye los encabezados siguientes. La respuesta también puede incluir otros encabezados HTTP estándar. Todos los encabezados estándar cumplen la especificación del protocolo HTTP/1.1.

 

Encabezado de respuesta Descripción

x-ms-request-id

Este encabezado identifica de forma única la solicitud que se realizó y se puede utilizar para solucionar problemas relacionados con esta. Para obtener más información, vea Solucionar problemas relacionados con las operaciones de la API.

x-ms-version

Indica la versión del servicio Tabla utilizada 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 generado por el servicio que indica la hora a la que se inició la respuesta.

Preference-Applied

Indica si el encabezado de solicitud Prefer se ha respetado. Si la respuesta no incluye este encabezado, el encabezado Prefer no se ha respetado. Si se devuelve este encabezado, su valor será return-content o return-no-content.

Para obtener más información, vea Establecer el encabezado Prefer para administrar el eco de respuesta en operaciones de inserción.

Content-Type

Indica el tipo de contenido de la carga. El valor depende del valor especificado para el encabezado de solicitud Accept. Los valores posibles son:

  • application/atom+xml

  • application/json;odata=nometadata

  • application/json;odata=minimalmetadata

  • application/json;odata=fullmetadata

Para obtener más información acerca de los tipos de contenido, vea Formato de carga para las operaciones del servicio Tabla.

Si la solicitud incluye el encabezado Prefer con el valor return-no-content, no se devuelve ningún cuerpo de respuesta. De lo contrario, el cuerpo de respuesta es un conjunto de entidades OData.

A continuación se muestra un cuerpo de respuesta Atom de ejemplo para la operación Insert Entity.

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<entry xml:base="https://myaccount.table.core.windows.net/" 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/mytable(PartitionKey='mypartitionkey',RowKey='myrowkey1')</id>
  <title type="text"></title>
  <updated>2008-09-18T23:46:19.3857256Z</updated>
  <author>
    <name />
  </author>
  <link rel="edit" title="mytable" href="mytable(PartitionKey='mypartitionkey',RowKey='myrowkey1')" />
  <category term="myaccount.Tables" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
  <content type="application/xml">
    <m:properties>
      <d:PartitionKey>mypartitionkey</d:PartitionKey>
      <d:RowKey>myrowkey1</d:RowKey>
      <d:Timestamp m:type="Edm.DateTime">2008-09-18T23:46:19.4277424Z</d:Timestamp>
      <d:Address>Mountain View</d:Address>
      <d:Age m:type="Edm.Int32">23</d:Age>
      <d:AmountDue m:type="Edm.Double">200.23</d:AmountDue>
      <d:CustomerCode m:type="Edm.Guid">c9da6455-213d-42c9-9a79-3e9149a57833</d:CustomerCode>
      <d:CustomerSince m:type="Edm.DateTime">2008-07-10T00:00:00</d:CustomerSince>
      <d:IsActive m:type="Edm.Boolean">true</d:IsActive>
      <d:NumOfOrders m:type="Edm.Int64">255</d:NumOfOrders>
    </m:properties>
  </content>
</entry>

A continuación se muestra una respuesta JSON de ejemplo para cada nivel de metadatos:

Sin metadatos:

{
   "PartitionKey":"mypartitionkey",
   "RowKey":"myrowkey",
   "Timestamp":"2013-08-22T01:12:06.2608595Z",
   "Address":"Mountain View",
   "Age":23,
   "AmountDue":200.23,
   "CustomerCode":"c9da6455-213d-42c9-9a79-3e9149a57833",
   "CustomerSince":"2008-07-10T00:00:00",
   "IsActive":true,
   "NumberOfOrders":"255"
}

Metadatos mínimos:

{
   "odata.metadata":"https://myaccount.table.core.windows.net/Customer/$metadata#Customers/@Element",
   "PartitionKey":"mypartitionkey",
   "RowKey":"myrowkey",
   "Timestamp":"2013-08-22T01:12:06.2608595Z",
   "Address":"Mountain View",
   "Age":23,
   "AmountDue":200.23,
   "CustomerCode@odata.type":"Edm.Guid",
   "CustomerCode":"c9da6455-213d-42c9-9a79-3e9149a57833",
   "CustomerSince@odata.type":"Edm.DateTime",
   "CustomerSince":"2008-07-10T00:00:00",
   "IsActive":true,
   "NumberOfOrders@odata.type":"Edm.Int64",
   "NumberOfOrders":"255"
}

Metadatos completos:

{
   "odata.metadata":"https://myaccount.table.core.windows.net/Customer/$metadata#Customers/@Element",
   "odata.type":"myaccount.Customers",
   "odata.id":" https://myaccount.table.core.windows.net/Customers(PartitionKey='mypartitionkey',RowKey='myrowkey')",
   "odata.etag":"W/\"0x5B168C7B6E589D2\"",
   "odata.editLink":"Customers(PartitionKey='mypartitionkey',RowKey='myrowkey')",
   "PartitionKey":"mypartitionkey",
   "RowKey":"myrowkey",
   "Timestamp@odata.type":"Edm.DateTime",
   "Timestamp":"2013-08-22T01:12:06.2608595Z",
   "Address":"Mountain View",
   "Age":23,
   "AmountDue":200.23,
   "CustomerCode@odata.type":"Edm.Guid",
   "CustomerCode":"c9da6455-213d-42c9-9a79-3e9149a57833",
   "CustomerSince@odata.type":"Edm.DateTime",
   "CustomerSince":"2008-07-10T00:00:00",
   "IsActive":true,
   "NumberOfOrders@odata.type":"Edm.Int64",
   "NumberOfOrders":"255"
}

Esta operación la puede realizar el propietario de la cuenta y cualquiera que tenga una firma de acceso compartido con permiso para realizar esta operación.

Al insertar una entidad en una tabla, debe especificar valores para las propiedades del sistema PartitionKey y RowKey. Estas dos propiedades juntas forman la clave principal y deben ser únicas dentro de la tabla.

Los valores PartitionKey y RowKey deben ser valores de cadena; cada valor de clave puede tener un tamaño máximo de 64 KB. Si utiliza un valor entero para el valor de clave, debe convertirlo en una cadena de longitud fija, ya que se ordenan de forma canónica. Por ejemplo, debe convertir el valor 1 en 0000001 para garantizar una ordenación correcta.

Para escribir explícitamente una propiedad, especifique el tipo de datos OData apropiado estableciendo el atributo m:type en la definición de la propiedad en la fuente Atom. Para obtener más información acerca de la asignación de tipos a las propiedades, vea Insertar y actualizar entidades.

Para obtener más información sobre cómo realizar operaciones de inserción por lotes, vea Realizar transacciones con grupos de entidades.

Vea también

Mostrar:
© 2015 Microsoft