Поделиться через


Получение документа

Azure Cosmos DB — это глобально распределенная многомодельная база данных с поддержкой разных API. В этой статье рассматривается API SQL для Azure Cosmos DB.

Операция Get Document извлекает документ по ключу секции и ключу документа.

Запрос

Метод Универсальный код ресурса (URI) запроса Описание
GET https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-id} Обратите внимание, что {databaseaccount} — это имя учетной записи Azure Cosmos DB, созданной в вашей подписке. Значение {db-id} — это созданное пользователем имя или идентификатор базы данных, а не системный идентификатор (rid). Значение {coll-id} — это имя коллекции. Значение {doc-id} — это идентификатор извлекаемого документа.

Заголовки

Заголовки, используемые всеми запросами Cosmos DB, см. в статье Общие заголовки запросов REST Azure Cosmos DB . Ниже приведены важные заголовки ответов для read document.

Заголовок Обязательно Тип Описание
If-None-Match Необязательно Строка Значение должно быть etag ресурса. Делает операцию условной, то есть ответ включает только текст, значение в базе данных отличается от указанного значения в заголовке.
x-ms-documentdb-partitionkey Необязательно Array Значение ключа секции для считываемого документа. Необходимо включать только в том случае, если коллекция создана с определением partitionKey .
x-ms-consistency-level Необязательно Строка Это переопределение уровня согласованности. Допустимые значения: Strong, Bounded, Session или Eventual (в порядке от сильного к самому слабому). Переопределение должно быть таким же или слабым, чем настроенный уровень согласованности учетной записи.
x-ms-session-token Необязательно Строка Строковый маркер, используемый для согласованности на уровне сеанса. Клиенты должны повторять последнее значение чтения этого заголовка во время запросов на чтение для согласованности сеанса.

Текст

Нет.

Ответ

Возвращает содержимое запрошенного документа.

Заголовки

Заголовки, возвращаемые всеми ответами Azure Cosmos DB, см. в статье Общие заголовки ответов REST Azure Cosmos DB . Ниже приведены важные заголовки ответов для получения документа.

Заголовок Тип Описание
x-ms-request-charge Число Количество единиц запроса, потребляемых операцией.

Коды состояния

В таблице ниже указаны стандартные коды состояния, возвращаемые этой операцией. Полный список кодов состояния см. в разделе Коды состояния HTTP.

Код состояния HTTP Описание
200 (ОК) Операция выполнена успешно.
304 Не изменено Запрошенный документ не был изменен, так как указанное значение eTag в заголовке If-Match. Служба возвращает пустой текст ответа.
400 — недопустимый запрос Набор переопределений в заголовке x-ms-consistency-level сильнее, чем набор во время создания учетной записи. Например, если уровень согласованности — Сеанс, переопределение не может быть строгим или ограниченным.
404 — не найдено Этот документ больше не является ресурсом, так как был удален.

Текст

Свойство Описание
идентификатор Это уникальное имя, используемое для идентификации документа, то есть два документа не могут использовать один и тот же идентификатор. Длина идентификатора не должна превышать 255 символов.
custom Любой определяемый пользователем элемент JSON.
_rid Это свойство, созданное системой. Идентификатор ресурса (_rid) — это уникальный идентификатор, который также является иерархическим для стека ресурсов в модели ресурсов. Он используется внутренне для размещения ресурса документа и перемещения по нему.
_Ts Это свойство, созданное системой. Оно представляет метку времени последнего обновления ресурса. Значение во времени Unix.
_Самостоятельно Это свойство, созданное системой. Это уникальный адресуемый URI для ресурса.
_etag Это системное свойство, указывающее тег ресурса, необходимый для управления оптимистическим параллелизмом.
attachments Это созданное системой свойство, указывающее адресный путь для ресурса вложений.
{  
  "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/"  
}  
  

Пример

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

См. также: