Мобильные службы Azure — одна из самых классных функций, недавно добавленных в Azure. По сути, это простой способ создания и размещения служб, которые можно использовать в сочетании с мобильными приложениями (не только созданными Microsoft, как мы увидим позже) для различных целей: общих служб данных, аутентификации или push-уведомлений.
Это не что-то новое: эти сервисы построены на основе существующей инфраструктуры Azure (сервис размещается в веб-роли, а данные хранятся в базе данных SQL), разработчикам проще создавать и взаимодействовать с ними. с участием.
В следующих статьях я покажу вам, как использовать мобильные службы Azure для размещения простой службы, предоставляющей некоторые данные, и способы взаимодействия с этими данными (чтение, вставка, обновление и т. Д.) Из Windows 8 и Windows. Телефонное приложение. Эти сервисы являются просто сервисами REST, которые возвращают ответы JSON и могут использоваться любым приложением. Как вы увидите, взаимодействие с Windows 8 действительно простое: Microsoft выпустила дополнение для Visual Studio 2012, которое добавляет библиотеку, на которую может ссылаться приложение Магазина Windows, которая невероятно упрощает операции со службой.
Windows Phone пока не поддерживается (даже если я уверен, что, как только будет выпущен Windows Phone 8 SDK, будет также предоставлена библиотека для этой платформы): в этом случае мы перейдем в «ручной режим». ”, Это будет полезно для понимания того, как взаимодействовать с мобильными службами Azure также из приложения, написанного не с использованием технологии Microsoft (например, приложения iOS или Android). В этом случае нам придется отправлять веб-запросы в службу и анализировать ответ: как мы увидим, благодаря некоторым библиотекам с открытым исходным кодом это будет не так сложно, как кажется.
Прежде чем начать писать код, давайте посмотрим, как настроить мобильные службы Azure.
Активация функции
Конечно, первое, что вам нужно, это подписка Azure: если у вас ее нет, вы можете подписаться на бесплатную пробную версию , следуя этим инструкциям .
Затем вам нужно включить эту функцию: фактически, поскольку мобильные службы Azure находятся на стадии предварительного просмотра, они не включены по умолчанию. Для этого вам нужно получить доступ к порталу управления учетными записями Azure и открыть раздел « Просмотр функций »: вы увидите список доступных функций. Нажмите кнопку « Попробовать сейчас» рядом с разделом « Мобильные услуги », подтвердите активацию и… вы готовы! В течение нескольких минут вы должны получить подтверждающее письмо, и на странице должно появиться сообщение « Вы активны» .
Создание сервиса
Теперь, когда эта функция включена, мы можем начать использовать его из нового портала Azure Management : нажмите Новую кнопку и выберите Создать в Mobile Services разделе. На первом шаге мастера вам будет предложено выбрать:
- Имя службы (это будет первая часть URL, за которой следует домен azure-mobile.net (например, myservice.azure-mobile.net).
- Используемая база данных (фактически вы будете вынуждены выбрать Создать новую базу данных SQL , если у вас нет других экземпляров SQL Azure).
- Регион, в котором будет размещен сервис: для повышения производительности выберите ближайший к вашей стране регион.
Следующий шаг касается базы данных: в форме вы собираетесь установить некоторые важные параметры.
- Название базы данных.
- Сервер, на котором хранится база данных (используйте опцию по умолчанию, то есть сервер базы данных SQL ).
- Логин и пароль пользователя, который будет использоваться для доступа к базе данных.
- Регион, в котором будет размещаться база данных: для повышения производительности выберите тот же регион, который вы выбрали для размещения сервиса.
И вы сделали! Ваш сервис работает! Если вы перейдете по URL, который вы выбрали на первом шаге, вы увидите страницу приветствия. Это единственная «настоящая» страница, которую вы увидите: мы создали службу, а не веб-сайт, в частности, это стандартная служба REST. Как мы увидим через мгновение, мы сможем выполнять операции с базой данных, просто используя стандартные HTTP-запросы.
Давайте создадим таблицу
Для размещения наших данных нам нужна таблица: для этого примера, поскольку я пристрастился к комиксам, мы создадим простую таблицу для хранения информации о комиксах, такой как заголовок, автор и год публикации. Создание таблицы — единственная сложная часть: интерфейс службы мобильных служб Azure, как мы увидим позже, предоставляет встроенные функции только для создания таблицы, без предоставления функций для изменения схемы и добавления новых столбцов.
Прежде всего, нужно создать таблицу, выбрав только что созданную на портале службу (в разделе « Мобильные службы »), перейдя на вкладку « Данные » и нажав кнопку « Создать» . Вам будет предложено дать таблице имя и установить права доступа: по умолчанию мы предоставим полный доступ к любому приложению, которое было авторизовано с использованием секретного ключа приложения.
Теперь пришло время перейти к конкретному инструменту Azure для управления нашим экземпляром SQL: фактически таблица по умолчанию будет содержать только поле Id , уже настроенное как столбец идентификаторов (его значение будет автоматически генерироваться при каждой новой строке). ) и выступать в качестве первичного ключа нашей таблицы. На панели управления щелкните вкладку Базы данных SQL ; вы найдете базу данных, которую вы только что создали в предыдущем мастере. Нажмите кнопку « Управление» , расположенную ниже: если вы впервые подключаетесь к этой базе данных из своего соединения, портал предложит вам добавить свой IP-адрес в правила брандмауэра: просто скажите « Да» , иначе вы не сможете управлять этим.
Как только вы добавите его, вы увидите еще одно подтверждение, на этот раз вас спросят, хотите ли вы сейчас управлять базой данных: выберите Да и войдите в учетную запись, используя учетные данные базы данных, которые вы создали на первом шаге.
Теперь у вас есть полный доступ к управлению базой данных, и мы можем приступить к созданию нашей таблицы: нажмите на базу данных, подключенную к вашей службе (найдите имя, которое вы выбрали на втором шаге мастера), затем нажмите на вкладку « Дизайн » и выберите Создать новую таблицу . Если вы знакомы с базами данных, должно быть легко создать то, что нам нужно: давайте просто добавим несколько столбцов для хранения нашей информации.
- Заголовок, который является varchar с надписью Title
- Автор, который является еще одним varchar с лейблом Author
Есть еще один способ добавления новых столбцов: использование динамических данных. Когда эта функция включена (вы можете проверить ее на вкладке « Конфигурация » вашего мобильного сервиса, но она включена по умолчанию), вы сможете добавлять новые столбцы прямо из приложения, просто добавляя новые свойства в класс, который вы используете. Собираемся использовать для сопоставления таблицы. Мы увидим, как это сделать, в следующем посте.
Как мы уже видели, если мы позвоним по URL-адресу нашего сервиса (например, http://myapp.azure-mobile.net), вы увидите страницу приветствия: чтобы на самом деле запросить наши таблицы, мы должны сделать некоторые ОТДЫХ вызывает. Чтобы получить содержимое таблицы, нам просто нужно сделать GET, используя следующий URL.
http://myapp.azure-mobile.net/tables/Comic
Если все работает нормально, браузер должен вернуть вам ответ JSON в следующем формате:
{"code":401,"error":"Unauthorized"}
Это ожидаемое поведение: мобильные службы Azure требуют проверки подлинности, чтобы все, только с помощью URL-адреса вашей службы, имели доступ к вашим данным. Получив такую ошибку, мы получаем подтверждение того, что таблица была успешно создана: в противном случае мы получили бы ошибку, сообщающую, что запрошенная таблица не существует.
{"code":404,"error":"Table 'Comic' does not exist."}
Теперь, когда мы настроили все, что нам нужно, мы готовы написать некоторый код: в следующих статьях мы увидим, как разработать приложение для Windows 8 и Windows Phone, способное подключаться к нашему сервису.