Как работает служба "Управление API" Azure
Здесь мы обсудим, как работает azure Управление API из трех точек использования. Эти знания помогут вам по-прежнему оценить, является ли Azure Управление API хорошим решением для управления API вашей организации.
В этом уроке вы узнаете, как работает Azure Управление API для следующих типов пользователей:
- потребители API;
- поставщики API;
- разработчики приложений.
Работа службы "Управление API" Azure с потребителями API
Потребитель API — это сущность, которая делает запрос к API-интерфейсу для получения данных. Например, любой из этих сущностей может быть потребителем API:
- Мобильное приложение
- Веб-приложение
- Устройство Интернета вещей
Основным компонентом службы "Управление API" Azure для потребителей является шлюз. Все вызовы API потребителей сначала направляются в конечную точку шлюза. Потребители API всегда взаимодействуют напрямую со шлюзом и никогда — с реальным экземпляром развертывания API.
Шлюз выполняет многие задачи для потребителя, но наиболее важными являются следующие.
- Проверка подлинности. Шлюз отслеживает доступ к API, проверяя ключи подписки потребителя, токены JWT и другие учетные данные.
- Безопасность. Шлюз предотвращает неправильное использование API путем применения предопределенных ограничений скорости и квот использования потребителей или проверки запросов и ответов в схеме API.
- Преобразование. При необходимости шлюз преобразует запрос или ответ API. Например, если серверная служба отвечает с XML-данными, можно модернизировать API, преобразовав XML в JSON автоматически, как показано на следующем рисунке.
- Маршрутизация. После проверки подлинности, проверки правильности и преобразования запроса API шлюз направляет вызов в серверную службу, в которой развернут API.
- Производительность. Шлюз может хранить ответ внутреннего API в кэше. В ситуациях, когда ответ внутреннего сервера не меняется со временем, выдача последующих ответов из кэша обеспечивает более быстрое время отклика на запросы потребителей и снижает нагрузку на внутренний сервер.
Работа службы "Управление API" Azure с поставщиками API
Если вы являетесь поставщиком API, то после публикации API у вас все еще остается много работы. В этом направлении будут вестись следующие работы.
- Настройка политик API
- Управление потребителями API
- Управление редакциями и версиями API.
- Мониторинг и анализ API
Вы можете выполнять все эти задачи и многое другое с помощью интерфейса администрирования Управление API Azure в портал Azure. Или с помощью таких средств, как Azure CLI или Azure PowerShell. Помимо включения настройки политик API (как вы узнали в предыдущем уроке), интерфейс администрирования позволяет выполнять следующие задачи:
- Определение и импорт спецификаций API. Импорт спецификации OpenAPI, REST API, API простого протокола доступа к объектам (SOAP), который можно при необходимости преобразовать в REST, API WebSocket или API GraphQL. Вы также можете создать API, импортируя экземпляры следующих служб Azure: веб-приложение, приложение-контейнер, приложение-функция, приложение логики и Service Fabric. Можно также создать пустой API и определить его вручную.
-
Управление пользователями и группами.
- Пользователь — это учетная запись разработчика. Это учетная запись для потребителя API. Можно добавлять пользователей вручную или приглашать пользователей для создания учетной записи, но большинство пользователей создают собственные учетные записи с помощью портала разработчика.
- Группа — это коллекция связанных пользователей. Вы можете связать группу с определенным продуктом API, а затем каждый пользователь в этой группе имеет доступ к продукту на портале разработчика.
- Api пакета в продукты. В службе "Управление API" Azure продукт — это группа связанных API. Упаковывая несколько интерфейсов API в один продукт, можно настраивать только продукт, а не каждый интерфейс API отдельно. Например, задайте ограничения скорости и другие политики, определите условия использования, добавьте группы и т. д. Эта конфигурация будет применена ко всем API в продукте. После публикации продукта потребители могут оформить подписку на него и использовать его API с одним ключом подписки.
-
Управление версиями и версиями API. Когда команде разработчиков API необходимо внести изменения в API, предоставьте изменения в безопасном и управляемом режиме, который не негативно влияет на потребителей с помощью редакций и версий:
- Редакция является относительно незначительным или неразрывным изменением в API. Ваша команда разработчиков может кодировать и тестировать редакцию отдельно от рабочего API, как показано на следующем рисунке. Затем, когда редакция готова для потребителей, используйте интерфейс администрирования Azure Управление API, чтобы задать обновленный API в качестве текущей редакции.
- Версия — это относительно крупное или критически важное изменение API. Служба "Управление API" Azure позволяет предоставлять разработчикам одновременно несколько версий API. Она также предлагает несколько схем управления версиями, включая управление версиями на основе пути, на основе заголовков и на основе строк запросов.
- Мониторинг и анализ API. Интерфейс администрирования включает встроенные средства мониторинга для трассировки и проверки трафика API в режиме реального времени, а также аналитические сведения о том, как потребители используют опубликованные API. Служба "Управление API" Azure также поддерживает несколько средств Azure для мониторинга API и выполнения аналитических рабочих нагрузок. Службы Azure, поддерживаемые Azure Управление API включают журналы Azure Monitor, Application Insights и Центры событий.
Работа службы "Управление API" Azure с разработчиками приложений
За исключением уровня "Потребление", все экземпляры службы "Управление API" Azure включают портал разработчика, на котором можно использовать API для потенциальных и существующих потребителей API. Портал разработчика поставляется с интерфейсом по умолчанию, который можно настроить в соответствии с фирменной символикой и требованиями вашей организации.
Разработчики приложений с учетными записями разработчиков входят на портал разработчика (который также принимает гостевых пользователей, у которых еще нет учетной записи). Разработчикам предоставляется веб-интерфейс, который позволяет им взаимодействовать с API следующими способами.
- Доступ к документации по API. Разработчики могут ознакомиться с документацией по каждому API.
- Тестирование API. Портал разработчика включает интерактивную консоль, позволяющую разработчикам быстро и безопасно тестировать API. Разработчик может выбрать операцию API, добавить значения параметров, а затем отправить вызов, чтобы определить, какой ответ вернет API.
- Просмотр примеров кода API. Портал разработчика предлагает примеры вызовов API на нескольких языках программирования, включая C#, Java, JavaScript, PHP и Python.
- Подписка на API. Когда потребитель решает использовать API, портал разработчика позволяет пользователю оформить подписку на API и получить ключ подписки для использования при вызовах API.
- Выполнение аналитики. Портал разработчика предлагает аналитические данные об использовании API разработчиками.