Obter um Documento

O Azure Cosmos DB é uma base de dados com múltiplos modelos distribuído globalmente com suporte para várias APIs. Este artigo abrange a API SQL para o Azure Cosmos DB.

A Get Document operação obtém um documento pela respetiva chave de partição e chave de documento.

Pedir

Método URI do pedido Descrição
GET https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-id} Tenha em atenção que {databaseaccount} é o nome da conta do Azure Cosmos DB criada na sua subscrição. O valor {db-id} é o nome/ID gerado pelo utilizador da base de dados e não o ID gerado pelo sistema (rid). O valor {coll-id} é o nome da coleção. O valor {doc-id} é o ID do documento a obter.

Cabeçalhos

Veja Common Azure Cosmos DB REST request headers for headers that are used by all Cosmos DB requests (Cabeçalhos de pedido REST do Azure Cosmos DB comuns para cabeçalhos que são utilizados por todos os pedidos do Cosmos DB). Os cabeçalhos de resposta importantes do Documento de Leitura são os seguintes:

Cabeçalho Necessário Tipo Description
If-None-Match Opcional String O valor deve ser o etag do recurso. Torna a operação condicional, ou seja, a resposta inclui um corpo apenas o valor na base de dados é diferente do valor especificado no cabeçalho.
x-ms-documentdb-partitionkey Opcional Matriz O valor da chave de partição para o documento ser lido. Tem de ser incluído se e apenas 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: Forte, Vinculado, Sessão ou Eventual (por ordem do mais forte para o mais fraco). A substituição tem de ser igual ou mais fraca do que o nível de consistência configurado da conta.
x-ms-session-token Opcional String Um token de cadeia utilizado com consistência ao nível da sessão. Os clientes têm de ecoar o valor de leitura mais recente deste cabeçalho durante os pedidos de leitura para consistência da sessão.

Corpo

Nenhum.

Resposta

Devolve o conteúdo do documento pedido.

Cabeçalhos

Veja Common Azure Cosmos DB REST response headers for headers that are returned by all Azure Cosmos DB responses (Cabeçalhos de resposta REST do Azure Cosmos DB comuns para cabeçalhos devolvidos por todas as respostas do Azure Cosmos DB). Os cabeçalhos de resposta importantes para Obter Documento são os seguintes:

Cabeçalho Tipo Description
x-ms-request-charge Número O número de unidades de pedido consumidas pela operação.

Códigos de estado

A tabela seguinte lista os códigos de estado comuns devolvidos por esta operação. Para obter uma lista completa dos códigos de estado, consulte Códigos de Estado HTTP..

Código de estado de HTTP Descrição
200 Ok A operação foi bem-sucedida.
304 Não Modificado O documento pedido não foi modificado, uma vez que o valor eTag especificado no cabeçalho If-Match. O serviço devolve um corpo de resposta vazio.
400 Pedido Incorreto O conjunto de substituição no cabeçalho de nível x-ms-consistency é mais forte do que o definido durante a criação da conta. Por exemplo, se o nível de consistência for Sessão, a substituição não pode ser Forte ou Limitada.
404 Não Encontrado O documento já não é um recurso, ou seja, o documento foi eliminado.

Corpo

Propriedade Descrição
id É o nome exclusivo utilizado para identificar um documento, ou seja, nenhum documento pode partilhar o mesmo ID. O ID não pode exceder os 255 carateres.
personalizadas Qualquer JSON definido pelo utilizador.
_rid É uma propriedade gerada pelo sistema. O ID do recurso (_rid) é um identificador exclusivo que também é hierárquico de acordo com a pilha de recursos no modelo de recursos. É utilizado 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á na hora Unix.
_self É uma propriedade gerada pelo sistema. É o URI endereçável exclusivo para o recurso.
_etag É uma propriedade gerada pelo sistema que especifica o etag de recursos necessário para o controlo de simultaneidade otimista.
anexos É 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/"  
}  
  

Consulte também