Obtention d'un document
Azure Cosmos DB est une base de données multimodèle distribuée à l’échelle mondiale avec prise en charge de plusieurs API. Cet article traite de l’API SQL pour Azure Cosmos DB.
L’opération Get Document
récupère un document par sa clé de partition et sa clé de document.
Requête
Méthode | URI de demande | Description |
---|---|---|
GET | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-id} | Notez que le {databaseaccount} est le nom du compte Azure Cosmos DB créé sous votre abonnement. La valeur {db-id} est le nom/l’ID généré par l’utilisateur de la base de données, et non l’ID généré par le système (rid). La valeur {coll-id} est le nom de la collection. La valeur {doc-id} est l’ID du document à récupérer. |
En-têtes
Consultez En-têtes de requête REST Azure Cosmos DB courants pour les en-têtes utilisés par toutes les requêtes Cosmos DB. Les en-têtes de réponse importants pour Read Document sont les suivants :
En-tête | Obligatoire | Type | Description |
---|---|---|---|
If-None-Match | Facultatif | String | La valeur doit être l’etag de la ressource. Rend l’opération conditionnelle, c’est-à-dire que la réponse inclut un corps, seule la valeur de la base de données est différente de la valeur spécifiée dans l’en-tête. |
x-ms-documentdb-partitionkey | Facultatif | Array | Valeur de clé de partition pour le document à lire. Doit être inclus si et uniquement si la collection est créée avec une définition partitionKey . |
x-ms-consistency-level | Facultatif | String | Il s’agit de la substitution de niveau de cohérence. Les valeurs valides sont les suivantes : Strong, Bounded, Session ou Eventual (dans l’ordre du plus fort au plus faible). La substitution doit être identique ou inférieure au niveau de cohérence configuré du compte. |
x-ms-session-token | Facultatif | String | Jeton de chaîne utilisé avec la cohérence au niveau de la session. Les clients doivent faire écho à la dernière valeur de lecture de cet en-tête lors des demandes de lecture de cohérence de session. |
Corps
Aucun.
response
Retourne le contenu du document demandé.
En-têtes
Consultez En-têtes de réponse REST Azure Cosmos DB courants pour les en-têtes retournés par toutes les réponses Azure Cosmos DB. Les en-têtes de réponse importants pour Obtenir un document sont les suivants :
En-tête | Type | Description |
---|---|---|
x-ms-request-charge | Number | Nombre d’unités de requête consommées par l’opération. |
Codes d’état
Le tableau suivant répertorie les codes d'état courants renvoyés par cette opération. Pour obtenir la liste complète des codes status, consultez Codes d’état HTTP.
Code d'état HTTP | Description |
---|---|
200 Ok | L'opération a réussi. |
304 Non modifié | Le document demandé n’a pas été modifié depuis la valeur eTag spécifiée dans l’en-tête If-Match. Le service retourne un corps de réponse vide. |
400 Demande incorrecte | Le jeu de remplacement dans l’en-tête x-ms-consistency-level est plus fort que celui défini lors de la création du compte. Par exemple, si le niveau de cohérence est Session, le remplacement ne peut pas être fort ou limité. |
404 Introuvable | Le document n'est plus une ressource, autrement dit le document a été supprimé. |
body
Propriété | Description |
---|---|
id | Il s’agit du nom unique utilisé pour identifier un document, c’est-à-dire qu’aucun document ne peut partager le même ID. L’ID ne doit pas dépasser 255 caractères. |
custom | Tout JSON défini par l'utilisateur. |
_Débarrasser | Il s’agit d’une propriété générée par le système. L’ID de ressource (_rid) est un identificateur unique qui est également hiérarchique en fonction de la pile de ressources sur le modèle de ressource. Il est utilisé en interne pour le positionnement et la navigation de la ressource de document. |
_Ts | Il s’agit d’une propriété générée par le système. Elle spécifie l'horodateur de la dernière mise à jour de la ressource. La valeur est dans l’heure Unix. |
_self | Il s’agit d’une propriété générée par le système. Il s'agit de l'URI adressable unique pour la ressource. |
_Etag | Il s’agit d’une propriété générée par le système qui spécifie l’etag de ressource requis pour le contrôle d’accès concurrentiel optimiste. |
attachments | Il s’agit d’une propriété générée par le système qui spécifie le chemin d’accès adressable pour la ressource pièces jointes. |
{
"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/"
}
Exemple
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/"
}