Список документов (ReadFeed)

Выполнение GET на ресурсе документов из определенной коллекции, т. е. путь URI docs возвращает список документов в коллекции. ReadFeed можно использовать для извлечения всех документов или только добавочных изменений в документах в коллекции.

Запрос

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

Заголовки

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

Заголовок Обязательно Тип Описание
x-ms-max-item-count Необязательный Число Целое число, указывающее максимальное количество возвращаемых элементов на страницу.
x-ms-continuation Необязательно Строка Строковый маркер, возвращаемый для запросов и операций чтения и веб-канала, если есть дополнительные результаты для чтения. Клиенты могут получить следующую страницу результатов, повторно отдав запрос с заголовком запроса x-ms-continuation, для которого задано это значение.
x-ms-consistency-level Необязательно Строка Это переопределение уровня согласованности. Допустимые значения: Strong, Bounded, Session или Eventual (в порядке от сильного к самому слабому). Переопределение должно быть таким же или слабым, чем настроенный для учетной записи уровень согласованности.
x-ms-session-token Необязательно Строка Строковый токен, используемый для согласованности на уровне сеанса. Клиенты должны повторять последнее значение для чтения этого заголовка во время запросов на чтение для согласованности сеанса.
A-IM Необязательно Строка В противном случае необходимо задать значение Incremental feedили опустить. Доступно в версии 2016-07-11 REST API и более поздних версий.
If-None-Match Необязательно Строка

Без заголовка: возвращает все изменения с самого начала (создание коллекции)

"*": возвращает все новые изменения данных в коллекции

<etag>: если задано значение ETag коллекции, возвращает все изменения, внесенные с момента логической метки времени.

Доступно в версии 2016-07-11 REST API и более поздних версий.

x-ms-documentdb-partitionkeyrangeid Необязательно Строка Идентификатор диапазона ключей разделов для считывания данных. Доступно в версии 2016-07-11 REST API и более поздних версий.

Текст

Нет.

Ответ

Возвращает массив документов, хранящихся в коллекции.

Заголовки

Заголовки, возвращаемые всеми ответами Cosmos DB, см. в статье Общие заголовки ответов REST Azure Cosmos DB . Важные заголовки ответа:

Заголовок Тип Описание
x-ms-continuation Строка Возвращает маркер для получения дополнительных результатов операции. Клиент может повторно отправить запрос с заголовком x-ms-continuation request , содержащим это значение, чтобы возобновить выполнение.
x-ms-request-charge Число Количество единиц запросов, используемых операцией.
etag Строка

Логический порядковый номер последнего документа, возвращенного в ответе.

Добавочный ReadDocumentFeed можно возобновить, повторно задав это значение в параметре If-None-Match.

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

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

Код состояния HTTP Описание
200 ОК Операция выполнена успешно.
400 — недопустимый запрос Уровень переопределения, заданный в заголовке x-ms-consistency-level, сильнее уровня переопределения, заданного во время создания учетной записи. Например, если уровень согласованности имеет значение Session, переопределение не может выполняться с уровнем Strong или Bounded.

Текст

Свойство Описание
_rid Это созданный системой идентификатор ресурса для коллекции, в которой размещаются документы.
_count Это количество документов, возвращенных операцией списка.
Documents Массив документов, возвращенных операцией.

Свойства документа

