Compartilhar via


Substituir um documento

O Azure Cosmos DB é um serviço de banco de dados multimodelo globalmente distribuído compatível com várias APIs. Este artigo cobre a API do SQL do Azure Cosmos DB.

A Replace Document operação substitui todo o conteúdo de um documento.

Solicitação

Método URI da solicitação Descrição
PUT https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-id} Observe que {databaseaccount} é o nome da conta do Cosmos DB criada em sua assinatura. O valor {db-id} é o nome/id gerado pelo usuário do banco de dados, não a ID gerada pelo sistema (rid). O valor de {coll-id} é o nome da coleção. O valor de {doc-id} é a ID do documento a ser substituído.

Cabeçalhos

Confira Cabeçalhos comuns de solicitação REST do Azure Cosmos DB para cabeçalhos usados por todas as solicitações do Cosmos DB. Os cabeçalhos importantes para essa solicitação são:

parâmetro Obrigatório Type Descrição
x-ms-indexing-directive Opcional String Os valores aceitáveis são Incluir ou Excluir. Incluir inclui o documento no caminho de indexação, enquanto Excluir omite o documento da indexação.
x-ms-documentdb-partitionkey Opcional Array O valor da chave de partição para o documento a ser excluído. Obrigatório se e devem ser especificados somente se a coleção for criada com uma definição partitionKey .
If-Match Opcional String Usado para tornar a operação condicional para simultaneidade otimista. Ou seja, o documento será atualizado somente se a etag especificada corresponder à versão atual no banco de dados. O valor deve ser definido como o valor de etag do recurso.

Corpo

Propriedade Obrigatório Type Descrição
id Obrigatório String É uma propriedade configurável pelo usuário. É um nome exclusivo para identificar um documento, ou seja, nenhum documento deve compartilhar a mesma ID. A ID não deve exceder 255 caracteres.
<custom> Obrigatório JSON Qualquer JSON definido pelo usuário.
{  
  "id": "_SalesOrder5",  
  "AccountNumber": "NewUser01",  
  "PurchaseOrderNumber": "PO18009186470",  
  "OrderDate": "2016-03-29T02:03:07.3526153Z",  
  "Total": 5.95,  
  "_rid": "d9RzAJRFKgwEAAAAAAAAAA==",  
  "_self": "dbs/d9RzAA==/colls/d9RzAJRFKgw=/docs/d9RzAJRFKgwEAAAAAAAAAA==/",  
  "_etag": "\"0000de86-0000-0000-0000-56f9e25c0000\"",  
  "_ts": 1459216988,  
  "_attachments": "attachments/",  
  "shippedDate": "2016-03-29T02:03:07.4680723Z",  
  "foo": "bar"  
}  
  

Resposta

Substituir Documento retorna o corpo do documento atualizado.

Cabeçalhos

Confira Cabeçalhos comuns de resposta REST do Azure Cosmos DB para cabeçalhos retornados por todas as respostas do Cosmos DB. Os cabeçalhos de resposta importantes para Substituir Documento são os seguintes:

parâmetro Tipo Descrição
x-ms-request-charge Número O número de unidades de solicitação consumidas pela operação.
x-ms-session-token String Um token de cadeia de caracteres usado com consistência no nível da sessão. Os clientes devem salvar esse valor e defini-lo para solicitações de leitura subsequentes para consistência de sessão.

Códigos de status

A tabela a seguir lista os códigos de status comuns retornados por esta operação. Para obter uma lista completa de códigos de status, consulte Códigos de status HTTP.

Código de status HTTP Descrição
200 Ok A operação foi bem-sucedida.
400 Solicitação Inválida O corpo JSON é inválido. Verifique por colchetes ou aspas ausentes.
404 Não Encontrado O documento não existe mais, ou seja, o documento foi excluído.
409 Conflito A ID fornecida para o novo documento foi tirada de um documento existente.
413 Entidade muito grande O tamanho do documento na solicitação excedeu o tamanho de documento permitido em uma solicitação.

Corpo

Propriedade Descrição
_Livrar É uma propriedade gerada pelo sistema. A ID do recurso (_rid) é um identificador exclusivo que também é hierárquico de acordo com a pilha de recursos no modelo de recurso. Ela é usada internamente para posicionamento e navegação do recurso de documento.
_Ts É uma propriedade gerada pelo sistema. Especifica o último carimbo de data/hora atualizado do recurso. O valor é um carimbo de data/hora.
_Auto É uma propriedade gerada pelo sistema. É o URI endereçável exclusivo do recurso.
_Etag É uma propriedade gerada pelo sistema que especifica a etag de recurso necessária para o controle de simultaneidade otimista.
_Anexos É uma propriedade gerada pelo sistema que especifica o caminho endereçável para o recurso de anexos.
{  
  "id": "_SalesOrder5",  
  "AccountNumber": "NewUser01",  
  "PurchaseOrderNumber": "PO18009186470",  
  "OrderDate": "2016-03-29T02:03:07.3526153Z",  
  "Total": 5.95,  
  "_rid": "d9RzAJRFKgwEAAAAAAAAAA==",  
  "_self": "dbs/d9RzAA==/colls/d9RzAJRFKgw=/docs/d9RzAJRFKgwEAAAAAAAAAA==/",  
  "_etag": "\"0000df86-0000-0000-0000-56f9e25c0000\"",  
  "_ts": 1459216988,  
  "_attachments": "attachments/",  
  "shippedDate": "2016-03-29T02:03:07.4680723Z",  
  "foo": "bar"  
}  
  

