Предоставление API из Apache APISIX для Power Platform
February 27, 2023
Apache APISIX API Gateway позволяет профессиональным разработчикам публиковать свои серверные службы в виде API, отслеживать их использование и легко предоставлять эти API для Power Platform (Power Apps и Power Automate) в качестве пользовательских соединителей для обнаружения и интеграции конечных точек API Gateway в пользовательские приложения без необходимости писать код с нуля.
В этой статье мы покажем, как создать пользовательский соединитель для API Gateway с открытым исходным кодом Apache APISIX в Power Platform в качестве альтернативы Azure API Management, если вы создаете дополнительные компоненты для существующей системы с доступными API, а инфраструктура вашей системы размещена локально или на других облачных провайдерах, а не на Azure.
Цели обучения
В этой статье вы узнаете следующее:
- Преимущества интеграции Power Apps с Apache APISIX.
- Что такое пользовательский соединитель?
- Настройка нового пользовательского соединителя для API Gateway Apache APISIX в Power Platform.
- Создание Canvas Mobile App в PowerApps, использующей новый пользовательский соединитель.
Преимущества интеграции Power Apps с Apache APISIX
Интеграция Power Apps с Apache APISIX предоставляет организациям несколько преимуществ. Ваши Power Apps могут получать доступ к вашим API через API Gateway, и вы можете настроить дополнительные параметры на APISIX.
Вот некоторые из них:
-
Улучшенная безопасность: Предлагает "расширенное ограничение запросов" для предотвращения неожиданных ошибок, вызванных массовыми запросами к серверным системам, и настройку политики ограничения скорости для ваших серверных API, аутентификации и шифрования, которые могут быть применены к пользовательским приложениям.
-
Масштабируемость: Обрабатывает большие объемы трафика и может масштабироваться в зависимости от спроса. Это означает, что пользовательские приложения, созданные на Power Apps, могут справляться с растущими объемами трафика по мере роста бизнеса.
-
Производительность: Предоставляет такие функции, как балансировка нагрузки и кэширование, которые могут улучшить производительность пользовательских приложений, созданных на Power Apps.
Что такое пользовательский соединитель?
Пользовательский соединитель в Power Apps — это инструмент, который позволяет пользователям создавать соединение между их приложением и внешним источником данных или API, который не поддерживается Power Apps по умолчанию. В нашем случае это Apache APISIX. Пользовательские соединители предоставляют способ доступа к данным и службам из внешних систем в приложении без необходимости написания сложного кода или выполнения сложных конфигураций.
Пользовательские соединители создаются путем определения конечных точек API, методов и требований аутентификации внешней системы, а также любых необходимых параметров и форматов ответов. После создания и аутентификации пользовательского соединителя его можно использовать в Power Apps для выполнения операций, таких как получение данных, создание записей, обновление записей и удаление записей.
Настройка нового пользовательского соединителя
Рассмотрим пример настройки пользовательского соединителя для Apache APISIX.
Для демонстрации мы будем использовать пример проекта, созданного на основе ASP.NET Core WEB API с одной конечной точкой GET (получает список всех продуктов) и пример проекта Apache APISIX Docker. В файле README вы найдете все инструкции по запуску примера приложения.
Предварительные требования
- Необходимо быть знакомым с основными концепциями API.
- Базовые знания о нескольких основных концепциях APISIX, таких как Route, Upstream и Plugin.
- Установленный Docker на вашем компьютере для запуска APISIX.
- Установите APISIX и серверный API продукта с помощью
docker compose. - Настройте необходимые параметры, такие как конечная точка API, upstream и правила маршрутизации. Вы можете следовать этому руководству, чтобы настроить API Gateway APISIX. Убедитесь, что вы создали Route и upstream, и APISIX должен перенаправлять запросы на наш целевой API
/api/products. - Для выполнения этого упражнения требуется доступ к премиум-соединителям Power Apps. Зарегистрируйтесь для получения бесплатного плана для разработчиков.
Шаг 1: Запуск мастера пользовательского соединителя
Для начала войдите в портал Power Apps и перейдите в раздел "Connectors". Нажмите кнопку "New custom connector", затем выберите "Create new from blank" и укажите имя для нового соединителя.

Шаг 2: Укажите основные данные для вашего соединителя
На вкладке "General" введите следующие данные для вашего соединителя:
- Имя соединителя: Дайте вашему соединителю имя, например "APISIX API Gateway".
- Описание: Укажите краткое описание вашего соединителя.
- Схема: Убедитесь, что вы также выбрали правильную схему, в данном случае мы должны использовать HTTP, так как мы не настроили наш API для использования HTTPS.
- Поставьте галочку на опции "Connect via on-premises data gateway". Вам нужно будет установить шлюз данных для локальной сети на машину внутри вашей сети. Потому что пользовательский соединитель не может использовать localhost в качестве имени хоста без использования шлюза данных для локальной сети.
- Базовый URL: Введите базовый URL вашего API Gateway Apache APISIX. Например,
http://localhost:9080.

