Dela via


Nyheter i version 0.11 och tidigare

Viktig information om alla uppdateringar och förbättringar i Data API Builder version 0.11 och tidigare.

Nyheter i version 0.11

Viktig information om uppdateringar och förbättringar i Data API Builder version 0.10.

GraphQL-stöd för SQL Data Warehouse

SQL Data Warehouse stöder nu GraphQL-slutpunkter.

Förbättrad Azure Cosmos DB for NoSQL-filtrering

Azure Cosmos DB for NoSQL har nu stöd för kapslade filter, ID-variabler och strängmatrissökningar med operatorn contains .

Aktivera insamling av programdata med kommandoradsgränssnitt

Nu kan du använda CLI (DAB-kommandoradsgränssnittet) för att aktivera datainsamling med Application Insights.

Nyheter i version 0.10

Viktig information om uppdateringar och förbättringar i Data API Builder version 0.10.

Vårt fokus skiftar till stabilitet när vi närmar oss allmän tillgänglighet. Även om inte alla ansträngningar för kodkvalitet och motorstabilitet beskrivs i den här artikeln, markerar den här listan viktiga uppdateringar.

Viktig information om GitHub

Granska de här versionssidorna för en omfattande lista över alla ändringar och förbättringar:

Cachelagring i minnet

Version 0.10 introducerar minnesintern cachelagring för REST- och GraphQL-slutpunkter. Den här funktionen, som är utformad för intern cachelagring, lägger grunden för framtida distribuerad cachelagring. Minnesintern cachelagring minskar databasbelastningen från repetitiva frågor.

Cachelagringsscenarier

  • Minska databasbelastningen: Cachelagring lagrar resultat av dyra frågor, vilket eliminerar behovet av upprepade databasanrop.
  • Förbättra API-skalbarheten: Cachelagring stöder mer frekventa API-anrop utan att öka databasbegäranden, vilket avsevärt skalar api:ets funktioner.

Konfigurationsändringar

Cachelagringsinställningar är tillgängliga i runtime avsnittet och för varje entitet som erbjuder detaljerad kontroll.

Körningsinställningar:

{
  "runtime": {
    "cache": {
      "enabled": true,
      "ttl-seconds": 6
    }
  }
}
  • Cachelagring är inaktiverat som standard.
  • Standardvärdet för TTL (Time To Live) är 5 sekunder.

Entitetsinställningar:

{
  "Book": {
    "source": {
      "object": "books",
      "type": "table"
    },
    "graphql": {
      "enabled": true,
      "type": {
        "singular": "book",
        "plural": "books"
      }
    },
    "rest": {
      "enabled": true
    },
    "permissions": [
      {
        "role": "anonymous",
        "actions": [
          {
            "action": "*"
          }
        ]
      }
    ],
    "cache": {
      "enabled": true,
      "ttl-seconds": 6
    }
  }
}

Konfigurationsverifiering i CLI

CLI stöder dab validate nu för att kontrollera konfigurationsfiler för fel eller inkonsekvenser, vilket förbättrar utvecklingsarbetsflödet.

Verifieringssteg

  1. Schemavalidering
  2. Verifiering av konfigurationsegenskaper
  3. Verifiering av konfigurationsbehörighet
  4. Verifiering av databasanslutning
  5. Validering av entitetsmetadata

Förhandsgranskningsfunktioner

  • Initialt DWSQL-stöd. #1864
  • Stöd för flera datakällor. #1709

Nyheter i version 0.9

Här är information om de mest relevanta ändringarna och förbättringarna i Data API Builder 0.9.

Viktig information om GitHub

Granska de här versionssidorna för en omfattande lista över alla ändringar och förbättringar:

Aktivera Application Insights när du är självvärd för DAB

Loggar kan nu strömmas till Application Insights för bättre övervakning och felsökning, särskilt när data-API-byggare distribueras i Azure. Ett nytt telemetry avsnitt kan läggas till i konfigurationsfilen för att aktivera och konfigurera integrering med Application Insights:

