Novedades de Data API Builder, versión 1.1
Notas de la versión e información sobre las actualizaciones y mejoras de Data API Builder (DAB) versión 1.1.
Importante
Esta es la primera versión de disponibilidad general (GA) en Data API Builder (DAB).
Notas de la versión de GitHub
Revise estas páginas de versión para obtener una lista completa de todos los cambios y mejoras:
Vínculo | |
---|---|
2024-05-14: versión 1.1.7 | https://github.com/azure/data-api-builder/releases/tag/v1.1.7 |
Compatibilidad con .NET 8
DAB usa ahora compatibilidad con múltiples versiones de .NET 6 y .NET 8 a largo plazo.
Para más información, consulte azure/data-api-builder: destinos de varias plataformas de .NET.
Compatibilidad con varias mutaciones de GraphQL
DAB ahora admite la combinación de varias operaciones de mutación en una sola transacción de GraphQL. La compatibilidad actual solo tiene como ámbito las create
operaciones.
Por ejemplo, supongamos que tenemos Book
entidades y Chapter
que están relacionadas. Con varias mutaciones, puede crear la entidad de libro principal y todas las entidades de capítulo relacionadas como una sola operación.
mutation {
createBook(
item: {
title: "Data API builder deep-dive"
chapters: [
{ name: "Multiple mutations" }
{ name: "Relationships" }
]
}
) {
title
chapters {
items {
name
}
}
}
}
Esta característica se documenta en profundidad en nuestra guía de múltiples mutaciones.
Para más información, consulte azure/data-api-builder: varias mutaciones en GraphQL.
Mejoras de paginación
DAB ahora tiene una paginationOptions
propiedad de configuración para ajustar varias características de la compatibilidad con la paginación integrada. Las subpropiedades incluyen:
Valor predeterminado | Descripción | |
---|---|---|
default-page-size |
100 | Tamaño de página si se realiza una solicitud sin especificar el tamaño de página. |
max-page-size |
100 000 | Tamaño de página si se realiza una solicitud con -1 el tamaño de página especificado. |
Para más información, consulte azure/data-api-builder: adición de límites de paginación.
Estado de mantenimiento
En versiones anteriores de DAB, la API devolvería un mensaje de estado de cadena de en el punto de healthy
conexión raíz (/
). Ahora, la herramienta devuelve un objeto JSON que contiene el estado, la versión y el nombre de la aplicación que indica si DAB está hospedado o la versión de software de código abierto (OSS).
Por ejemplo, la versión 0.12.0
de la imagen de contenedor del sistema operativo devolvería este mensaje de estado de forma predeterminada:
{
"status": "Healthy",
"version": "0.12.0",
"app-name": "dab_oss_0.12.0"
}
Para más información, consulte azure/data-api-builder: metadatos mejorados del punto de conexión de mantenimiento.
Compatibilidad con varias bases de datos rest
En la API REST, ahora se admiten varias bases de datos (o orígenes de datos). El nombre de la base de datos se determina en función de cada entidad.
Para más información, consulte azure/data-api-builder: compatibilidad con varias bases de datos en REST.
Mejoras de Azure Cosmos DB para NoSQL
Se han realizado algunas mejoras en la compatibilidad existente de Azure Cosmos DB para NoSQL con DAB.
Compatibilidad con operaciones de revisión
Las operaciones de revisión de Azure Cosmos DB ahora se admiten mediante la patch<entity-name>
mutación.
Por ejemplo, supongamos que hay un contenedor pequeño con varios elementos de autor particionados por publisher
. Ahora supongamos que el contenedor tiene este elemento y esquema:
{
"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!
}
Para aplicar revisiones mediante GraphQL, use la patchAuthor
mutación que especifica el identificador único y la clave de partición:
mutation {
patchAuthor(
item: {
middleName: "A."
}
id: "04511cbc-459d-4e39-b957-363f26771fc0"
_partitionKeyValue: "Contoso Books"
) {
middleName
}
}
Para más información, consulte azure/data-api-builder: compatibilidad con revisiones.
Seguridad de nivel de elemento
La seguridad de nivel de elemento (directivas de base de datos) ahora es compatible con Azure Cosmos DB para NoSQL. La expresión de directiva de base de datos se evalúa para determinar a qué elementos puede tener acceso el rol actual.
Por ejemplo, esta definición de rol definiría un nuevo rol denominado scoped-reader
que solo puede leer elementos donde ownerId
es equivalente al existente UserId
desde el objeto del proveedor de @claims
identidades.
{
"<entity-name>": {
"permissions": [
{
"role": "scoped-reader",
"actions": [
{
"action": "read",
"policy": {
"database": "@item.ownerId eq @claims.UserId"
}
}
]
}
]
}
}
Para más información, consulte azure/data-api-builder: compatibilidad con la autenticación de nivel de elemento mediante la directiva de base de datos.
Compatibilidad con la caché en memoria
Novedades motor de consultas existente de Azure Cosmos DB para NoSQL para usar la memoria caché en memoria de Azure Cosmos DB.
Para más información, consulte azure/data-api-builder: compatibilidad con la caché en memoria.
Mejoras de PostgreSQL
Hay una mejora en la compatibilidad existente con PostgreSQL en DAB.
Concatenar el nombre de la aplicación para cadena de conexión
DAB ahora complementa el cadena de conexión de PostgreSQL con el nombre de la aplicación DAB. La herramienta comprueba si ya existe un nombre de aplicación en el cadena de conexión y:
- Agrega un nuevo nombre de aplicación DAB si no existe o
- Agrega el nombre de la aplicación DAB después del nombre de la aplicación existente con un
,
separador.
Para más información, consulte azure/data-api-builder: adición del nombre de la aplicación para las conexiones de PostgreSQL.