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