"telemetry": {
    "application-insights": {
    "enabled": true,    // To enable/disable application insights telemetry
    "connection-string": "{APP_INSIGHTS_CONNECTION_STRING}" // Application Insights connection string to send telemetry
    }
}

Läs all information på sidan Använd Application Insights-dokumentation .

Stöd för att ignorera överflödiga fält i REST-begärandetexten

Med det nya request-body-strict alternativet kan du nu bestämma om extra fält i REST-nyttolasten genererar ett fel (standardbeteende, bakåtkompatibelt) eller om de extra fälten ignoreras tyst.

"runtime": {
    "rest": {
      "enabled": true,
      "path": "/api",
      "request-body-strict": true
    },
    ...
}

Genom att ange request-body-strict alternativet till falseignoreras fält som inte har någon mappning till det relaterade databasobjektet utan att generera några fel.

Lägga till programnamn för mssql anslutningar

Data-API-byggare matar nu in anslutningssträngen, endast för mssql databastyper, värdet dab-<version> som Application Name egenskap, vilket gör det enklare att identifiera anslutningarna på databasservern. Om Application Name det redan finns i anslutningssträngen läggs data-API Builder-versionen till i den.

Stöd time för datatyp i mssql

time datatypen stöds nu i mssql databaser.

Mutationer i tabellen med utlösare för mssql

Mutationer stöds nu fullt ut i tabeller med utlösare för mssql databaser.

Förhindra uppdatering/infogning av skrivskyddade fält i en tabell efter användare

Identifiera automatiskt skrivskyddade fält i databasen och förhindra att dessa fält uppdateras/infogas av användaren.

Nyheter i version 0.8

Här är information om de mest relevanta ändringarna och förbättringarna i Data API Builder 0.8.

Viktig information om GitHub

Granska de här versionssidorna för en omfattande lista över alla ändringar och förbättringar:

Stöd har lagts till för .env-fil

Miljövariabler skyddar hemligheter från exponering av oformaterad text och möjliggör värdeväxling i olika inställningar. Dessa variabler måste dock anges antingen i användar- eller datoromfånget, vilket kan leda till att variabeln "blöder" mellan projekt om variabelnamnen dupliceras. Det bättre alternativet är miljöfiler. Mer information finns i miljöfiler i Data API Builder – blogg.

Nyheter i version 0.7.6

Den här artikeln beskriver viktig information för versionen 0.7.6.

GitHub-pull-begäranden

Initialt stöd för att skapa openAPI v3-0-1-beskrivningsdokument

Data API Builder stöder OpenAPI-standarden för att generera och exponera beskrivningsdokument som innehåller användbar information om tjänsten. Dessa dokument skapas från körningskonfigurationsfilen och metadata för varje databasobjekt. Dessa objekt är associerade med en REST-aktiverad entitet som definierats i samma konfigurationsfil. De exponeras sedan via ett användargränssnitt och görs tillgängliga som en serialiserad fil.

Mer information om openAPI- och data-API-byggare finns i OpenAPI.

Tillåta sammanslagning av konfigurationsfiler

Lägger till möjligheten att automatiskt sammanfoga två konfigurationsfiler.

Det går att underhålla flera par med baslinje- och miljöspecifika konfigurationsfiler för att förenkla hanteringen av miljöspecifika inställningar. Det går till exempel att underhålla separata konfigurationer för utveckling och produktion. I det här steget ingår att ha en baskonfigurationsfil som har alla vanliga inställningar mellan de olika miljöerna. Genom att ange variabeln DAB_ENVIRONMENT går det sedan att styra vilka konfigurationsfiler som ska sammanfogas för förbrukning av Data API Builder.

Mer information finns i CLI-referens.

Köra GraphQL- och REST-mutationer i en transaktion

Data API Builder skapar databastransaktioner för att köra vissa typer av GraphQL- och REST-begäranden.