Шаг 3: Выберите тип аутентификации
Затем перейдите на вкладку "Security" и укажите необходимые данные аутентификации в зависимости от типа аутентификации, который будет использовать ваш пользовательский соединитель. Например, Basic, OAuth2 или API Key.
Шаг 4: Определите конечные точки вашего API
На вкладке "Definition" вы можете определить конечные точки API, которые хотите предоставить в вашем пользовательском соединителе. Например, вы можете определить конечную точку для получения списка всех продуктов из API Gateway.
Чтобы определить конечную точку, выполните следующие шаги:
- Имя: Введите имя для вашей конечной точки, например "Get Product List".
- Краткое описание: Укажите краткое описание того, что делает конечная точка.
- Идентификатор операции: Введите уникальный идентификатор операции для конечной точки, например "GetProducts".
- Метод: Выберите HTTP-метод, который использует ваша конечная точка, например GET.
- URL: Введите URL конечной точки API для вашей конечной точки, например
/api/products. - Запрос: Укажите параметры запроса и заголовки, которые требуются для вашей конечной точки.
- Ответ: Укажите схему ответа, которую возвращает ваша конечная точка.

Вы можете определить столько конечных точек, сколько необходимо для вашего пользовательского соединителя.
Шаг 5: Протестируйте ваш пользовательский соединитель
После того как вы определили конечные точки, вы можете протестировать ваш пользовательский соединитель, нажав на вкладку "Test". Здесь вы можете ввести пример данных для ваших запросов и увидеть ответы, которые возвращает ваш API Gateway.

Шаг 6: Сохраните ваш пользовательский соединитель
После того как вы определили все конечные точки и протестировали соединитель, нажмите кнопку "Create connector", чтобы сохранить изменения.
Ваш пользовательский соединитель для API Gateway Apache APISIX теперь готов к использованию в ваших Power Apps. Вы можете использовать его для создания пользовательского приложения в следующем разделе, которое взаимодействует с конечной точкой вашего API Gateway.

Создание нового Power App
Теперь мы создадим новое мобильное приложение с одной страницей, которое получает список продуктов из конечной точки API Gateway APISIX с использованием пользовательского соединителя, созданного в предыдущем разделе.
Шаг 1: Создание нового приложения для продуктов
Для начала войдите в портал Power Apps и создайте новое приложение, выбрав "Create an app". Выберите опцию "Phone layout", чтобы создать мобильное приложение, и укажите имя для вашего приложения.
Шаг 2: Добавление источника данных
На вкладке "Data" добавьте ваш пользовательский соединитель API Gateway Apache APISIX в качестве источника данных. Это позволит вашему приложению взаимодействовать с конечными точками API Gateway, определенными в вашем пользовательском соединителе.
Шаг 3: Дизайн пользовательского интерфейса
На вкладке "Canvas" создайте дизайн пользовательского интерфейса для вашего приложения. Вы можете добавить различные элементы управления, такие как кнопки, метки, галереи и формы, чтобы создать удобный и интерактивный интерфейс. В этом примере мы покажем список продуктов с их названиями и ценами.
Шаг 4: Определение действий и логики
На вкладке "Action" определите действия, которые ваше приложение должно выполнять при взаимодействии пользователя с элементами управления. Например, вы можете определить действие для получения всех продуктов из вашего API Gateway, отображения их в галерее и добавления функции поиска.

Шаг 5: Тестирование вашего приложения
После того как вы определили действия и логику для вашего приложения, вы можете протестировать его, нажав кнопку "Preview". Здесь вы можете взаимодействовать с элементами управления и видеть данные, полученные из вашего API Gateway.
Шаг 6: Публикация вашего приложения
После тестирования вашего приложения вы можете опубликовать его, чтобы сделать его доступным для ваших пользователей. Вы можете опубликовать ваше приложение на различных платформах, таких как iOS, Android и Windows.
Следующие шаги
В этой статье вы узнали, как описать API и определить пользовательский соединитель Apache APISIX. Также мы создали мобильное приложение с Power Apps, которое использует API Gateway с его пользовательским соединителем. Наш пользовательский соединитель используется так же, как и управляемые Microsoft соединители. Это означает, что вы можете использовать соединитель в Logic App, Power Automate и других. Так что вперед, попробуйте и посмотрите, сколько вы можете достичь с Power Platform и Apache APISIX.
Связанные ресурсы
Рекомендуемые материалы
Сообщество
🙋 Присоединяйтесь к сообществу Apache APISIX 🐦 Следите за нами в Twitter 📝 Найдите нас в Slack