Share via


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

Voir aussi