Delen via


Wat is er nieuw in Data API Builder versie 1.2 (augustus 2024)

Releaseopmerkingen en informatie over de updates en verbeteringen in DAB (Data API Builder) versie 1.2.
Release 1.2.10: Data API Builder voor Azure Databases

Belangrijk

Deze update is onze eerste belangrijke release sinds algemene beschikbaarheid (GA) in mei.

Inleiding: Maximale paginagrootte

Met Data API Builder worden queryresultaten automatisch gepagineerd in REST- en GraphQL-eindpunten. Paginering zorgt ervoor dat query's tegen grote tabellen beheerbare resultaten retourneren en dat zowel de database als DAB worden beschermd tegen te grote reacties.

DAB maakt standaard gebruik van een paginagrootte van 100 records, die via de default-page-size instelling kan worden geconfigureerd. Gebruikers kunnen meer records aanvragen met behulp van het $first trefwoord, waardoor de standaardwaarde wordt overgeslagen.

Om misbruik te voorkomen en de prestaties van eindpunten te behouden, ondersteunt DAB nu de max-page-size instelling, waardoor het maximum aantal records wordt bereikt dat een gebruiker kan aanvragen. Deze optie biedt ontwikkelaars controle en flexibiliteit bij het toevoegen van belangrijke beveiligingsmaatregelen.

{
  "runtime": {
    "pagination": {
      "max-page-size": 1000,
      "default-page-size": 100
    }
  }
}

Inleiding: Maximale antwoordgrootte

Grote resultatensets kunnen zowel DAB als de database overbelasten. Versie 1.2 introduceert max-response-size-mb, een instelling waarmee de reactiegrootte in megabytes wordt beperkt. Deze limiet geldt voor de werkelijke nettolading, niet het aantal rijen, belangrijk omdat brede kolommen (tekst, binair, XML, JSON) maximaal 2 GB per waarde kunnen bevatten.

Deze instelling zorgt voor prestaties en systeembetrouwbaarheid door een plafond voor de uitvoergrootte af te dwingen en tegelijkertijd flexibiliteit te behouden voor verschillende gegevenstypen.

{
  "runtime": {
    "host": {
      "max-response-size-mb": 158
    }
  }
}

Inleiding: GraphQL-querydieptelimiet

GraphQL biedt ondersteuning voor diepe geneste query's via relaties, wat het ophalen van complexe gegevens vereenvoudigt. Deep nesting verhoogt echter de complexiteit van query's en kan de prestaties verminderen.

Met de nieuwe graphql/depth-limit instelling wordt de maximale querydiepte beperkt en wordt een balans tussen functionaliteit en betrouwbaarheid bepaald.

{
  "runtime": {
    "graphql": {
      "depth-limit": 2
    }
  }
}

Diverse verbeteringen

  • OpenAPI-verbeteringen: Verbeterde OpenAPI-compatibiliteit voor hulpprogramma's zoals Infragistics AppBuilder door meer metagegevens op te doen in het gegenereerde OpenAPI-document.
    Bijzonderheden

  • Ondersteuning voor Postgres-telemetrie: De application_name functie is nu ingesteld voor Postgres-verbindingen, zoals eerder is gedaan voor SQL Server.
    Bijzonderheden

  • Beleidsaanpassing voor opnieuw proberen: het standaardaantal nieuwe pogingen is verminderd van 5 tot 3 om de best practices van Microsoft Learn te volgen.
    Bijzonderheden

  • Culturele invariante gegevensconversie: Gegevensmutaties worden nu gebruikt CultureInfo.InvariantCulture om inconsistenties op basis van landinstellingen te voorkomen bij het verwerken van floatwaarden.
    Bijzonderheden

  • Oplossing van omgevingsvariabelen tijdens schemavalidatie: omgevingsvariabelen die worden gebruikt in de configuratie (bijvoorbeeld voor verbindingsreeksen) worden nu correct opgelost voordat schemavalidatie wordt uitgevoerd.
    Bijzonderheden