Det finns många begäranden, vilket innebär att göra mer än en databasfråga att utföra. Om du till exempel vill returnera resultatet från en uppdatering måste först en fråga för uppdateringen göras, sedan måste de nya värdena läsas innan de returneras. När en begäran kräver flera databasfrågor för att köras kör Nu Data API Builder dessa databasfrågor i en enda transaktion.

Du kan läsa mer om den här funktionen inom ramen för REST i REST-dokumentationen och GraphQL i GraphQL-dokumentationen.

Nyheter i version 0.6.14

Den här artikeln beskriver korrigeringen för mars 2023-versionen för Data API Builder för Azure Databases.

Felkorrigeringar

  • Åtgärda problem med nekad åtkomst till frågefilter för Cosmos.
  • Cosmos DB stöder för närvarande inte auktorisering på fältnivå, för att undvika situationen när användarna av misstag skickar behörigheterna field i körningskonfigurationen har vi lagt till en verifieringskontroll.

Nyheter i version 0.6.13

Den fullständiga listan över viktig information för den här versionen finns på GitHub: https://github.com/Azure/data-api-builder/releases/tag/v0.6.13.

Nytt CLI-kommando för att exportera GraphQL-schema

Ett nytt alternativ läggs till för att exportera GraphQL-schema. Detta startar DAB-servern och frågar den för att hämta schemat innan du skriver det till den plats som tillhandahålls.

dab export --graphql -c dab-config.development.json -o ./schemas

Det här kommandot genererar GraphQL-schemafilen i katalogen ./schemas. Sökvägen till konfigurationsfilen är en valfri parameter som standard är "dab-config.json" såvida inte "dab-config".<>DAB_ENVIRONMENT.json" finns, där DAB_ENVIRONMENT är en miljövariabel.

Databasprincipstöd för att skapa åtgärder för MsSql

Databasprinciper stöds nu för alla CRUD-åtgärder (Skapa, Läsa, Uppdatera, Ta bort) för MsSql. Exempel:

"entities":{
  "Revenue":{
    "source": "revenues",
    "permissions":[
      "role": "authenticated",
          "actions": [
            {
              "action": "Create",
              "policy": {
                "database": "@item.revenue gt 0"
              }
            },
            "read",
            "update",
            "delete"
          ]
    ]
  }
}

Den tidigare konfigurationen för Revenue entiteten anger att användaren som utför en infogningsåtgärd med rollen Authenticated inte får skapa en post med intäkter som är mindre än eller lika med noll.

Möjlighet att konfigurera GraphQL-sökväg och inaktivera REST- och GraphQL-slutpunkter globalt via CLI

Nu har vi stöd för ytterligare tre alternativ för init kommandot:

  • graphql.path : Så här anger du en anpassad GraphQL-sökväg
  • rest.disabled: Inaktivera REST-slutpunkter globalt
  • graphql.disabled: Inaktivera GraphQL-slutpunkter globalt

Ett kommando skulle till exempel init generera en konfigurationsfil med ett körningsavsnitt:

dab init --database-type mssql --rest.disabled --graphql.disabled --graphql.path /gql
"runtime": {
    "rest": {
      "enabled": false,
      "path": "/api"
    },
    "graphql": {
      "allow-introspection": true,
      "enabled": false,
      "path": "/gql"
    },
}

Obligatoriska nyckelfält för att lägga till och uppdatera vyer i CLI

Det är nu obligatoriskt för användaren att ange nyckelfälten (som ska användas som primärnyckel) via alternativet source.key-fields exponerad när en ny databasvy (via dab add) läggs till i konfigurationen via CLI. När du uppdaterar något i vyns konfiguration (via ) i konfigurationsfilen via CLI är det också obligatoriskt att ange nyckelfälten i uppdateringskommandot när du uppdaterar något i vyns konfiguration (via dab update) i konfigurationsfilen via CLI.

Vi stöder dock fortfarande vyer utan att ha uttryckliga primära nycklar angivna i konfigurationen, men konfigurationen för sådana vyer måste skrivas direkt i konfigurationsfilen.

Ett kommando används till exempel dab add för att lägga till en vy:

