Inserir Entidade
A Insert Entity
operação insere uma nova entidade numa tabela.
Pedir
Pode construir o pedido da Insert Entity
seguinte forma. É recomendado HTTPS. Substitua myaccount pelo nome da sua conta de armazenamento e mytable pelo nome da sua tabela.
Método | URI do pedido | Versão HTTP |
---|---|---|
POST |
https://myaccount.table.core.windows.net/mytable |
HTTP/1.1 |
URI do serviço de armazenamento emulado
Quando fizer um pedido contra o serviço de armazenamento emulado, especifique o nome de anfitrião do emulador e a porta do Armazenamento de Tabelas do Azure como 127.0.0.1:10002
, seguido do nome da conta de armazenamento emulada.
Método | URI do pedido | Versão HTTP |
---|---|---|
POST |
http://127.0.0.1:10002/devstoreaccount1/mytable |
HTTP/1.1 |
O Armazenamento de Tabelas no emulador de Armazenamento difere do Armazenamento de Tabelas do Azure de várias formas. Para obter mais informações, veja Diferenças entre o emulador de armazenamento e os serviços de Armazenamento do Azure.
Parâmetros URI
Pode especificar os seguintes parâmetros adicionais no URI do pedido.
Parâmetro | Description |
---|---|
timeout |
Opcional. O timeout parâmetro é expresso em segundos. Para obter mais informações, veja Setting timeouts for Table Storage operations (Definir tempos limite para operações de Armazenamento de Tabelas). |
Cabeçalhos do pedido
A tabela seguinte descreve os cabeçalhos de pedido obrigatórios e opcionais.
Cabeçalho do pedido | Description |
---|---|
Authorization |
Obrigatório. Especifica o esquema de autorização, o nome da conta e a assinatura. Para obter mais informações, veja Autorizar pedidos para o Armazenamento do Azure. |
Date ou x-ms-date |
Obrigatório. Especifica a Hora Universal Coordenada (UTC) do pedido. Para obter mais informações, veja Autorizar pedidos para o Armazenamento do Azure. |
x-ms-version |
Opcional. Especifica a versão da operação a utilizar para este pedido. Para obter mais informações, veja Controlo de versões dos serviços de Armazenamento do Azure. |
Content-Type |
Obrigatório. Especifica o tipo de conteúdo do payload. Os valores possíveis são application/atom+xml (versões anteriores apenas a 2015-12-11) e application/json .Para obter mais formação sobre tipos de conteúdo válidos, veja Formato payload para operações de Armazenamento de Tabelas. |
Content-Length |
Obrigatório. O comprimento do corpo do pedido. |
Accept |
Opcional. Especifica o tipo de conteúdo aceite do payload de resposta. Os valores possíveis são: - application/atom+xml (versões anteriores apenas a 2015-12-11)- application/json;odata=nometadata - application/json;odata=minimalmetadata - application/json;odata=fullmetadata Para obter mais informações, veja Formato payload para operações de Armazenamento de Tabelas. |
Prefer |
Opcional. Especifica se a resposta deve incluir a entidade inserida no payload. Os valores possíveis são return-no-content e return-content . Para obter mais informações, consulte Definir o cabeçalho Prefer para gerir o eco de resposta nas operações de inserção. |
x-ms-client-request-id |
Opcional. Fornece um valor opaco gerado pelo cliente com um limite de carateres de 1 kibibyte (KiB) que é registado nos registos quando o registo é configurado. Recomendamos vivamente que utilize este cabeçalho para correlacionar as atividades do lado do cliente com os pedidos que o servidor recebe. Para obter mais informações, veja Monitorizar o Armazenamento de Tabelas do Azure. |
Corpo do pedido
A Insert Entity
operação envia a entidade para ser inserida como uma OData
entidade, que é um JSON ou um feed Atom. Para obter mais informações, veja Inserir e atualizar entidades.
Nota
JSON é o formato de payload recomendado e é o único formato suportado para a versão 2015-12-11 e posterior.
JSON (versão 2013-08-15 e posterior)
Segue-se um corpo de pedido JSON de exemplo para a Insert Entity
operação:
{
"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"
}
Feed atom (versões anteriores a 2015-12-11)
Eis um corpo de pedido do Átomo de exemplo para a Insert Entity
operação.
<?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 />
<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>
</m:properties>
</content>
</entry>
Resposta
A resposta inclui um código de estado HTTP, um conjunto de cabeçalhos de resposta e um corpo de resposta.
Código de estado
O código de estado depende do valor do Prefer
cabeçalho. Se o Prefer
cabeçalho estiver definido como return-no-content
, uma operação bem-sucedida devolve o código de estado 204 (No Content
). Se o Prefer
cabeçalho não for especificado ou se estiver definido como return-content
, uma operação bem-sucedida devolve o código de estado 201 (Created
). Para obter mais informações, consulte Definir o cabeçalho Prefer para gerir o eco de resposta nas operações de inserção.
Para obter informações sobre códigos de estado, veja Códigos de estado e de erro e Códigos de Erro do Serviço de Tabelas.
Cabeçalhos de resposta
A resposta inclui os seguintes cabeçalhos. A resposta também pode incluir cabeçalhos HTTP padrão adicionais. Todos os cabeçalhos padrão estão em conformidade com a especificação do protocolo HTTP/1.1.
Cabeçalho de resposta | Descrição |
---|---|
x-ms-request-id |
Identifica exclusivamente o pedido que foi feito e pode ser utilizado para resolver o pedido. Para obter mais informações, veja Resolver problemas de operações da API. |
x-ms-version |
Indica a versão do Armazenamento de Tabelas utilizada para executar o pedido. Este cabeçalho é devolvido para pedidos feitos na versão 2009-09-19 e posterior. |
Date |
Um valor de data/hora UTC que indica a hora em que a resposta foi iniciada. O serviço gera este valor. |
ETag |
O ETag para a entidade. |
Preference-Applied |
Indica se o cabeçalho do Prefer pedido foi respeitado. Se a resposta não incluir este cabeçalho, o Prefer cabeçalho não foi respeitado. Se este cabeçalho for devolvido, o respetivo valor será return-content ou return-no-content .Para obter mais informações, consulte Definir o cabeçalho Prefer para gerir o eco de resposta nas operações de inserção. |
Content-Type |
Indica o tipo de conteúdo do payload. O valor depende do valor especificado para o cabeçalho do Accept pedido. Os valores possíveis são:- application/atom+xml - application/json;odata=nometadata - application/json;odata=minimalmetadata - application/json;odata=fullmetadata Para obter mais informações sobre tipos de conteúdo, veja Formato payload para operações de Armazenamento de Tabelas. |
x-ms-client-request-id |
Pode ser utilizado para resolver problemas de pedidos e respostas correspondentes. O valor deste cabeçalho é igual ao valor do x-ms-client-request-id cabeçalho, se estiver presente no pedido. O valor é, no máximo, 1024 carateres ASCII visíveis. Se o x-ms-client-request-id cabeçalho não estiver presente no pedido, não estará presente na resposta. |
Corpo da resposta
Se o pedido incluir o Prefer
cabeçalho com o valor return-no-content
, não será devolvido nenhum corpo de resposta. Caso contrário, o corpo da resposta é um OData
conjunto de entidades.
Nota
JSON é o formato de payload recomendado e é o único formato suportado para a versão 2015-12-11 e posterior.
JSON (versão 2013-08-15 e posterior)
Eis uma resposta JSON de exemplo para cada nível de metadados:
Sem metadados:
{
"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"
}
Metadados 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"
}
Metadados 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"
}
Feed atom (versões anteriores a 2015-12-11)
Eis um corpo de resposta Atom de exemplo para a Insert Entity
operação.
<?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/"0x5B168C7B6E589D2"" xmlns="https://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>
Autorização
O proprietário da conta pode efetuar esta operação. Além disso, qualquer pessoa com uma assinatura de acesso partilhado que tenha permissão para efetuar esta operação pode fazê-lo.
Observações
Quando insere uma entidade numa tabela, tem de especificar valores para as propriedades do PartitionKey
sistema e RowKey
. Em conjunto, estas propriedades formam a chave primária e têm de ser exclusivas na tabela.
PartitionKey
Os valores e RowKey
têm de ser valores de cadeia.
PartitionKey
e RowKey
os valores podem ter até 1024 carateres de tamanho. Se utilizar um valor inteiro para o valor da chave, deve converter o número inteiro numa cadeia de largura fixa, uma vez que estão ordenados canonicamente. Por exemplo, converta o valor 1
em 0000001
, para garantir uma ordenação adequada.
Para escrever explicitamente uma propriedade, especifique o tipo de dados adequado OData
ao definir o m:type
atributo na definição de propriedade no feed Atom. Para obter mais informações sobre como escrever propriedades, veja Inserir e atualizar entidades.
O Armazenamento de Tabelas não torna os null
valores das propriedades persistentes. Especificar uma propriedade com um null
valor é equivalente a omitir essa propriedade no pedido.
Para obter informações sobre como realizar operações de inserção em lote, veja Executar transações de grupos de entidades.
Ver também
Autorizar pedidos para o Armazenamento do Azure
Definir os cabeçalhos da versão do serviço de dados OData
Inserir e atualizar entidades
Códigos de estado e de erro
Códigos de erro do Armazenamento de Tabelas