Огляд побудовника API даних для бази даних Azure SQL

Завершено

У сучасному світі, керованому даними, можливість ефективно отримувати доступ до даних і маніпулювати ними має вирішальне значення для бізнесу та розробників. Побудовник API даних (DAB) пропонує потужне рішення для створення сучасних кінцевих точок REST і GraphQL для бази даних Azure SQL, замінюючи настроювані API, які виконують операції CRUD (Create, Read, Update, Delete) на базу даних.

Azure Data API Builder – це інструмент із відкритим кодом, призначений для розробників, щоб спростити процес виставлення об'єктів бази даних як кінцевих точок. Вона підтримує багато баз даних, зокрема Azure SQL, SQL Server, PostgreSQL та Azure Cosmos DB. За допомогою DAB можна створювати безпечні, масштабовані та високопродуктивні API без додаткової плати, не написавши жодного коду.

Схема, на якій показано зв'язок між усіма компонентами побудовника API даних.

Виявлення ключових функцій

Використання DAB у процесі розробки пропонує багато переваг. Нижче наведено деякі основні переваги, які допоможуть визначити, наскільки добре він відповідає вимогам проекту.

  • Міжплатформна сумісність: DAB є кросплатформним і може працювати в будь-якому хмарному або локальному середовищі. Він підтримує кілька серверних джерел даних, включно з реляційними та базами даних NoSQL.
  • Безпека та автентифікація. DAB інтегрується з різними методами автентифікації, зокрема OAuth2, EasyAuth і Microsoft Entra ID. Він також підтримує авторизацію на основі ролей і деталізовані елементи керування безпекою. Це означає, що ви можете надавати свої дані, зберігаючи контроль над тим, хто може отримати до них доступ і що вони можуть робити з ними.
  • Спеціальні можливості. За допомогою одного файлу конфігурації можна визначити кінцеві точки API, що робить процес налаштування простим і ефективним.
  • Інтеграція зі службами Azure: DAB без проблем інтегрується зі статичними веб-програмами Azure, контейнерними програмами Azure та іншими службами Azure, підвищуючи функціональність і масштабованість.

Щоб переглянути список функцій, доступних для побудовника API даних, див. статтю Доступність функцій для побудовника API даних.

Використання побудовника API даних

Щоб почати роботу з Azure Data API Builder, переконайтеся, що у вас інстальовано передплату на Azure та необхідні інструменти, наприклад найновіші .NET 8 і CLI для розробників Azure.

  1. Створіть новий проект: Використовуйте CLI для розробників Azure, щоб створювати та розгортати необхідні служби. Наприклад, скористайтеся CLI для розробників Azure, щоб розгорнути статичну веб-програму Azure, у якій розміщено побудовник API даних. Перейдіть до каталогу, у якому потрібно створити проект, і виконайте наведену нижче команду, щоб створити новий проект Azure Static Web App.

    azd init --template staticwebapp
    azd up
    
  2. Настроювання підключення до бази даних: Зв'яжіть базу даних Azure SQL із розгорнутою статичною веб-програмою за допомогою функції підключення до бази даних. Перейдіть до створеної статичної веб-програми Azure і в розділі Настройки зв'яжіть наявну базу даних на сторінці підключення бази даних .

  3. Визначення кінцевих точок API. Створіть файл конфігурації, щоб визначити кінцеві точки REST або GraphQL. Цей файл визначає об'єкти бази даних для відображення та дозволені операції. Наприклад, можна виконати наведену нижче команду, щоб додати сутності бази даних до файлу конфігурації.

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

Перегляд файлу конфігурації

Ось простий приклад файлу конфігурації для виставлення таблиці в базі даних Azure SQL.

{
  "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"]
        }
      ]
    }
  }
}

Ця конфігурація надає таблицю "Адреса" як кінцеві точки REST і GraphQL, надаючи доступ для читання анонімним користувачам.