Condividi tramite


Ottenere un documento

Azure Cosmos DB è un database multimodello distribuito a livello globale con supporto per più API. Questo articolo illustra l'API SQL per Azure Cosmos DB.

L'operazione Get Document recupera un documento in base alla chiave di partizione e alla chiave del documento.

Richiesta

Metodo URI richiesta Descrizione
GET https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-id} Si noti che {databaseaccount} è il nome dell'account Azure Cosmos DB creato nella sottoscrizione. Il valore {db-id} è il nome/ID generato dall'utente del database, non l'ID generato dal sistema (rid). Il valore {coll-id} è il nome della raccolta. Il valore {doc-id} è l'ID del documento da recuperare.

Intestazioni

Vedere Intestazioni di richiesta REST di Azure Cosmos DB comuni per le intestazioni usate da tutte le richieste di Cosmos DB. Le intestazioni di risposta importanti per Read Document sono le seguenti:

Intestazione Obbligatoria Tipo Descrizione
If-None-Match Facoltativo String Il valore deve essere l'etag della risorsa. Rende condizionale l'operazione, ovvero, la risposta include un corpo solo il valore nel database è diverso dal valore specificato nell'intestazione.
x-ms-documentdb-partitionkey Facoltativo Array Valore della chiave di partizione da leggere per il documento. Deve essere incluso se e solo se la raccolta viene creata con una definizione partitionKey .
x-ms-consistency-level Facoltativo String È l'override del livello di coerenza. I valori validi sono: Strong, Bounded, Session o Eventual (in ordine di più forte a più debole). L'override deve essere uguale o più debole del livello di coerenza configurato dell'account.
x-ms-session-token Facoltativo String Token stringa usato con coerenza a livello di sessione. I client devono eco del valore di lettura più recente di questa intestazione durante le richieste di lettura per la coerenza della sessione.

Corpo

Nessuno.

Risposta

Restituisce il contenuto del documento richiesto.

Intestazioni

Vedere Intestazioni di risposta REST di Azure Cosmos DB comuni per le intestazioni restituite da tutte le risposte di Azure Cosmos DB. Le intestazioni di risposta importanti per Get Document sono le seguenti:

Intestazione Tipo Descrizione
x-ms-request-charge Number Numero di unità di richiesta usate dall'operazione.

Codici di stato

La seguente tabella elenca i codici di stato comuni restituiti da questa operazione. Per un elenco completo dei codici di stato, vedere Codici di stato HTTP.

Codice di stato HTTP Descrizione
200 Ok L'operazione è stata completata.
304 Non modificato Il documento richiesto non è stato modificato poiché il valore eTag specificato nell'intestazione If-Match. Il servizio restituisce un corpo della risposta vuoto.
400 - Richiesta non valida L'override impostata nell'intestazione x-ms-consistency-level è più forte di quella impostata durante la creazione dell'account. Ad esempio, se il livello di coerenza è Session, l'override non può essere Strong o Bounded.
404 - Non trovato Il documento non è più una risorsa, ovvero è stato eliminato.

Corpo

Proprietà Descrizione
id È il nome univoco usato per identificare un documento, ovvero nessun documento può condividere lo stesso ID. L'ID non deve superare i 255 caratteri.
custom Qualsiasi JSON definito dall'utente.
_rid Si tratta di una proprietà generata dal sistema. L'ID risorsa (_rid) è un identificatore univoco che è anche gerarchico per ogni stack di risorse nel modello di risorsa. Viene usato internamente per il posizionamento e l'esplorazione della risorsa documento.
_Ts Si tratta di una proprietà generata dal sistema. Indica il timestamp dell'ultimo aggiornamento della risorsa. Il valore è in fase Unix.
_stesso Si tratta di una proprietà generata dal sistema. URI indirizzabile univoco per la risorsa.
_Etag Si tratta di una proprietà generata dal sistema che specifica l'etag della risorsa necessaria per il controllo di concorrenza ottimistica.
attachments Si tratta di una proprietà generata dal sistema che specifica il percorso indirizzabile per la risorsa allegati.
{  
  "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/"  
}  
  

Esempio

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

Vedere anche