Nyheter i Data API Builder version 1.1
Viktig information om uppdateringar och förbättringar i DATA API Builder (DAB) version 1.1.
Viktigt
Det här är den första allmänna tillgänglighetsversionen (GA) på Data API Builder (DAB).
Viktig information om GitHub
Granska de här versionssidorna för en omfattande lista över alla ändringar och förbättringar:
Länk | |
---|---|
2024-05-14 – Version 1.1.7 | https://github.com/azure/data-api-builder/releases/tag/v1.1.7 |
.NET 8-stöd
DAB använder nu multi-targeting för att stödja både .NET 6- och .NET 8-versioner för långsiktigt stöd (LTS).
Mer information finns i azure/data-api-builder – .NET-mål för flera ramverk.
Stöd för flera graphQL-mutationer
DAB har nu stöd för att kombinera flera mutationsåtgärder till en enda GraphQL-transaktion. Det aktuella stödet är endast begränsat till create
åtgärder.
Anta till exempel att vi har Book
och Chapter
entiteter som är relaterade. Med flera mutationer kan du skapa den primära bokentiteten och alla relaterade kapitelentiteter som en enda åtgärd.
mutation {
createBook(
item: {
title: "Data API builder deep-dive"
chapters: [
{ name: "Multiple mutations" }
{ name: "Relationships" }
]
}
) {
title
chapters {
items {
name
}
}
}
}
Den här funktionen dokumenteras på djupet i vår guide om flera mutationer.
Mer information finns i azure/data-api-builder – Flera mutationer i GraphQL.
Förbättringar av sidnumrering
DAB har nu en paginationOptions
konfigurationsegenskap för att justera olika egenskaper för det inbyggda sidnumreringsstödet. Underegenskaperna är:
Standardvärde | Beskrivning | |
---|---|---|
default-page-size |
100 | Sidstorlek om en begäran görs utan angiven sidstorlek. |
max-page-size |
100 000 | Sidstorlek om en begäran görs med -1 angiven sidstorlek. |
Mer information finns i azure/data-api-builder – Lägg till sidnumreringsgränser.
Hälsostatus
I tidigare versioner av DAB returnerar API:et ett strängstatusmeddelandehealthy
för vid rotslutpunkten (/
). Nu returnerar verktyget ett JSON-objekt som innehåller status, version och programnamnet som anger om DAB är värd för eller VERSIONEN av programvara med öppen källkod (OSS).
Till exempel returnerar versionen 0.12.0
av OSS-containeravbildningen det här statusmeddelandet som standard:
{
"status": "Healthy",
"version": "0.12.0",
"app-name": "dab_oss_0.12.0"
}
Mer information finns i azure/data-api-builder – Förbättrade hälsoslutpunktsmetadata.
Stöd för rest-flera databaser
I REST-API:et stöds nu flera databaser (eller datakällor). Databasnamnet bestäms baserat på varje entitet.
Mer information finns i azure/data-api-builder – Stöd för flera databaser i REST.
Förbättringar av Azure Cosmos DB for NoSQL
Det fanns några förbättringar av det befintliga Stödet för Azure Cosmos DB for NoSQL i DAB.
Stöd för korrigeringsåtgärder
Korrigeringsåtgärder för Azure Cosmos DB stöds nu med hjälp av mutationen patch<entity-name>
.
Anta till exempel att det finns en liten container med olika redigeringsobjekt partitionerade av publisher
. Anta nu att containern har det här objektet och schemat:
{
"id": "04511cbc-459d-4e39-b957-363f26771fc0",
"firstName": "Jacob",
"lastName": "Hancock",
"publisher": "Contoso Books"
}
type Author @model {
id: ID!
firstName: String!
middleName: String
lastName: String!
publisher: String!
}
Om du vill korrigera med GraphQL använder du mutationen patchAuthor
som anger både den unika identifieraren och partitionsnyckeln:
mutation {
patchAuthor(
item: {
middleName: "A."
}
id: "04511cbc-459d-4e39-b957-363f26771fc0"
_partitionKeyValue: "Contoso Books"
) {
middleName
}
}
Mer information finns i azure/data-api-builder – Korrigeringsstöd.
Säkerhet på objektnivå
Säkerhet på objektnivå (databasprinciper) stöds nu med Azure Cosmos DB för NoSQL. Databasprinciputtrycket utvärderas för att avgöra vilka objekt som den aktuella rollen kan komma åt.
Den här rolldefinitionen definierar till exempel en ny roll med namnet scoped-reader
som bara kan läsa objekt där ownerId
är likvärdigt med den befintliga UserId
från identitetsproviderns @claims
objekt.
{
"<entity-name>": {
"permissions": [
{
"role": "scoped-reader",
"actions": [
{
"action": "read",
"policy": {
"database": "@item.ownerId eq @claims.UserId"
}
}
]
}
]
}
}
Mer information finns i azure/data-api-builder – Stöd för autentisering på objektnivå med hjälp av databasprincip.
Stöd för minnesintern cache
Uppdateringar befintliga Azure Cosmos DB for NoSQL-frågemotorn för att använda Azure Cosmos DB:s minnesinterna cacheminne.
Mer information finns i azure/data-api-builder – minnesinternt cachestöd.
PostgreSQL-förbättringar
Det finns en förbättring av det befintliga PostgreSQL-stödet i DAB.
Sammanfoga programnamnet till anslutningssträng
DAB kompletterar nu PostgreSQL-anslutningssträng med DAB-programnamnet. Verktyget kontrollerar om det redan finns ett programnamn i anslutningssträng och antingen:
- Lägger till ett nytt DAB-programnamn om det inte finns något eller
- Lägger till DAB-programnamnet efter det befintliga programnamnet med en
,
avgränsare.
Mer information finns i azure/data-api-builder – Lägg till programnamn för PostgreSQL-anslutningar.