dab add books_view --source books_view --source.type "view" --source.key-fields "id" --permissions "anonymous:*" --rest true --graphql true

Det här kommandot genererar konfigurationen för books_view entitet som liknar det här exemplet:

"books_view": {
      "source": {
        "type": "view",
        "object": "books_view",
        "key-fields":[
          "id"
        ]
      },
      "permissions": [
        {
          "role": "anonymous",
          "actions": [
            "*"
          ]
        }
      ],
      "rest": true,
      "graphql": true
    }

Eftersom DAB nu har öppen källkod behöver vi inte ladda ned artefakterna från lagringskontot. I stället kan vi ladda ned dem direkt från GitHub. Därför uppdateras länkarna.

Nyheter i version 0.5.34

Den fullständiga listan över viktig information för den här versionen finns på GitHub: https://github.com/Azure/data-api-builder/releases/tag/v0.5.34.

Honor REST- och GraphQL-aktiverad flagga på körningsnivå

Ett nytt alternativ läggs till för att aktivera eller inaktivera REST/GraphQL-begäranden för alla entiteter på körningsnivå. Om de inaktiveras globalt skulle inga entiteter vara tillgängliga via REST- eller GraphQL-begäranden oavsett de enskilda entitetsinställningarna. Om aktiverad globalt är enskilda entiteter tillgängliga som standard om de inte uttryckligen inaktiveras av inställningarna på entitetsnivå.

"runtime": {
    "rest": {
      "enabled": false,
      "path": "/api"
    },
    "graphql": {
      "allow-introspection": true,
      "enabled": false,
      "path": "/graphql"
    }
  }

Korrelations-ID i begärandeloggar

För att hjälpa till med felsökning bifogar vi ett korrelations-ID till alla loggar som genereras under en begäran. Eftersom många begäranden kan göras är det viktigt att ha ett sätt att identifiera loggarna till en specifik begäran för att hjälpa felsökningsprocessen.

Stöd för jokertecken för lagrade procedurer i motor och CLI

För lagrade procedurer kan roller nu konfigureras med åtgärden jokertecken * , men den expanderar bara till åtgärden execute .

Nyheter i version 0.5.32

Den fullständiga listan över viktig information för den här versionen finns på GitHub: https://github.com/Azure/data-api-builder/releases/tag/v0.5.32-beta.

Möjlighet att anpassa viloväg via CLI

Ett nytt alternativ --rest.path introduceras i init kommandot för att anpassa sökvägen för REST-API:er.

dab init --database-type mssql --connection-string "Connection-String" --rest.path "rest-api" 

Det här kommandot konfigurerar REST-slutpunkterna med prefixet rest-api. Den fullständiga sökvägen för REST-slutpunkterna är https://<dab-server>/rest-api/<entity-name>

När --rest.path alternativet inte används konfigureras REST-slutpunkterna med standardprefixet api. Den fullständiga sökvägen i det här fallet är https://<dab-server>/api/<entity-name>

Containeravbildning för Data API Builder i MAR

De officiella docker-avbildningarna för Data API Builder för Azure Databases är nu tillgängliga i Microsoft Artifact Registry.

Anvisningar för hur du använder publicerade avbildningar finns i Microsoft container registry – Data API builder.

Stöd för GraphQL-fragment

Fragment kan återanvändas i en graphQL-fråga. I scenarier där samma fält måste frågas i olika frågor kan de upprepade fälten konsolideras till en enda återanvändbar komponent som kallas fragment.

Mer information om fragment finns i GraphQL-frågor.

Ett fragment som anropas description av typen Character definieras härnäst:

fragment description on Character {
  name
  homePlanet
  primaryFunction
}

En GraphQL-fråga som använder det definierade fragmentet kan konstrueras enligt följande:

{
  Player1: Player{
    id
    playerDescription{
        ...description
    }
  }
}

För föregående fråga innehåller resultatet följande fält:

{
 Player1: Player{
    id
    playerDescription{
        name
        homePlanet
        primaryFunction
    }
  }   
}

