Sdílet prostřednictvím


Novinky ve tvůrci rozhraní Data API verze 1.1

Poznámky k verzi a informace o aktualizacích a vylepšeních v Tvůrci rozhraní DATA API (DAB) verze 1.1.

Důležité

Jedná se o první obecně dostupnou verzi (GA) pro Tvůrce rozhraní Data API (DAB).

Poznámky k verzi na GitHubu

Projděte si tyto stránky verzí, kde najdete úplný seznam všech změn a vylepšení:

Odkaz
14. 5. 2024 – verze 1.1.7 https://github.com/azure/data-api-builder/releases/tag/v1.1.7

Podpora .NET 8

DAB teď používá cílení na více verzí pro podporu verzí dlouhodobé podpory .NET 6 i .NET 8.

Další informace najdete v tématu azure/data-api-builder – Cílení na více rozhraní .NET.

Podpora více mutací v GraphQL

DAB teď podporuje kombinování operací několika mutací do jedné transakce GraphQL. Aktuální podpora je omezená pouze na create operace.

Předpokládejme například, že máme Book entity a Chapter , které souvisejí. U více mutací můžete vytvořit primární entitu knihy a všechny související entity kapitol jako jednu operaci.

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

Tato funkce je podrobně zdokumentovaná v průvodci více mutací.

Další informace najdete v tématu azure/data-api-builder – Vícenásobné mutace v GraphQL.

Vylepšení stránkování

DAB teď má paginationOptions konfigurační vlastnost pro úpravu různých charakteristik integrované podpory stránkování. Mezi dílčí vlastnosti patří:

Výchozí hodnota Description
default-page-size 100 Velikost stránky, pokud je požadavek proveden bez zadané velikosti stránky.
max-page-size 100 000 Velikost stránky, pokud je žádost podána se zadaným parametrem -1 velikost stránky.

Další informace najdete v tématu azure/data-api-builder – Přidání limitů stránkování.

Stav

V dřívějších verzích DAB by rozhraní API vracelo stavovou zprávu healthy řetězce v kořenovém koncovém bodu (/). Nástroj teď vrátí objekt JSON obsahující stav, verzi a název aplikace označující, jestli je dab hostovaný, nebo verze opensourcového softwaru (OSS).

Například verze 0.12.0 image kontejneru OSS by ve výchozím nastavení vrátila tuto stavovou zprávu:

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

Další informace najdete v tématu azure/data-api-builder – Vylepšená metadata koncového bodu stavu.

Podpora více databází REST

V rozhraní REST API se teď podporuje více databází (nebo zdrojů dat). Název databáze se určuje na základě každé entity.

Další informace najdete v tématu azure/data-api-builder – podpora více databází v REST.

Vylepšení služby Azure Cosmos DB for NoSQL

Stávající podpora služby Azure Cosmos DB for NoSQL v DAB obsahuje několik vylepšení.

Podpora operací oprav

Operace oprav služby Azure Cosmos DB se teď podporují pomocí patch<entity-name> mutací.

Předpokládejme například, že existuje malý kontejner s různými položkami autora rozdělenými do oddílů .publisher Teď předpokládejme, že kontejner obsahuje tuto položku a schéma:

{
  "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!
}

Pokud chcete provést opravu pomocí GraphQL, použijte patchAuthor mutaci určující jedinečný identifikátor i klíč oddílu:

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

Další informace najdete v tématu azure/data-api-builder – podpora oprav.

Zabezpečení na úrovni položek

Azure Cosmos DB for NoSQL teď podporuje zabezpečení na úrovni položek (zásady databáze). Vyhodnocením výrazu zásad databáze se určí, k jakým položkám má aktuální role přístup.

Tato definice role by například definovala novou roli s názvem scoped-reader , která může číst jenom položky, u ownerId kterých je ekvivalentní existující UserId roli z objektu zprostředkovatele @claims identity.

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

Další informace najdete v tématu azure/data-api-builder – Podpora ověřování na úrovni položek pomocí zásad databáze.

Podpora mezipaměti v paměti

Aktualizace existujícího dotazovacího stroje Azure Cosmos DB for NoSQL tak, aby používal mezipaměť v paměti služby Azure Cosmos DB.

Další informace najdete v tématu azure/data-api-builder – podpora mezipaměti v paměti.

Vylepšení PostgreSQL

Stávající podpora PostgreSQL v DAB je vylepšená.

Zřetězení názvu aplikace s připojovací řetězec

DAB teď doplňuje připojovací řetězec PostgreSQL názvem aplikace DAB. Nástroj zkontroluje, jestli název aplikace už v připojovací řetězec existuje, a buď:

  • Přidá nový název aplikace DAB, pokud neexistuje nebo neexistuje.
  • Přidá název aplikace DAB za existující název aplikace s oddělovačem , .

Další informace najdete v tématu azure/data-api-builder – Přidání názvu aplikace pro připojení PostgreSQL.