Udostępnij za pośrednictwem


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.