Compartilhar via


Novidades no Construtor de API de Dados versão 1.2 (agosto de 2024)

Notas de versão e informações sobre as atualizações e aprimoramentos no DAB (Construtor de API de Dados) versão 1.2.
versão 1.2.10: Construtor de API de Dados para Bancos de Dados do Azure

Importante

Essa atualização é nossa primeira versão significativa desde a Disponibilidade Geral (GA) em maio.

Apresentando: Tamanho máximo da página

Construtor de API de Dados pagina automaticamente os resultados da consulta em endpoints REST e GraphQL. A paginação garante que as consultas em tabelas grandes retornem resultados gerenciáveis e protege o banco de dados e o DAB contra respostas excessivamente grandes.

Por padrão, o DAB usa um tamanho de página de 100 registros, configurável pela configuração default-page-size. Os usuários podem solicitar mais registros usando a $first palavra-chave, ignorando o padrão.

Para evitar abusos e ajudar a manter o desempenho do ponto de extremidade, o DAB agora dá suporte à configuração max-page-size, que limita o número máximo de registros que um usuário pode solicitar. Essa opção oferece aos desenvolvedores controle e flexibilidade ao adicionar proteções importantes.

{
  "runtime": {
    "pagination": {
      "max-page-size": 1000,
      "default-page-size": 100
    }
  }
}

Introdução: Tamanho máximo da resposta

Conjuntos de resultados grandes podem sobrecarregar o DAB e o banco de dados. A versão 1.2 apresenta max-response-size-mbuma configuração que limita o tamanho da resposta em megabytes. Esse limite se aplica ao conteúdo real, não à contagem de linhas , importante porque colunas largas (texto, binário, XML, JSON) podem conter até 2 GB por valor.

Essa configuração ajuda a garantir o desempenho e a confiabilidade do sistema impondo um teto no tamanho da saída, mantendo a flexibilidade para tipos de dados variados.

{
  "runtime": {
    "host": {
      "max-response-size-mb": 158
    }
  }
}

Introdução: Limite de Profundidade de Consulta do GraphQL

O GraphQL dá suporte a consultas aninhadas profundas por meio de relações, o que simplifica a recuperação de dados complexa. No entanto, o aninhamento profundo aumenta a complexidade das consultas e pode prejudicar o desempenho.

A nova graphql/depth-limit configuração restringe a profundidade máxima da consulta, atingindo um equilíbrio entre funcionalidade e confiabilidade.

{
  "runtime": {
    "graphql": {
      "depth-limit": 2
    }
  }
}

Melhorias diversas

  • Aprimoramentos do OpenAPI: compatibilidade aprimorada do OpenAPI para ferramentas como o Infragistics AppBuilder, incluindo mais metadados no documento OpenAPI gerado.
    Detalhes

  • Suporte à telemetria do Postgres: agora application_name está configurado para conexões com o Postgres, como já foi feito anteriormente para o SQL Server.
    Detalhes

  • Ajuste de política de repetição: a contagem de repetição padrão foi reduzida de 5 para 3 para seguir as práticas recomendadas do Microsoft Learn.
    Detalhes

  • Conversão de dados invariável cultural: as mutações de dados agora usam CultureInfo.InvariantCulture para evitar inconsistências baseadas na localidade ao lidar com valores flutuantes.
    Detalhes

  • Resolução de variável de ambiente durante a validação do esquema: variáveis de ambiente usadas na configuração (por exemplo, para cadeias de conexão) agora são resolvidas corretamente antes da validação do esquema.
    Detalhes