Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Releaseopmerkingen en informatie over de updates en verbeteringen in DAB (Data API Builder) versie 1.1.
Belangrijk
Deze release is de eerste algemene beschikbaarheidsrelease (GA) op Data API Builder (DAB).
Opmerkingen bij de release op GitHub
Bekijk deze releasepagina's voor een uitgebreide lijst met alle wijzigingen en verbeteringen:
Verbinden | |
---|---|
2024-05-14 - versie 1.1.7 | https://github.com/azure/data-api-builder/releases/tag/v1.1.7 |
Ondersteuning voor .NET 8
DAB maakt nu gebruik van meerdere targetings ter ondersteuning van zowel .NET 6- als .NET 8-versies voor langetermijnondersteuning (LTS).
Zie azure/data-api-builder - .NET multi-framework targeting voor meer informatie.
GraphQL meerdere mutaties ondersteunen
DAB ondersteunt nu het combineren van meerdere mutatiebewerkingen tot één GraphQL-transactie. De huidige ondersteuning is alleen beperkt tot create
bewerkingen.
Stel dat we de entiteiten Book
en Chapter
hebben die gerelateerd zijn. Met meerdere mutaties kunt u de primaire boekentiteit en alle gerelateerde hoofdstukentiteiten als één bewerking maken.
mutation {
createBook(
item: {
title: "Data API builder deep-dive"
chapters: [
{ name: "Multiple mutations" }
{ name: "Relationships" }
]
}
) {
title
chapters {
items {
name
}
}
}
}
Deze functie wordt uitgebreid beschreven in onze gids voor meervoudige mutaties.
Zie azure/data-api-builder - Multiple mutaties in GraphQL voor meer informatie.
Verbeteringen aan paginering
DAB heeft nu een paginationOptions
configuratie-eigenschap om verschillende kenmerken van de ingebouwde pagineringsondersteuning aan te passen. De subproperties zijn onder andere:
Standaardwaarde | Beschrijving | |
---|---|---|
default-page-size |
100 | Paginaformaat als er een aanvraag wordt gedaan zonder dat er een paginaformaat is opgegeven. |
max-page-size |
100,000 | Paginaformaat wanneer een aanvraag wordt ingediend met -1 als opgegeven paginaformaat. |
Zie azure/data-api-builder - Pagineringslimieten toevoegen voor meer informatie.
Gezondheidsstatus
In eerdere versies van DAB retourneert de API een tekenreeksstatusbericht van healthy
het hoofdeindpunt (/
). Nu retourneert het hulpprogramma een JSON-object met de status, versie en de naam van de toepassing die aangeeft of DAB wordt gehost of de oss-versie (opensource-software).
De versie 0.12.0
van de OSS-containerafbeelding retourneert bijvoorbeeld standaard dit statusbericht:
{
"status": "Healthy",
"version": "0.12.0",
"app-name": "dab_oss_0.12.0"
}
Zie azure/data-api-builder - Verbeterde metagegevens van statuseindpunten voor meer informatie.
ONDERSTEUNING voor MEERDERE databases in REST
In de REST API worden nu meerdere databases (of gegevensbronnen) ondersteund. De databasenaam wordt bepaald op basis van elke entiteit.
Zie azure/data-api-builder - Ondersteuning voor meerdere databases in REST voor meer informatie.
Verbeteringen in Azure Cosmos DB voor NoSQL
Er zijn enkele verbeteringen aangebracht in de bestaande ondersteuning voor Azure Cosmos DB for NoSQL in DAB.
Ondersteuning voor patchbewerking
Azure Cosmos DB-patchbewerkingen worden nu ondersteund met behulp van de patch<entity-name>
mutatie.
Stel dat er een kleine container is met diverse voorwerpen van de auteur die zijn gepartitioneerd door publisher
. Stel nu dat de container dit item en schema heeft:
{
"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!
}
Als u een patch wilt uitvoeren met GraphQL, gebruikt u de patchAuthor
mutatie die zowel de unieke id als de partitiesleutel specificeert:
mutation {
patchAuthor(
item: {
middleName: "A."
}
id: "04511cbc-459d-4e39-b957-363f26771fc0"
_partitionKeyValue: "Contoso Books"
) {
middleName
}
}
Zie azure/data-api-builder - Patch-ondersteuning voor meer informatie.
Beveiliging op itemniveau
Beveiliging op itemniveau (databasebeleid) wordt nu ondersteund met Azure Cosmos DB voor NoSQL. De expressie van het databasebeleid wordt geëvalueerd om te bepalen tot welke items de huidige rol toegang heeft.
Deze roldefinitie definieert bijvoorbeeld een nieuwe rol met de naam scoped-reader
die alleen items kan lezen die ownerId
gelijk zijn aan de bestaande UserId
items van het object van @claims
de id-provider.
{
"<entity-name>": {
"permissions": [
{
"role": "scoped-reader",
"actions": [
{
"action": "read",
"policy": {
"database": "@item.ownerId eq @claims.UserId"
}
}
]
}
]
}
}
Zie azure/data-api-builder - Ondersteuning voor verificatie op itemniveau met behulp van databasebeleid voor meer informatie.
Ondersteuning voor cache in het geheugen
Hiermee werkt u de bestaande Azure Cosmos DB for NoSQL-query-engine bij voor het gebruik van de cache in het geheugen van Azure Cosmos DB.
Zie azure/data-api-builder - Ondersteuning voor cache in het geheugen voor meer informatie.
PostgreSQL-verbeteringen
Er is een verbetering van de bestaande PostgreSQL-ondersteuning in DAB.
Applicatienaam aan verbindingsreeks koppelen
DAB is nu een aanvulling op de PostgreSQL-verbindingsreeks met de naam van de DAB-toepassing. Het hulpprogramma controleert of er al een toepassingsnaam bestaat in de verbindingsreeks en een van de volgende opties:
- Voegt een nieuwe DAB-toepassingsnaam toe als deze niet bestaat of
- Hiermee voegt u de naam van de DAB-toepassing toe na de naam van de bestaande toepassing met een
,
scheidingsteken.
Zie azure/data-api-builder - Toepassingsnaam toevoegen voor PostgreSQL-verbindingen voor meer informatie.