Obter 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 Get Document
operação recupera um documento por sua chave de partição e chave do documento.
Solicitação
Método | URI da solicitação | Descrição |
---|---|---|
GET | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-id} | Observe que {databaseaccount} é o nome da conta do Azure 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 recuperado. |
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 de resposta importantes para Ler Documento são os seguintes:
parâmetro | Obrigatório | Type | Descrição |
---|---|---|---|
If-None-Match | Opcional | String | O valor deve ser a etag do recurso. Torna a operação condicional, ou seja, a resposta inclui um corpo somente o valor no banco de dados é diferente do valor especificado no cabeçalho. |
x-ms-documentdb-partitionkey | Opcional | Array | O valor da chave de partição para o documento a ser lido. Deve ser incluído se e somente se a coleção for criada com uma definição partitionKey . |
x-ms-consistency-level | Opcional | String | É a substituição do nível de consistência. Os valores válidos são: Strong, Bounded, Session ou Eventual (na ordem do mais forte para o mais fraco). A substituição deve ser a mesma ou mais fraca do que o nível de consistência configurado da conta. |
x-ms-session-token | Opcional | String | Um token de cadeia de caracteres usado com consistência no nível da sessão. Os clientes devem ecoar o valor de leitura mais recente desse cabeçalho durante solicitações de leitura para consistência de sessão. |
Corpo
Nenhum.
Resposta
Retorna o conteúdo do documento solicitado.
Cabeçalhos
Confira Cabeçalhos comuns de resposta REST do Azure Cosmos DB para cabeçalhos retornados por todas as respostas do Azure Cosmos DB. Os cabeçalhos de resposta importantes para Obter 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. |
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. |
304 Não Modificado | O documento solicitado não foi modificado desde o valor de eTag especificado no cabeçalho If-Match. O serviço retorna um corpo de resposta vazio. |
400 Solicitação Inválida | A substituição definida no cabeçalho x-ms-consistency-level é mais forte do que a definida durante a criação da conta. Por exemplo, se o nível de consistência for Sessão, a substituição não poderá ser Forte ou Limitada. |
404 Não Encontrado | O documento não é mais um recurso, ou seja, foi excluído. |
Corpo
Propriedade | Descrição |
---|---|
id | É o nome exclusivo usado para identificar um documento, ou seja, nenhum documento pode compartilhar a mesma ID. A ID não deve exceder 255 caracteres. |
custom | Qualquer JSON definido pelo usuário. |
_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 está no tempo do Unix. |
_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. |
attachments | É uma propriedade gerada pelo sistema que especifica o caminho endereçável para o recurso de anexos. |
{
"id": "SalesOrder1",
"ponumber": "PO18009186470",
"OrderDate": "2005-07-01T00:00:00",
"ShippedDate": "0001-01-01T00:00:00",
"AccountNumber": "Account1",
"SubTotal": 419.4589,
"TaxAmount": 12.5838,
"Freight": 472.3108,
"TotalDue": 985.018,
"Items": [
{
"OrderQty": 1,
"ProductId": 760,
"UnitPrice": 419.4589,
"LineTotal": 419.4589
}
],
"_rid": "d9RzAJRFKgwBAAAAAAAAAA==",
"_self": "dbs/d9RzAA==/colls/d9RzAJRFKgw=/docs/d9RzAJRFKgwBAAAAAAAAAA==/",
"_etag": "\"0000d986-0000-0000-0000-56f9e25b0000\"",
"_ts": 1459216987,
"_attachments": "attachments/"
}
Exemplo
GET https://querydemo.documents.azure.com/dbs/testdb/colls/testcoll/docs/SalesOrder1 HTTP/1.1
x-ms-documentdb-partitionkey: ["Account1"]
x-ms-date: Tue, 29 Mar 2016 02:03:06 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3dyhmbeaUDy6NCOyWr0t7Cxx4aMT4Yx%2bJnRAs%2br8Theyw%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=772; x-ms-session-token=772
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/testdb/colls/testcoll/docs/SalesOrder1
Server: Microsoft-HTTPAPI/2.0
Strict-Transport-Security: max-age=31536000
x-ms-last-state-change-utc: Mon, 28 Mar 2016 14:47:03.949 GMT
etag: "0000d986-0000-0000-0000-56f9e25b0000"
x-ms-resource-quota: documentSize=10240;documentsSize=10485760;collectionSize=10485760;
x-ms-resource-usage: documentSize=0;documentsSize=2;collectionSize=2;
x-ms-schemaversion: 1.1
x-ms-alt-content-path: dbs/testdb/colls/testcoll
x-ms-content-path: d9RzAJRFKgw=
x-ms-request-charge: 1
x-ms-serviceversion: version=1.6.52.5
x-ms-activity-id: c22bc349-2c02-4b80-81b9-a2d758c92902
x-ms-session-token: 0:772
Set-Cookie: x-ms-session-token#0=772; Domain=querydemo.documents.azure.com; Path=/dbs/testdb/colls/testcoll
Set-Cookie: x-ms-session-token=772; Domain=querydemo.documents.azure.com; Path=/dbs/testdb/colls/testcoll
x-ms-gatewayversion: version=1.6.52.5
Date: Tue, 29 Mar 2016 02:03:06 GMT
{
"id": "SalesOrder1",
"ponumber": "PO18009186470",
"OrderDate": "2005-07-01T00:00:00",
"ShippedDate": "0001-01-01T00:00:00",
"AccountNumber": "Account1",
"SubTotal": 419.4589,
"TaxAmount": 12.5838,
"Freight": 472.3108,
"TotalDue": 985.018,
"Items": [
{
"OrderQty": 1,
"ProductId": 760,
"UnitPrice": 419.4589,
"LineTotal": 419.4589
}
],
"_rid": "d9RzAJRFKgwBAAAAAAAAAA==",
"_self": "dbs/d9RzAA==/colls/d9RzAJRFKgw=/docs/d9RzAJRFKgwBAAAAAAAAAA==/",
"_etag": "\"0000d986-0000-0000-0000-56f9e25b0000\"",
"_ts": 1459216987,
"_attachments": "attachments/"
}