Экспорт (0) Печать
Развернуть все

Сравнение фиксированных и гибких типов запросов

Обновлено: Февраль 2014 г.

 

Эмблема DataMarket

Marketplace предоставляет данные с использованием веб-каналов OData. Протокол Open Data (OData) — это веб-протокол для запроса и обновления данных, позволяющий освободить данные и избавить их от разрозненности, присутствующей в современных приложениях. Для этого OData применяет такие веб-технологии как HTTP, протокол публикации Atom (AtomPub) и JSON, что позволяет предоставить доступ к информации из различных приложений, служб и хранилищ.

OData работает так же, как Интернет: URI используются для идентификации ресурсов, а универсальный интерфейс на базе HTTP — для взаимодействия с этими ресурсами. OData предоставляет службе возможность разрешить клиентам динамически создавать запросы, адресованные веб-каналам, используя фильтры, сортировку и прочее, а также предоставить методы фиксированных запросов (аналогично другим конечным точкам веб-службы), в которых клиент обязан предоставить конкретный набор или подмножество параметров и вернуть конкретный набор результатов (как определено владельцем содержимого). Marketplace публикует службы, в которых используются оба типа запросов. Тип доступного запроса к набору данных указан на странице Сведения набора данных, как показано на рисунке ниже.

Набор данных гибкого запроса позволяет добавлять дополнительные фильтры имени/значения параметра при направлении запроса к набору данных (columnName=dataValue), а также массив параметров запроса OData, поддерживаемых Marketplace. Дополнительные сведения о поддерживаемых Marketplace параметрах запроса см. в разделе Поддерживаемые параметры запроса OData.

При разработке приложения, использующего набор данных гибкого запроса, воспользуйтесь ссылкой "Добавить службу" в Visual Studio для создания строго типизированных классов .NET, которые затем можно использовать для вызова службы OData из приложения. Дополнительные сведения см. в разделе Step 2: Add the Service Reference for your Data Service.

Набор данных фиксированного запроса позволяет вызвать предварительно определенные методы запросов, которые делает доступными издатель содержимого. Метод запроса может иметь набор обязательных и(или) необязательных параметров, которые позволяют добавлять в запрос ограниченную фильтрацию. Можно найти список обязательных и(или) необязательных параметров для любого набора данных фиксированного запроса на странице "Сведения" этого набора данных.

Ссылка "Добавить службу" в Visual Studio в настоящее время не поддерживает создание кода для служб данных, которые поддерживают фиксированные запросы. Любой набор данных, который поддерживает фиксированный запрос, предоставляет предварительно созданный прокси-класс для набора данных. Файл прокси-класса доступен на странице "Сведения" набора данных после приобретения подписки. Прокси-классы используют клиентскую библиотеку службы данных WCF для создания строго типизированного класса .NET, который может вызывать службу OData. Дополнительные сведения см. в разделе Создание приложения фиксированного запроса.

Инструкции по определению поддерживаемого набором данных типа запроса см. в разделе Определение типа запроса ниже.

Прежде чем продолжить, убедитесь в наличии следующего:

  • Действительная учетная запись Windows Live ID. Если у вас еще нет учетной записи Live ID, зарегистрироваться для ее получения можно на домашней странице Windows Live.

  • действительная учетная запись Marketplace; Если учетной записи Marketplace нет, перейдите к разделу Создание учетной записи Marketplace и следуйте указанным в нем инструкциям.

  • Подписка на набор данных Data.gov 2006-2008 Crime in the United States ("Преступность в США за 2006–2008 гг."). Если подписка к набору данных отсутствует, перейдите к разделу Подписка на предложение данных и следуйте указанным в нем инструкциям.

 

Раздел Описание

Примеры URI

Примеры URI гибкого и фиксированного запросов.

Определение типа запроса

Шаги, позволяющие определить, поддерживает ли набор данных гибкие или фиксированные запросы.

 

URI Описание URI

https://api.datamarket.azure.com/data.ashx/contoso.com/salesreport/GetSalesReport?region=northamerica

Гибкий запрос для доступа к данным отчета о продажах компании Contoso, Ltd. в Северной Америке.

https://api.datamarket.azure.com/data.ashx/contoso.com/salesreport/GetSalesReport

Гибкий запрос для доступа к данным отчета о продажах компании Contoso, Ltd.
Поскольку параметры не указаны, результирующий набор не отфильтрован и запрос возвращает все отчеты о продажах в системе.

https://api.datamarket.azure.com/Data.ashx/adatum.com/CensusInfo/GetCensusData

Фиксированный запрос без обязательных параметров для доступа к актуальным данным переписи населения из службы A. Datum, Inc.

Вызов GetCensusData является методом доступа к данным в загруженном классе службы C#, который предоставляется Marketplace.

https://api.datamarket.azure.com/Data.ashx/thephone-company.com/accountbalance/GetAccountBalance?phonenumber=5551234567

Фиксированный запрос с одним обязательным параметром для доступа к данным о сальдо конкретного счета из службы Marketplace The Phone Company.
Если пара "имя-значение" обязательного параметра не предоставляется, запрос завершается ошибкой.

Вызов GetAccountBalance является методом доступа к данным в загруженном классе службы C#, который предоставляется Marketplace.

ImportantВажно!
Гибкий запрос без параметров возвращает нефильтрованный набор результатов.
Фиксированный запрос с неверным числом параметров (слишком много или слишком мало) завершается ошибкой.

Дополнительные сведения о построении идентификаторов URI для отправки запросов в службы OData см. в разделе Соглашения об URI OData на сайте OData.org.

Некоторые наборы данных разрешают использовать только фиксированные запросы, запросы без параметров или с обязательными парами "параметр-значение". Другие наборы данных позволяют использовать гибкие запросы — запросы, включающие необязательные пары "параметр-значение" для фильтрации набора результатов. Выясните, какой тип запроса требует ваш набор данных.

  1. Перейдите на вкладку Мои данные.

  2. Щелкните слово Использовать справа от имени набора данных, который требуется использовать в приложении.

  3. Прокрутите страницу вниз, до вкладок под описанием набора данных.

  4. Перейдите на вкладку Подробно.

  5. Найдите строку текста под корневым URL-адресом службы, которая указывает тип запроса. Этот пример предназначен для гибкого запроса.

    Тип запроса


    Рис. 1. Тип запроса

Показ:
© 2015 Microsoft