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.