Entidade intercalar
A Merge Entity
operação atualiza uma entidade existente ao atualizar as propriedades da entidade. Esta operação não substitui a entidade existente, tal como acontece com a operação Atualizar Entidade .
Pedir
Pode construir o pedido da Merge Entity
seguinte forma. É recomendado HTTPS. Substitua myaccount pelo nome da sua conta de armazenamento e mytable pelo nome da sua tabela. Substitua myPartitionKey e myRowKey pelo nome da chave de partição e da chave de linha que identifica a entidade a atualizar.
Método | URI do pedido | Versão HTTP |
---|---|---|
MERGE |
https://myaccount.table.core.windows.net/mytable(PartitionKey='myPartitionKey', RowKey='myRowKey') |
HTTP/1.1 |
O endereço da entidade a atualizar pode assumir vários formulários no URI do pedido. Veja o Protocolo OData para obter detalhes adicionais.
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 |
---|---|---|
MERGE |
http://127.0.0.1:10002/devstoreaccount1/mytable(PartitionKey='myPartitionKey', RowKey='myRowKey') |
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 e application/json .Para obter mais informações 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. |
If-Match |
Obrigatório. O cliente pode especificar o ETag para a entidade no pedido, para comparar com o ETag mantido pelo serviço para efeitos de simultaneidade otimista. A operação de atualização só será efetuada se o ETag enviado pelo cliente corresponder ao valor mantido pelo servidor. Esta correspondência indica que a entidade não foi modificada desde que foi obtida pelo cliente.Para forçar uma atualização incondicional, defina If-Match para o caráter universal (*). |
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 Merge Entity
operação envia a entidade para ser atualizada como uma OData
entidade, que pode ser um JSON ou um feed Atom. Para obter mais informações, veja Inserir e atualizar entidades.
Resposta
A resposta inclui um código de estado HTTP e um conjunto de cabeçalhos de resposta.
Código de estado
Uma operação bem-sucedida devolve o código de estado 204 (Sem Conteúdo). Para obter informações sobre códigos de estado, veja Códigos de estado e de erro e códigos de erro do Armazenamento de Tabelas.
Cabeçalhos de resposta
A resposta para esta operação 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 |
---|---|
ETag |
O ETag para a entidade. |
x-ms-request-id |
Este cabeçalho 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. |
x-ms-client-request-id |
Pode utilizar este cabeçalho 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, este cabeçalho não estará presente na resposta. |
Corpo da resposta
Nenhum.
Resposta de amostra
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
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
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. Apenas as propriedades com valores nãonull
- são atualizadas pela Merge Entity
operação.
Não pode remover uma propriedade com uma Merge Entity
operação. Se precisar de o fazer, substitua a entidade ao chamar a operação Atualizar Entidade .
Quando intercala uma entidade, tem de especificar as propriedades e RowKey
do PartitionKey
sistema como parte da operação de intercalação.
Uma entidade ETag
fornece simultaneidade otimista e predefinida para operações de intercalação. O ETag
valor é opaco e não deve ser lido ou confiado. Antes de ocorrer uma operação de intercalação, o Armazenamento de Tabelas verifica se o valor atual ETag
da entidade é idêntico ao ETag
valor incluído com o pedido no If-Match
cabeçalho. Se os valores forem idênticos, o Armazenamento de Tabelas determina que a entidade não foi modificada desde que foi obtida e a operação de intercalação continua.
Se a entidade for diferente da ETag
especificada com o pedido de intercalação, a operação de intercalação falhará com o código de estado 412 (Falha na Pré-condição). Este erro indica que a entidade foi alterada no servidor desde que foi obtida. Para resolver este erro, obtenha a entidade e reedita o pedido.
Para forçar uma operação de intercalação incondicional, defina o If-Match
valor do cabeçalho para o caráter universal (*) no pedido. Transmitir este valor para a operação substituirá a simultaneidade predefinida e otimista e ignorará qualquer erro de correspondência nos ETag
valores.
Se o If-Match
cabeçalho estiver em falta no pedido na versão 2011-08-18 e posterior, o serviço efetua uma operação Inserir ou Intercalar Entidade (upsert). Em versões anteriores a 2011-08-18, o serviço devolve o código de estado 400 (Pedido Incorreto).
Qualquer aplicação que possa autorizar e enviar um HTTP MERGE
pedido pode intercalar uma entidade. Para obter mais informações sobre como construir uma consulta com HTTP MERGE
o , consulte Adicionar, modificar e eliminar entidades.
Para obter informações sobre a execução de operações de intercalação em lote, veja Executar transações de grupos de entidades.
Ver também
Atualizar Entidade
Autorizar pedidos para o Armazenamento do Azure
Definir os cabeçalhos da versão do serviço de dados OData
Códigos de estado e de erro
Códigos de erro do Armazenamento de Tabelas