Свойство Описание
id Это уникальное имя, которое идентифицирует документ, т. е. ни один документ не может совместно использовать один и тот же id. Длина id не должна превышать 255 символов.
<custom> Любой определяемый пользователем элемент JSON.
_rid Это свойство, созданное системой. Идентификатор ресурса (_rid) — это уникальный идентификатор, который также является иерархическим в стеке ресурсов в модели ресурсов. Он используется внутренне для размещения ресурса документа и перемещения по нему.
_ts Это системное свойство. Оно представляет метку времени последнего обновления ресурса. Значение — метка времени.
_self Это системное свойство. Это уникальный адресуемый URI для ресурса.
_etag Это созданное системой свойство, указывающее ресурс etag , необходимый для управления оптимистическим параллелизмом.
_attachments Это системное свойство, обозначающее адресуемый путь к ресурсу вложений.
{  
  "_rid": "d9RzAJRFKgw=",  
  "Documents": [  
    {  
      "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/"  
    },  
    {  
      "id": "SalesOrder2",  
      "ponumber": "PO15428132599",  
      "OrderDate": "2005-07-01T00:00:00",  
      "DueDate": "2005-07-13T00:00:00",  
      "ShippedDate": "2005-07-08T00:00:00",  
      "AccountNumber": "Account2",  
      "SubTotal": 6107.0820,  
      "TaxAmt": 586.1203,  
      "Freight": 183.1626,  
      "TotalDue": 4893.3929,  
      "DiscountAmt": 1982.872,  
      "Items": [  
        {  
          "OrderQty": 3,  
          "ProductCode": "A-123",  
          "ProductName": "Product 1",  
          "CurrencySymbol": "$",  
          "CurrencyCode": "USD",  
          "UnitPrice": 17.1,  
          "LineTotal": 5.7  
        }  
      ],  
      "_rid": "d9RzAJRFKgwCAAAAAAAAAA==",  
      "_self": "dbs/d9RzAA==/colls/d9RzAJRFKgw=/docs/d9RzAJRFKgwCAAAAAAAAAA==/",  
      "_etag": "\"0000da86-0000-0000-0000-56f9e25b0000\"",  
      "_ts": 1459216987,  
      "_attachments": "attachments/"  
    }  
  ],  
  "_count": 2  
}  
  

Пример

GET https://querydemo.documents.azure.com/dbs/testdb/colls/testcoll/docs HTTP/1.1  
x-ms-max-item-count: 10  
x-ms-documentdb-query-enablecrosspartition: False  
x-ms-date: Tue, 29 Mar 2016 02:03:06 GMT  
authorization: type%3dmaster%26ver%3d1.0%26sig%3dlmte5%2bJR8gIvDubFWZ0W2cgec22LcFAkZgDZxqOBsOI%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  
Server: Microsoft-HTTPAPI/2.0  
Strict-Transport-Security: max-age=31536000  
x-ms-last-state-change-utc: Sun, 27 Mar 2016 22:39:13.369 GMT  
x-ms-resource-quota: documentSize=10240;documentsSize=10485760;collectionSize=10485760;  
x-ms-resource-usage: documentSize=0;documentsSize=2;collectionSize=2;  
x-ms-item-count: 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: 46e2e9a5-4917-4ff6-9be5-6f206c38bb6b  
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:07 GMT  
  
{  
  "_rid": "d9RzAJRFKgw=",  
  "Documents": [  
    {  
      "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/"  
    },  
    {  
      "id": "SalesOrder2",  
      "ponumber": "PO15428132599",  
      "OrderDate": "2005-07-01T00:00:00",  
      "DueDate": "2005-07-13T00:00:00",  
      "ShippedDate": "2005-07-08T00:00:00",  
      "AccountNumber": "Account2",  
      "SubTotal": 6107.0820,  
      "TaxAmt": 586.1203,  
      "Freight": 183.1626,  
      "TotalDue": 4893.3929,  
      "DiscountAmt": 1982.872,  
      "Items": [  
        {  
          "OrderQty": 3,  
          "ProductCode": "A-123",  
          "ProductName": "Product 1",  
          "CurrencySymbol": "$",  
          "CurrencyCode": "USD",  
          "UnitPrice": 17.1,  
          "LineTotal": 5.7  
        }  
      ],  
      "_rid": "d9RzAJRFKgwCAAAAAAAAAA==",  
      "_self": "dbs/d9RzAA==/colls/d9RzAJRFKgw=/docs/d9RzAJRFKgwCAAAAAAAAAA==/",  
      "_etag": "\"0000da86-0000-0000-0000-56f9e25b0000\"",  
      "_ts": 1459216987,  
      "_attachments": "attachments/"  
    }  
  ],  
  "_count": 2  
}  
  

См. также: