Merge Entity
A operação Merge Entity
atualiza uma entidade existente atualizando as propriedades da entidade. Essa operação não substitui a entidade existente, como faz a operação Atualizar Entidade .
Solicitação
Você pode construir a solicitação da Merge Entity
seguinte maneira. HTTPS é recomendado. Substitua myaccount pelo nome da sua conta de armazenamento e mytable pelo nome da tabela. Substitua myPartitionKey e myRowKey pelo nome da chave de partição e da chave de linha que identificam a entidade a ser atualizada.
Método | URI da solicitação | Versão HTTP |
---|---|---|
MERGE |
https://myaccount.table.core.windows.net/mytable(PartitionKey='myPartitionKey', RowKey='myRowKey') |
HTTP/1.1 |
O endereço da entidade a ser atualizada pode usar vários formulários no URI da solicitação. Consulte o Protocolo OData para obter detalhes adicionais.
URI do serviço de armazenamento emulado
Ao fazer uma solicitação no serviço de armazenamento emulado, especifique o nome do host do emulador e a porta do Armazenamento de Tabelas do Azure como 127.0.0.1:10002
, seguido pelo nome da conta de armazenamento emulado.
Método | URI da solicitação | 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 maneiras. Para obter mais informações, consulte Diferenças entre o emulador de armazenamento e os serviços de Armazenamento do Azure.
Parâmetros do URI
Você pode especificar os seguintes parâmetros adicionais no URI de solicitação.
Parâmetro | Descrição |
---|---|
timeout |
Opcional. O parâmetro timeout é expresso em segundos. Para obter mais informações, consulte Configurando tempos limite para operações de Armazenamento de Tabelas. |
Cabeçalhos da solicitação
A tabela a seguir descreve os cabeçalhos de solicitação obrigatórios e opcionais.
Cabeçalho da solicitação | Descrição |
---|---|
Authorization |
Obrigatórios. Especifica o esquema de autorização, o nome da conta e a assinatura. Para saber mais, confira Autorizar solicitações para o Armazenamento do Azure. |
Date ou x-ms-date |
Obrigatórios. Especifica o UTC (Tempo Universal Coordenado) para a solicitação. Para saber mais, confira Autorizar solicitações para o Armazenamento do Azure. |
x-ms-version |
Opcional. Especifica a versão da operação a ser usada para esta solicitação. Para obter mais informações, consulte Controle de versão para os Serviços de Armazenamento do Azure. |
Content-Type |
Obrigatórios. Especifica o tipo de conteúdo da carga. Os valores possíveis são application/atom+xml e application/json .Para obter mais informações sobre tipos de conteúdo válidos, consulte Formato de carga para operações de Armazenamento de Tabelas. |
Content-Length |
Obrigatórios. O tamanho do corpo da solicitação. |
If-Match |
Obrigatórios. O cliente pode especificar o ETag para a entidade na solicitação, a fim de comparar com o ETag mantido pelo serviço para fins de simultaneidade otimista. A operação de atualização será executada somente se o ETag enviado pelo cliente corresponder ao valor mantido pelo servidor. Essa correspondência indica que a entidade não foi modificada desde que foi recuperada pelo cliente.Para forçar uma atualização incondicional, defina If-Match como o caractere curinga (*). |
x-ms-client-request-id |
Opcional. Fornece um valor opaco gerado pelo cliente com um limite de caracteres KiB (1 kibibyte) que é registrado nos logs quando o registro em log é configurado. É altamente recomendável que você use esse cabeçalho para correlacionar atividades do lado do cliente com solicitações recebidas pelo servidor. Para obter mais informações, consulte Monitorar o Armazenamento de Tabelas do Azure. |
Corpo da solicitação
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, consulte Inserir e atualizar entidades.
Resposta
A resposta inclui um código de status HTTP e um conjunto de cabeçalhos de resposta.
Código de status
Uma operação bem-sucedida retorna o código de status 204 (Sem conteúdo). Para obter informações sobre códigos status, consulte Códigos de erro e status e códigos de erro do Armazenamento de Tabelas.
Cabeçalhos de resposta
A resposta para esta operação inclui os cabeçalhos a seguir. 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 |
Esse cabeçalho identifica exclusivamente a solicitação que foi feita e pode ser usado para solucionar problemas da solicitação. Para obter mais informações, consulte Solução de problemas de operações de API. |
x-ms-version |
Indica a versão do Armazenamento de Tabelas usada para executar a solicitação. Esse cabeçalho é retornado para solicitações feitas na versão 2009-09-19 e mais recente. |
Date |
Um valor de data/hora UTC que indica a hora em que a resposta foi iniciada. O serviço gera esse valor. |
x-ms-client-request-id |
Você pode usar esse cabeçalho para solucionar problemas de solicitações e respostas correspondentes. O valor desse cabeçalho é igual ao valor do x-ms-client-request-id cabeçalho, se ele estiver presente na solicitação. O valor é no máximo 1024 caracteres ASCII visíveis. Se o x-ms-client-request-id cabeçalho não estiver presente na solicitação, esse cabeçalho não estará presente na resposta. |
Corpo da resposta
Nenhum.
Resposta de exemplo
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 executar essa operação. Além disso, qualquer pessoa com uma assinatura de acesso compartilhado que tenha permissão para executar essa operação pode fazer isso.
Comentários
O Armazenamento de Tabelas não torna null
os valores para propriedades persistentes. Especificar uma propriedade com um null
valor é equivalente a omitir essa propriedade na solicitação. Somente as propriedades com valores nãonull
são atualizadas pela Merge Entity
operação.
Não é possível remover uma propriedade com uma Merge Entity
operação. Se você precisar fazer isso, substitua a entidade chamando a operação Atualizar Entidade .
Ao mesclar uma entidade, você deve especificar as propriedades do PartitionKey
sistema e RowKey
como parte da operação de mesclagem.
Uma entidade fornece ETag
simultaneidade padrão e otimista para operações de mesclagem. O ETag
valor é opaco e não deve ser lido ou confiado. Antes que ocorra uma operação de mesclagem, o Armazenamento de Tabelas verifica se o valor atual ETag
da entidade é idêntico ao ETag
valor incluído na solicitação no If-Match
cabeçalho . Se os valores forem idênticos, o Armazenamento de Tabelas determinará que a entidade não foi modificada desde que foi recuperada e a operação de mesclagem continuará.
Se a entidade for diferente daquela ETag
especificada com a solicitação de mesclagem, a operação de mesclagem falhará com status código 412 (Falha na pré-condição). Esse erro indica que a entidade foi alterada no servidor desde a recuperação. Para resolve esse erro, recupere a entidade e reemissue a solicitação.
Para forçar uma operação de mesclagem incondicional, defina o valor do cabeçalho If-Match
como o caractere curinga (*) na solicitação. Passar esse valor para a operação substituirá a simultaneidade padrão e otimista e ignorará qualquer incompatibilidade de ETag
valores.
Se o If-Match
cabeçalho estiver ausente da solicitação na versão 2011-08-18 e posterior, o serviço executará uma operação Inserir ou Mesclar Entidade (upsert). Em versões anteriores a 18-08-2011, o serviço retorna status código 400 (Solicitação Incorreta).
Qualquer aplicativo que possa autorizar e enviar uma solicitação HTTP MERGE
pode mesclar uma entidade. Para obter mais informações sobre como construir uma consulta usando HTTP MERGE
, consulte Adicionar, modificar e excluir entidades.
Para obter informações sobre como executar operações de mesclagem em lote, consulte Executando transações de grupo de entidades.
Confira também
Atualizar Entidade
Autorizar solicitações para o Armazenamento do Azure
Definindo os cabeçalhos de versão do serviço de dados OData
Status e códigos de erro
Códigos de erro do Armazenamento de Tabelas