Изучите Data API Builder для базы данных SQL Azure

Завершено

В современном мире, управляемом данными, возможность эффективного доступа к данным и управления ими имеет решающее значение для предприятий и разработчиков. Конструктор API данных (DAB) предлагает мощное решение для создания современных конечных точек REST и GraphQL для базы данных Azure SQL, заменяя собой пользовательские API, выполняющие операции CRUD (создание, чтение, обновление, удаление) над базой данных.

Azure Data API Builder — это средство с открытым исходным кодом, предназначенное для разработчиков, чтобы упростить процесс предоставления объектов базы данных в качестве конечных точек. Она поддерживает множество баз данных, включая, но не ограничивается SQL Azure, SQL Server, PostgreSQL и Azure Cosmos DB. С помощью DAB можно создавать безопасные, масштабируемые и высокопроизводительные API без дополнительных затрат без написания кода.

Схема, показывающая связь между всеми компонентами построителя API данных.

Обнаружение ключевых функций

Использование DAB в процессе разработки дает множество преимуществ. Ниже приведены некоторые ключевые преимущества, которые помогут определить, насколько хорошо он соответствует требованиям проекта.

  • Кроссплатформенная совместимость: DAB является кроссплатформенной и может работать в любой облачной или локальной среде. Он поддерживает несколько внутренних источников данных, включая реляционные и базы данных NoSQL.
  • Безопасность и проверка подлинности: DAB интегрируется с различными методами проверки подлинности, включая OAuth2, EasyAuth и идентификатор Microsoft Entra. Она также поддерживает авторизацию на основе ролей и детализированные элементы управления безопасностью. Это означает, что вы можете предоставлять свои данные, сохраняя контроль над тем, кто может получить доступ к нему и что они могут сделать с ним.
  • Простота использования. С помощью одного файла конфигурации можно определить конечные точки API, что упрощает процесс установки и эффективно.
  • Интеграция со службами Azure: DAB легко интегрируется с Статические веб-приложения Azure, приложениями контейнеров Azure и другими службами Azure, повышая ее функциональные возможности и масштабируемость.

Список функций, доступных для построителя API данных, см. в разделе "Доступность компонентов" для построителя API данных.

Использование построителя API данных

Чтобы приступить к работе с Azure Data API Builder, убедитесь, что у вас есть подписка Azure и необходимые средства, такие как последняя версия .NET 8 и Azure Developer CLI.

  1. Создайте проект: используйте интерфейс командной строки разработчика Azure для создания и развертывания необходимых служб. Чтобы развернуть статическое веб-приложение Azure, в котором размещен построитель API данных, выберите шаблон Статические веб-приложения Azure из коллекции Awesome AZD, перейдите в каталог, в котором вы хотите создать проект, и выполните следующие команды с помощью имени шаблона, показанного на карточке шаблона.

    azd init --template <template-name>
    azd up
    
  2. Настройте подключение к базе данных: свяжите База данных SQL Azure с развернутыми статическими веб-приложениями с помощью функции подключения к базе данных. Перейдите к созданному статическому веб-приложению Azure и в разделе "Параметры" свяжите существующую базу данных на странице подключения к базе данных.

  3. Определение конечных точек API: создайте файл конфигурации для определения конечных точек REST или GraphQL. Этот файл указывает объекты базы данных, которые необходимо предоставить, и разрешенные операции. Например, можно выполнить следующую команду, чтобы добавить сущности базы данных в файл конфигурации.

    dab add "Address" --source "dbo.Address" --permissions "anonymous:*" --config "swa-db-connections/staticwebapp.database.config.json"
    

Просмотр файла конфигурации

Ниже приведен простой пример файла конфигурации для предоставления таблицы в База данных SQL Azure.

{
  "data-source": {
    "database-type": "mssql",
    "connection-string": "Server=tcp:your_server.database.windows.net,1433;Initial Catalog=your_database;Persist Security Info=False;User ID=your_user;Password=your_password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
  },
  "entities": {
    "products": {
      "source": "Address",
      "rest": true,
      "graphql": true,
      "permissions": [
        {
          "role": "anonymous",
          "actions": ["read"]
        }
      ]
    }
  }
}

Эта конфигурация предоставляет таблицу Address в качестве конечных точек как REST, так и GraphQL, позволяя анонимным пользователям получать к ней доступ.