Compartilhar via


Novidades no Construtor de API de Dados versão 1.1

Notas de versão e informações sobre as atualizações e aprimoramentos no DAB (Construtor de API de Dados) versão 1.1.

Importante

Essa é a primeira versão de GA (disponibilidade geral) no DAB (Construtor de API de Dados).

Notas sobre a versão do GitHub

Examine estas páginas de versão para obter uma lista abrangente de todas as alterações e melhorias:

Link
2024-05-14 – Versão 1.1.7 https://github.com/azure/data-api-builder/releases/tag/v1.1.7

Suporte ao .NET 8

O DAB agora usa vários direcionamentos para dar suporte a versões lts (suporte de longo prazo) do .NET 6 e do .NET 8.

Para obter mais informações, consulte azure/data-api-builder – direcionamento de várias estruturas do .NET.

GraphQL suporte a várias mutações

O DAB agora dá suporte à combinação de várias operações de mutação em uma única transação de GraphQL. O suporte atual tem escopo apenas para create operações.

Por exemplo, suponha que tenhamos Book entidades e Chapter relacionadas. Com várias mutações, você pode criar a entidade de livro principal e todas as entidades de capítulo relacionadas como uma única operação.

mutation {
  createBook(
    item: {
      title: "Data API builder deep-dive"
      chapters: [
        { name: "Multiple mutations" }
        { name: "Relationships" }
      ]
    }
  ) {
    title
    chapters {
      items {
        name
      }
    }
  }
}

Esse recurso está documentado detalhadamente em nosso guia de várias mutações.

Para obter mais informações, consulte azure/data-api-builder – várias mutações em GraphQL.

Aprimoramentos de paginação

O DAB agora tem uma paginationOptions propriedade de configuração para ajustar várias características do suporte interno à paginação. As subpropriedades incluem:

Valor padrão Descrição
default-page-size 100 Tamanho da página se uma solicitação for feita sem o tamanho da página especificado.
max-page-size 100.000 Tamanho da página se uma solicitação for feita com -1 especificado para o tamanho da página.

Para obter mais informações, consulte azure/data-api-builder – Adicionar limites de paginação.

Status de integridade

Em versões anteriores do DAB, a API retornaria uma cadeia de caracteres status mensagem de no ponto de healthy extremidade raiz (/). Agora, a ferramenta retorna um objeto JSON que contém o status, a versão e o nome do aplicativo que indica se o DAB está hospedado ou a versão de software de software livre (OSS).

Por exemplo, a versão 0.12.0 da imagem de contêiner do OSS retornaria essa mensagem status por padrão:

{
    "status": "Healthy",
    "version": "0.12.0",
    "app-name": "dab_oss_0.12.0"
}

Para obter mais informações, consulte azure/data-api-builder – Metadados de ponto de extremidade de integridade aprimorados.

Suporte a bancos de dados REST Múltiplos

Na API REST, há suporte para vários bancos de dados (ou fontes de dados). O nome do banco de dados é determinado com base em cada entidade.

Para obter mais informações, consulte azure/data-api-builder – Suporte a vários bancos de dados no REST.

Aprimoramentos do Azure Cosmos DB for NoSQL

Houve alguns aprimoramentos no suporte existente do Azure Cosmos DB for NoSQL no DAB.

Suporte à operação de patch

Agora há suporte para operações de patch do Azure Cosmos DB usando a patch<entity-name> mutação.

Por exemplo, suponha que haja um pequeno contêiner com vários itens de autor particionados por publisher. Agora suponha que o contêiner tenha este item e 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 patch usando GraphQL, use a patchAuthor mutação que especifica o identificador exclusivo e a chave de partição:

mutation {
  patchAuthor(
    item: { 
      middleName: "A." 
    }
    id: "04511cbc-459d-4e39-b957-363f26771fc0"
    _partitionKeyValue: "Contoso Books"
  ) {
    middleName
  }
}

Para obter mais informações, consulte azure/data-api-builder – Suporte a patch.

Segurança no nível do item

Agora há suporte para a segurança no nível do item (políticas de banco de dados) com o Azure Cosmos DB for NoSQL. A expressão de política de banco de dados é avaliada para determinar quais itens a função atual pode acessar.

Por exemplo, essa definição de função definiria uma nova função chamada scoped-reader que só pode ler itens em que o ownerId é equivalente ao existente UserId do objeto do provedor de @claims identidade.

{
  "<entity-name>": {
    "permissions": [
      {
        "role": "scoped-reader",
        "actions": [
          {
            "action": "read",
            "policy": {
              "database": "@item.ownerId eq @claims.UserId"
            }
          }
        ]
      }
    ]
  }
}

Para obter mais informações, consulte azure/data-api-builder – Suporte à autenticação no nível do item usando a política de banco de dados.

Suporte ao cache na memória

Atualizações mecanismo de consulta existente do Azure Cosmos DB for NoSQL para usar o cache na memória do Azure Cosmos DB.

Para obter mais informações, consulte azure/data-api-builder – Suporte ao cache na memória.

Aprimoramentos do PostgreSQL

Há um aprimoramento no suporte existente ao PostgreSQL no DAB.

Concatenar o nome do aplicativo para cadeia de conexão

O DAB agora complementa a cadeia de conexão postgreSQL com o nome do aplicativo DAB. A ferramenta verifica se um nome de aplicativo já existe no cadeia de conexão e:

  • Adiciona um novo nome de aplicativo DAB se um não existir ou
  • Adiciona o nome do aplicativo DAB após o nome do aplicativo existente com um , separador.

Para obter mais informações, consulte azure/data-api-builder – Adicionar nome do aplicativo para conexões PostgreSQL.