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


Сводка функциональных возможностей хранилища таблиц

REST API хранилища таблиц Azure соответствует спецификации протокола OData с некоторыми отличиями, как описано в следующих разделах.

Расширения хранилища таблиц

Хранилище таблиц расширяет функциональные возможности OData следующими способами.

Общий ключ, общий ключ Lite и авторизация Microsoft Entra

Для хранилища таблиц требуется, чтобы каждый запрос был авторизован. Поддерживаются общий ключ, общий ключ Lite и авторизация Microsoft Entra ID. Microsoft Entra ID авторизация является более безопасной и рекомендуется для запросов к хранилищу таблиц с помощью REST API.

Дополнительные сведения о авторизации запросов см. в статье Авторизация запросов к службе хранилища Azure.

Маркеры продолжения для разбиения запросов на страницы

Запрос к хранилищу таблиц может возвращать не более 1000 элементов одновременно и выполняться не более пяти секунд. Если результирующий набор содержит более 1000 элементов или запрос не был завершен в течение пяти секунд, ответ содержит заголовки. Эти заголовки предоставляют разработчику маркеры продолжения для использования, чтобы возобновить запрос к следующему элементу в результирующем наборе. Заголовки маркеров продолжения можно возвращать для операции таблицы запросов или операции сущностей запроса .

Обратите внимание, что общее время, отводимое запросу на планирование и обработку запроса, составляет 30 секунд, включая 5 секунд для выполнения запроса.

Дополнительные сведения о маркерах продолжения см. в разделе Время ожидания запроса и разбиение на страницы.

Системные свойства первичного ключа

Каждая сущность в хранилище таблиц имеет два ключевых свойства: PartitionKey свойство и RowKey свойство . Эти свойства формируют первичный ключ таблицы и однозначно определяют каждую сущность в таблице.

Оба свойства требуют строковых значений. Разработчик отвечает за предоставление значений для этих свойств при вставке новой сущности и их включение в любую операцию обновления или удаления для сущности.

Дополнительные сведения об этих обязательных ключевых свойствах см. в разделе Основные сведения о модели данных хранилища таблиц.

Системное свойство Timestamp

Каждая сущность в хранилище таблиц имеет системное Timestamp свойство. Свойство Timestamp — это значение, поддерживаемое DateTime на стороне сервера, для записи времени последнего изменения сущности. Хранилище таблиц использует Timestamp свойство внутренне для обеспечения оптимистичного параллелизма. Значение Timestamp монотонно увеличивается; это означает, что значение Timestamp увеличивается при каждом изменении сущности. Данное свойство не следует задавать при операциях вставки и обновления (это значение будет пропускаться).

Дополнительные сведения о свойстве см. в Timestamp разделе Основные сведения о модели данных хранилища таблиц.

Пакетные операции

Хранилище таблиц поддерживает пакетные транзакции для сущностей, которые находятся в одной таблице и принадлежат к одной группе секций, что означает, что они имеют одинаковое PartitionKey значение. Это позволяет совершать множественные операции вставки, обновления, слияния и удаления в одной атомарной транзакции. Хранилище таблиц поддерживает подмножество функций, предоставляемых протоколом OData.

Дополнительные сведения о пакетных операциях см. в разделе Выполнение транзакций группы сущностей.

Ограничения хранилища таблиц

Хранилище таблиц имеет следующие ограничения на функциональные возможности, предоставляемые OData.

Credentials, свойство

Хранилище таблиц не поддерживает использование свойства Credentials класса DataServiceContext для авторизации запроса. Вместо этого необходимо авторизовать запрос к хранилищу таблиц, добавив заголовок Authorization в запрос. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure.

Типы свойств

Поддерживаются не все типы свойств, OData поддерживаемые . Список поддерживаемых типов свойств см. в разделе Основные сведения о модели данных хранилища таблиц.

Хранилище таблиц в настоящее время не поддерживает связи между таблицами. Ссылки - это ассоциативные связи между данными.

Операции с свойствами select

Проекция относится к запросу подмножества свойств для сущности или сущностей. Это аналогично выбору подмножества столбцов или свойств таблицы при выполнении запросов, интегрированных в язык (LINQ).

Проекция уменьшает объем данных, который должен быть возвращен запросом, указывая, что в ответе возвращаются только некоторые свойства. Проекция поддерживается в версии службы хранилища Azure 2011-08-18. Дополнительные сведения см. в разделах Сущности запросов, Написание запросов LINQ к хранилищу таблиц и OData: выбор параметра системного запроса ($select)).

Операторы запросов LINQ

Хранилище таблиц поддерживает следующие операторы запросов LINQ:

  • From

  • Where

  • Take

Дополнительные сведения см. в разделе Операторы запросов, поддерживаемые для хранилища таблиц.

Операторы сравнения LINQ

Можно использовать подмножество операторов сравнения, предоставляемых LINQ. Дополнительные сведения см. в разделах Запросы к таблицам и сущностям и Написание запросов LINQ к хранилищу таблиц.

Метод GetMetadataURI

Вы можете использовать метод GetMetadataURI класса DataServiceContext , но он не возвращает сведения о схеме, кроме трех фиксированных свойств схемы. А именно: PartitionKey, RowKey и Timestamp.

Форматы полезных данных

OData поддерживает отправку полезных данных в формате JSON. Хранилище таблиц поддерживает OData формат JSON начиная с версии API 2013-08-15, а OData версия службы данных — 3.0. Предыдущие версии не поддерживают формат JSON.

Полезные данные Atom поддерживаются во всех версиях до 11.12.2015. Версия 2015-12-11 и более поздние поддерживают только полезные данные JSON.

Примечание

JSON — это рекомендуемый формат полезных данных, и это единственный формат, поддерживаемый для версии 2015-12-11 и более поздних версий.

Дополнительные сведения см. в разделах Формат полезных данных для операций хранилища таблиц и Настройка заголовков версии службы данных OData.

См. также раздел

REST API хранилища таблиц