Aktivera BinSkim och åtgärda Policheck-aviseringar

BinSkim är en bärbar körbar (PE) lättviktsskanner som validerar kompilator-/länkningsinställningar och andra säkerhetsreleverade binära egenskaper. En pipelineaktivitet i static-tools pipeline läggs till för att utföra BinSkim-genomsökningar för varje pipelinekörning. PoliCheck-systemet är en uppsättning verktyg och data som hjälper dig att följa kraven för text- och kodgranskning som en del av den övergripande globala beredskapsprincipen. Aviseringarna som genereras av Policheck-genomsökningar är fasta för att vara kompatibla med känsliga termer.

Nyheter i version 0.5.0

Den fullständiga listan över viktig information för den här versionen finns på GitHub: https://github.com/Azure/data-api-builder/releases/tag/v0.5.0-beta.

Offentligt JSON-schema

Det offentliga JSON-schemat ger dig stöd för "intellisense", om du använder en IDE som Visual Studio Code som stöder JSON-scheman. Filen basic-empty-dab-config.json i samples mappen har en exempelstartpunkt när filen skapas dab-config.json manuellt.

Offentlig Microsoft.DataApiBuilder NuGet

Microsoft.DataApiBuilder är nu tillgängligt som ett offentligt NuGet-paket här för enkel installation med dotnet-verktyget på följande sätt:

dotnet tool install --global Microsoft.DataApiBuilder

Ny execute åtgärd för lagrade procedurer i Azure SQL

En ny execute åtgärd introduceras som den enda tillåtna permissions åtgärden i avsnittet i konfigurationsfilen endast när en källtyp stöder en entitet av stored-procedure. Som standard tillåts endast POST metoden för sådana entiteter och endast GraphQL-åtgärden mutation konfigureras med prefixet execute som läggs till i deras namn. Om du uttryckligen anger det tillåtna methodsrest i avsnittet i konfigurationsfilen åsidosätts det här beteendet. På samma sätt kan graphQL, operation i graphql avsnittet, åsidosättas för att vara query i stället. Mer information finns i vyer och lagrade procedurer.

Nytt mappings avsnitt

I avsnittet mappings under varje entitydefinieras mappningarna mellan databasobjektfältnamnen och deras motsvarande exponerade fältnamn för både GraphQL- och REST-slutpunkter.

Formatet är:

<database_field>: <entity_field>

Exempel:

  "mappings":{
    "title": "descriptions",
    "completed": "done"
  }

Fältet title i det relaterade databasobjektet mappas till description fältet i GraphQL-typen eller i REST-begäran och svarsnyttolasten.

Stöd för sessionskontext i Azure SQL

För att aktivera ett extra säkerhetslager (till exempel säkerhet på radnivå (RLS)) har DAB nu stöd för att skicka data till den underliggande Sql Server-databasen via SESSION_CONTEXT. Mer information finns i det här detaljerade dokumentet om SESSION_CONTEXT: Körning till databasauktorisering.

Stöd för filter på kapslade objekt i ett dokument i PostgreSQL

Med PostgreSQL kan du nu använda objektet eller matrisrelationen som definierats i schemat, vilket gör det möjligt att utföra filteråtgärder på kapslade objekt precis som Azure SQL.

query {
  books(filter: { series: { name: { eq: "Foundation" } } }) {
    items {
      title
      year
      pages
    }
  }
}

Stöd för skalär lista i Cosmos DB NoSQL

Möjligheten att fråga List efter Scalars har nu lagts till för Cosmos DB.

Överväg den här typdefinitionen.

type Planet @model(name:"Planet") {
    id : ID,
    name : String,
    dimension : String,
    stars: [Star]
    tags: [String!]
}

Nu går det att köra en fråga som hämtar en lista, till exempel

query ($id: ID, $partitionKeyValue: String) {
    planet_by_pk (id: $id, _partitionKeyValue: $partitionKeyValue) {
        tags
    }
}

