Compartir a través de


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.