Explorați Generatorul de API-uri de date pentru baza de date AZURE SQL

Finalizat

În lumea bazată pe date de astăzi, capacitatea de a accesa și manipula eficient datele este esențială pentru firme și dezvoltatori. Data API Builder (DAB) oferă o soluție puternică pentru crearea punctelor finale REST și GraphQL moderne pentru baza de date SQL Azure, înlocuind API-urile particularizate care efectuează operațiuni CRUD (Creare, Citire, Actualizare, Ștergere) într-o bază de date.

Azure Data API Builder este un instrument open-source proiectat pentru dezvoltatori, pentru a simplifica procesul de expunere a obiectelor bazei de date ca puncte finale. Acceptă multe baze de date, inclusiv, dar fără a se limita la Azure SQL, SQL Server, PostgreSQL și Azure Cosmos DB. Cu DAB, puteți crea API-uri securizate, scalabile și de înaltă performanță fără costuri suplimentare, fără a scrie cod.

Diagramă afișând relația dintre toate componentele generatorului de API-uri de date.

Descoperiți caracteristicile cheie

Utilizarea DAB în procesul de dezvoltare oferă multe beneficii. Iată câteva avantaje cheie care vă pot ajuta să determinați cât de bine se aliniază cu cerințele proiectului dvs.

  • Compatibilitate pe mai multe platforme: DAB este pe mai multe platforme și poate rula pe orice mediu cloud sau local. Acesta acceptă mai multe surse de date backend, inclusiv baze de date relaționale și NoSQL.
  • Securitate și autentificare: DAB se integrează cu diverse metode de autentificare, inclusiv OAuth2, EasyAuth și Microsoft Entra ID. De asemenea, acceptă autorizarea bazată pe roluri și controalele de securitate granulare. Acest lucru înseamnă că vă puteți expune datele, menținând în același timp control asupra persoanelor care le pot accesa și asupra a ceea ce pot face cu acestea.
  • Simplificare utilizare: Cu un singur fișier de configurare, puteți defini punctele finale API, făcând procesul de configurare simplu și eficient.
  • Integrarea cu serviciile Azure: DAB se integrează perfect cu Azure Static Web Apps, Aplicațiile container Azure și alte servicii Azure, îmbunătățindu-i funcționalitatea și scalabilitatea.

Pentru a vedea o listă de caracteristici disponibile pentru generatorul de API-uri de date, consultați Disponibilitatea caracteristicilor pentru generatorul de API-uri de date.

Utilizarea Generatorului de API-uri de date

Pentru a începe lucrul cu Azure Data API Builder, asigurați-vă că aveți un abonament Azure și instrumentele necesare instalate, cum ar fi cel mai recent .NET 8 și Azure Developer CLI.

  1. Creați un proiect nou: Utilizați Azure Developer CLI pentru a crea și a implementa serviciile necesare. De exemplu, utilizați AZURE Developer CLI pentru a implementa o aplicație Web Statică Azure care găzduiește Generatorul de API-uri de date. Navigați la directorul în care doriți să creați proiectul și rulați următoarea comandă pentru a crea un nou proiect Azure Static Web App.

    azd init --template staticwebapp
    azd up
    
  2. Configurați conexiunea la baza de date: Legați baza de date SQL Azure la aplicația web statică implementată utilizând caracteristica de conexiuni de baze de date. Navigați la Azure Static Web App pe care ați creat-o, iar sub Setări, legați o bază de date existentă sub pagina Conexiune bază de date .

  3. Definire puncte finale API: Creați un fișier de configurare pentru a defini punctele finale REST sau GraphQL. Acest fișier specifică obiectele bazei de date de expus și operațiunile permise. De exemplu, puteți rula următoarea comandă pentru a adăuga entitățile bazei de date la fișierul de configurare.

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

Revizuirea unui fișier de configurare

Iată un exemplu simplu de fișier de configurare pentru expunerea unui tabel în baza de date 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"]
        }
      ]
    }
  }
}

Această configurație expune tabelul Adresă atât ca puncte finale REST, cât și ca puncte finale GraphQL, permițând accesul de citire la utilizatorii anonimi.