Förbättrat loggningsstöd med hjälp av loggnivå

  • Standardloggnivåerna för motorn när host.mode är Production och Development uppdateras till Error respektive Debug .
  • Under motorns start loggas information som exponerade fältnamn och primärnyckel för varje kolumn i en entitet. Det här beteendet inträffar även om fältmappningen genereras automatiskt.
  • I det lokala körningsscenariot loggas alla frågor som genereras och körs under motorstarten på Debug nivån.
  • För varje entitet loggas relationsfält som source.fields, target.fieldsoch cardinality . Om det finns många-många-relationer loggas , linking.objectlinking.source.fieldsoch linking.target.fields härleds från databasen (eller från konfigurationsfilen).
  • För varje inkommande begäran loggas rollen och autentiseringsstatusen för begäran.
  • I CLI Microsoft.DataAPIBuilder loggas versionen tillsammans med loggarna som är associerade med respektive kommandos körning.

Uppdaterad CLI

  • --no-https-redirect -alternativet läggs till start i kommandot . Med det här alternativet kan automatisk omdirigering av begäranden från http till https förhindras.

  • I MsSql kan sessionskontext aktiveras med hjälp av --set-session-context true i init kommandot . Ett exempelkommando visas i det här exemplet:

    dab init --database-type mssql --connection-string "Connection String" --set-session-context true
    
  • Autentiseringsinformation som provider, målgrupp och utfärdare kan konfigureras med hjälp av alternativen --auth.provider, --auth.audienceoch --auth.issuer. i init kommandot . Ett exempelkommando visas i det här exemplet:

    dab init --database-type mssql --auth.provider AzureAD --auth.audience "audience" --auth.issuer "issuer"
    
  • Användarvänliga felmeddelanden när entitetsnamnet inte har angetts.

Nyheter i version 0.4.11

Den fullständiga listan med viktig information för den här versionen finns på GitHub: https://github.com/Azure/data-api-builder/releases/tag/v0.4.11-alpha.

JSON-schemat för data-source avsnittet har uppdaterats

Avsnittet data-source i konfigurationsfilen uppdateras så att det är konsekvent i alla databaser som stöds, men tillåter fortfarande att varje databas har anpassade konfigurationer. Ett nytt avsnitt options introduceras för att gruppera alla egenskaper som är specifika för en databas. Exempel:

{
  "$schema": "https://dataapibuilder.azureedge.net/schemas/v0.4.11-alpha/dab.draft.schema.json",
  "data-source": {
    "database-type": "cosmosdb_nosql",
    "options": {
      "database": "PlaygroundDB",
      "graphql-schema": "schema.gql"
    },
    "connection-string": "AccountEndpoint=https://localhost:8081/;AccountKey=REPLACEME;"
  }
}

De element som är tillgängliga i options avsnittet beror på de valda database-type.

Stöd för filtrering av kapslade objekt i ett dokument i Azure SQL och SQL Server

Med Azure SQL och SQL Server kan du använda objektet eller matrisrelationen som definierats i schemat, vilket gör det möjligt att utföra filteråtgärder på de kapslade objekten.

query {
  books(filter: { series: { name: { eq: "Foundation" } } }) {
    items {
      title
      year
      pages
    }
  }
}

Förbättrat stöd för lagrad procedur

Fullständigt stöd för lagrade procedurer i REST och GraphQL. Lagrad procedur med parametrar som nu stöds till 100 %. Läs dokumentationen om lagrade procedurer för att lära dig hur du använder data-API-byggare med lagrade procedurer.

Nytt database-type värde har bytt namn för Cosmos DB

Vi har lagt till stöd för PostgreSQL API med Cosmos DB. Med ett konsoliderat data-source avsnitt anger attributet database-type typen av databas. Eftersom Cosmos DB stöder flera API:er är cosmosdb_nosql de databastyper som stöds för närvarande och cosmosdb_postgresql.

  "data-source": {
    "database-type": "cosmosdb_nosql",
    "options": {
      "database": "PlaygroundDB",
      "graphql-schema": "schema.gql"
    }
  }