Exemplo

PUT https://querydemo.documents.azure.com/dbs/d9RzAA==/colls/d9RzAJRFKgw=/docs/d9RzAJRFKgwEAAAAAAAAAA== HTTP/1.1  
x-ms-documentdb-partitionkey: []  
x-ms-date: Tue, 29 Mar 2016 02:03:07 GMT  
authorization: type%3dmaster%26ver%3d1.0%26sig%3dP7DBdb6lXOnL55kXRL2L%2frt3PE8kybJCIT%2ffViY7UhU%3d  
Cache-Control: no-cache  
User-Agent: Microsoft.Azure.Documents.Client/1.6.0.0  
x-ms-version: 2015-12-16  
Accept: application/json  
Host: querydemo.documents.azure.com  
Cookie: x-ms-session-token#0=777; x-ms-session-token=777  
Content-Length: 405  
Expect: 100-continue  
  
{  
  "id": "_SalesOrder5",  
  "AccountNumber": "NewUser01",  
  "PurchaseOrderNumber": "PO18009186470",  
  "OrderDate": "2016-03-29T02:03:07.3526153Z",  
  "Total": 5.95,  
  "_rid": "d9RzAJRFKgwEAAAAAAAAAA==",  
  "_self": "dbs/d9RzAA==/colls/d9RzAJRFKgw=/docs/d9RzAJRFKgwEAAAAAAAAAA==/",  
  "_etag": "\"0000de86-0000-0000-0000-56f9e25c0000\"",  
  "_ts": 1459216988,  
  "_attachments": "attachments/",  
  "shippedDate": "2016-03-29T02:03:07.4680723Z",  
  "foo": "bar"  
}  
  
HTTP/1.1 200 Ok  
Cache-Control: no-store, no-cache  
Pragma: no-cache  
Transfer-Encoding: chunked  
Content-Type: application/json  
Content-Location: https://querydemo.documents.azure.com/dbs/d9RzAA==/colls/d9RzAJRFKgw=/docs/d9RzAJRFKgwEAAAAAAAAAA==  
Server: Microsoft-HTTPAPI/2.0  
Strict-Transport-Security: max-age=31536000  
x-ms-last-state-change-utc: Fri, 25 Mar 2016 21:55:47.482 GMT  
etag: "0000df86-0000-0000-0000-56f9e25c0000"  
x-ms-resource-quota: documentSize=10240;documentsSize=10485760;collectionSize=10485760;  
x-ms-resource-usage: documentSize=0;documentsSize=3;collectionSize=3;  
x-ms-schemaversion: 1.1  
x-ms-alt-content-path: dbs/testdb/colls/testcoll  
x-ms-quorum-acked-lsn: 777  
x-ms-current-write-quorum: 3  
x-ms-current-replica-set-size: 4  
x-ms-request-charge: 10.67  
x-ms-serviceversion: version=1.6.52.5  
x-ms-activity-id: a86cddb9-75f6-423e-8d42-f6b5ac817209  
x-ms-session-token: 0:778  
Set-Cookie: x-ms-session-token#0=778; Domain=querydemo.documents.azure.com; Path=/dbs/d9RzAA==/colls/d9RzAJRFKgw=  
Set-Cookie: x-ms-session-token=778; Domain=querydemo.documents.azure.com; Path=/dbs/d9RzAA==/colls/d9RzAJRFKgw=  
x-ms-gatewayversion: version=1.6.52.5  
Date: Tue, 29 Mar 2016 02:03:07 GMT  
  
{  
  "id": "_SalesOrder5",  
  "AccountNumber": "NewUser01",  
  "PurchaseOrderNumber": "PO18009186470",  
  "OrderDate": "2016-03-29T02:03:07.3526153Z",  
  "Total": 5.95,  
  "_rid": "d9RzAJRFKgwEAAAAAAAAAA==",  
  "_self": "dbs/d9RzAA==/colls/d9RzAJRFKgw=/docs/d9RzAJRFKgwEAAAAAAAAAA==/",  
  "_etag": "\"0000df86-0000-0000-0000-56f9e25c0000\"",  
  "_ts": 1459216988,  
  "_attachments": "attachments/",  
  "shippedDate": "2016-03-29T02:03:07.4680723Z",  
  "foo": "bar"  
}  
  

Consulte Também