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"
}