Byta namn på CLI-egenskaper för cosmosdb_nosql

Efter konfigurationsändringarna som beskrivs i föregående avsnitt har CLI-egenskaperna nu bytt namn som cosmosdb_nosql-database och cosmosdb_nosql-container för Cosmos DB NoSQL API.

dab init --database-type "cosmosdb_nosql" --graphql-schema schema.gql --cosmosdb_nosql-database PlaygroundDB  --cosmosdb_nosql-container "books" --connection-string "AccountEndpoint=https://localhost:8081/;AccountKey=REPLACEME;" --host-mode "Development"

Hanterad identitet stöds nu med Postgres

Nu kan användaren alternativt ange åtkomsttoken i konfigurationen för att autentisera med en hanterad identitet. Alternativt kan användaren inte ange lösenordet i anslutningssträngen och körningen försöker hämta standardtoken för hanterad identitet. Om detta misslyckas görs ett anslutningsförsök utan lösenord i anslutningssträngen.

Stöd för Microsoft Entra ID-användarautentisering för Azure MySQL

Användartoken har lagts till som lösenordsfält för att autentisera med MySQL med plugin-programmet Microsoft Entra ID.

Nyheter i version 0.3.7

Den fullständiga listan med viktig information för den här versionen finns på GitHub: https://github.com/Azure/data-api-builder/releases/tag/v0.3.7-alpha.

Visa support

Vyer stöds nu både i REST och GraphQL. Om du har en vy kan den till exempel dbo.vw_books_details exponeras med hjälp av följande dab kommando:

dab add BookDetail --source dbo.vw_books_details --source.type View --source.key-fields "id" --permissions "anonymous:read"

Alternativet source.key-fields används för att ange vilka fält från vyn som används för att unikt identifiera ett objekt, så att navigering med primärnyckel kan implementeras även för vyer. Det är utvecklarens ansvar att konfigurera DAB för att aktivera eller inaktivera åtgärder (till exempel create åtgärden) beroende på om vyn är uppdateringsbar eller inte.

Stöd för lagrade procedurer

Lagrade procedurer stöds nu för REST-begäranden. Om du har en lagrad procedur kan den till exempel dbo.stp_get_all_cowritten_books_by_author exponeras med hjälp av följande dab kommando:

dab add GetCowrittenBooksByAuthor --source dbo.stp_get_all_cowritten_books_by_author --source.type "stored-procedure" --permissions "anonymous:read" --rest true

Parametern kan skickas i URL-frågesträngen när du anropar REST-slutpunkten:

http://<dab-server>/api/GetCowrittenBooksByAuthor?author=isaac%20asimov

Anteckning

Det är utvecklarens ansvar att konfigurera DAB för att aktivera eller inaktivera åtgärder (till exempel create åtgärden) för att tillåta eller neka specifika HTTP-verb när den lagrade proceduren anropas. För till exempel den lagrade proceduren som används i exemplet, med tanke på att dess syfte är att returnera vissa data, skulle det vara meningsfullt att endast tillåta read åtgärden.

Microsoft Entra ID-autentisering

Microsoft Entra ID-autentisering fungerar nu fullt ut. Mer information finns i autentisering med Microsoft Entra-ID.

Ny simulatorautentiseringsprovider för lokal autentisering

För att förenkla testningen av autentiserade begäranden när du utvecklar lokalt är en ny simulator autentiseringsprovider tillgänglig. Providern simulator är en konfigurerbar autentiseringsprovider som instruerar data-API-byggarmotorn att behandla alla begäranden som autentiserade. Mer information finns här: Lokal autentisering

Stöd för filter på kapslade objekt i ett dokument i Azure Cosmos DB

Med Azure Cosmos DB kan du använda objektet eller matrisrelationen som definierats i schemat, vilket gör det möjligt att utföra filteråtgärder på kapslade objekt.

query {
  books(first: 1, filter : { author : { profile : { twitter : {eq : ""@founder""}}}})
    id
    name
  }
}