Co nowego w narzędziu Data API Builder w wersji 1.1
Informacje o wersji i informacje o aktualizacjach i ulepszeniach w narzędziu Data API Builder (DAB) w wersji 1.1.
Ważne
Jest to pierwsza wersja ogólnie dostępna w narzędziu Data API Builder (DAB).
Informacje o wersji usługi GitHub
Przejrzyj te strony wydania, aby uzyskać kompleksową listę wszystkich zmian i ulepszeń:
Link | |
---|---|
2024-05-14 — wersja 1.1.7 | https://github.com/azure/data-api-builder/releases/tag/v1.1.7 |
Obsługa platformy .NET 8
Język DAB używa teraz wielu elementów docelowych do obsługi wersji zarówno platformy .NET 6, jak i platformy .NET 8 w wersji długoterminowej (LTS).
Aby uzyskać więcej informacji, zobacz azure/data-api-builder — obsługa wielu platform .NET.
Obsługa wielu mutacji GraphQL
Język DAB obsługuje teraz łączenie wielu operacji mutacji w jedną transakcję GraphQL. Bieżąca obsługa jest ograniczona tylko do create
operacji.
Załóżmy na przykład, że mamy Book
i Chapter
powiązane jednostki. Z wieloma mutacjami można utworzyć jednostkę podstawową książki i wszystkie powiązane jednostki rozdziału jako pojedynczą operację.
mutation {
createBook(
item: {
title: "Data API builder deep-dive"
chapters: [
{ name: "Multiple mutations" }
{ name: "Relationships" }
]
}
) {
title
chapters {
items {
name
}
}
}
}
Ta funkcja jest szczegółowo udokumentowana w naszym przewodniku dotyczącym wielu mutacji.
Aby uzyskać więcej informacji, zobacz azure/data-api-builder — wiele mutacji w narzędziu GraphQL.
Ulepszenia stronicowania
Język DAB ma paginationOptions
teraz właściwość konfiguracji, aby dostosować różne cechy wbudowanej obsługi stronicowania. Podwłaściwości obejmują:
Wartość domyślna | Opis | |
---|---|---|
default-page-size |
100 | Rozmiar strony, jeśli żądanie jest wykonywane bez określonego rozmiaru strony. |
max-page-size |
100 000 | Rozmiar strony, jeśli zostanie wykonane żądanie o -1 określonym rozmiarze strony. |
Aby uzyskać więcej informacji, zobacz azure/data-api-builder — Dodawanie limitów stronicowania.
Stan kondycji
We wcześniejszych wersjach języka DAB interfejs API zwróci komunikat o stanie ciągu w healthy
punkcie końcowym głównym (/
). Teraz narzędzie zwraca obiekt JSON zawierający stan, wersję i nazwę aplikacji wskazującą, czy usługa DAB jest hostowana, czy wersja oprogramowania open source (OSS).
Na przykład wersja 0.12.0
obrazu kontenera systemu operacyjnego będzie domyślnie zwracać ten komunikat o stanie:
{
"status": "Healthy",
"version": "0.12.0",
"app-name": "dab_oss_0.12.0"
}
Aby uzyskać więcej informacji, zobacz azure/data-api-builder — ulepszone metadane punktu końcowego kondycji.
Obsługa wielu baz danych REST
W interfejsie API REST jest teraz obsługiwanych wiele baz danych (lub źródeł danych). Nazwa bazy danych jest określana na podstawie każdej jednostki.
Aby uzyskać więcej informacji, zobacz azure/data-api-builder — obsługa wielu baz danych w interfejsie REST.
Ulepszenia usługi Azure Cosmos DB for NoSQL
W języku DAB wprowadzono kilka ulepszeń dotyczących istniejącej obsługi usługi Azure Cosmos DB for NoSQL.
Obsługa operacji poprawek
Operacje poprawek usługi Azure Cosmos DB są teraz obsługiwane przy użyciu mutacji patch<entity-name>
.
Załóżmy na przykład, że istnieje mały kontener z różnymi elementami autora podzielonymi na partycje według publisher
. Teraz załóżmy, że kontener ma ten element i schemat:
{
"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!
}
Aby zastosować poprawki przy użyciu narzędzia GraphQL, użyj patchAuthor
mutacji określającej zarówno unikatowy identyfikator, jak i klucz partycji:
mutation {
patchAuthor(
item: {
middleName: "A."
}
id: "04511cbc-459d-4e39-b957-363f26771fc0"
_partitionKeyValue: "Contoso Books"
) {
middleName
}
}
Aby uzyskać więcej informacji, zobacz azure/data-api-builder — obsługa poprawek.
Zabezpieczenia na poziomie elementu
Zabezpieczenia na poziomie elementu (zasady bazy danych) są teraz obsługiwane w usłudze Azure Cosmos DB for NoSQL. Wyrażenie zasad bazy danych jest oceniane w celu określenia elementów, do których może uzyskać dostęp bieżąca rola.
Na przykład ta definicja roli będzie definiować nową rolę o nazwie scoped-reader
, która może odczytywać tylko elementy, w których ownerId
element jest odpowiednikiem istniejącego UserId
obiektu dostawcy @claims
tożsamości.
{
"<entity-name>": {
"permissions": [
{
"role": "scoped-reader",
"actions": [
{
"action": "read",
"policy": {
"database": "@item.ownerId eq @claims.UserId"
}
}
]
}
]
}
}
Aby uzyskać więcej informacji, zobacz azure/data-api-builder — obsługa uwierzytelniania na poziomie elementu przy użyciu zasad bazy danych.
Obsługa pamięci podręcznej w pamięci
Aktualizacje istniejącego aparatu zapytań usługi Azure Cosmos DB for NoSQL do korzystania z pamięci podręcznej usługi Azure Cosmos DB.
Aby uzyskać więcej informacji, zobacz azure/data-api-builder — obsługa pamięci podręcznej w pamięci.
Ulepszenia bazy danych PostgreSQL
Istnieje rozszerzenie istniejącej obsługi bazy danych PostgreSQL w języku DAB.
Łączenie nazwy aplikacji w celu parametry połączenia
DAB uzupełnia teraz parametry połączenia PostgreSQL nazwą aplikacji DAB. Narzędzie sprawdza, czy nazwa aplikacji już istnieje w parametry połączenia i czy:
- Dodaje nową nazwę aplikacji DAB, jeśli nie istnieje lub
- Dodaje nazwę aplikacji DAB po istniejącej nazwie aplikacji z separatorem
,
.
Aby uzyskać więcej informacji, zobacz azure/data-api-builder — dodawanie nazwy aplikacji dla połączeń PostgreSQL.