Kommandoradsgränssnittsreferens för Data API Builder
Kommandoradsgränssnittet för Data API Builder (CLI) (dab CLI eller dab
) är ett kommandoradsverktyg som effektiviserar den lokala utvecklingsupplevelsen för program med hjälp av Data API Builder.
Dricks
Data API Builder CLI levereras med ett integrerat hjälpsystem. Om du vill hämta en lista över vilka kommandon som är tillgängliga använder du alternativet --help
i kommandot dab
.
dab --help
Om du vill få hjälp med ett specifikt kommando använder du alternativet --help
. Om du till exempel vill veta mer om kommandot init
:
dab init --help
Kommandoradsverb och alternativ
init
Initierar körningskonfigurationen för Data API Builder-körningsmotorn. Den skapar en ny JSON-fil med de egenskaper som anges som alternativ.
Syntax
dab init [options]
Exempel
dab init --config "dab-config.mssql.json" --database-type mssql --connection-string "@env('SQL_CONNECTION_STRING')"
dab init --database-type mysql --connection-string "@env('MYSQL_CONNECTION_STRING')" --graphql.multiple-create.enabled true
Alternativ
Alternativ | Alternativ krävs | Standardvärde | Värde krävs | Värdetyp | Beskrivning |
---|---|---|---|---|---|
--database-type | ✔️ Ja | ✔️ Ja | sträng | Typ av databas som ska anslutas. Värden som stöds: mssql , cosmosdb_nosql , cosmosdb_postgresql , mysql , postgresql . |
|
--connection-string | ❌ Nej | "" |
✔️ Ja | sträng | Anslutningsinformation för att ansluta till databasen. |
--cosmosdb_nosql-database | ✔️ Ja ¹ | ✔️ Ja | sträng | Databasnamn för Cosmos DB för NoSql. | |
--cosmosdb_nosql-container | ❌ Nej | ✔️ Ja | sträng | Containernamn för Cosmos DB för NoSql. | |
--graphql-schema | ✔️ Ja ¹ | ✔️ Ja | sträng | GraphQL-schemasökväg | |
--set-session-context | ❌ Nej | false |
❌ Nej | Aktivera sändning av data till MsSql med hjälp av sessionskontext. | |
--host-mode | ❌ Nej | production |
✔️ Ja | sträng | Ange värdläge – utveckling eller produktion |
--cors-origin | ❌ Nej | "" |
✔️ Ja | sträng | Ange listan över tillåtna ursprung. |
--auth.provider | ❌ Nej | StaticWebApps |
✔️ Ja | sträng | Ange identitetsprovidern. |
--rest.path | ❌ Nej | /api |
✔️ Ja | sträng | Ange REST-slutpunktens prefix. |
--rest.enabled | ❌ Nej | true |
✔️ Ja | boolesk | Aktiverar REST-slutpunkt för alla entiteter. |
--rest.request-body-strict | ❌ Nej | true |
✔️ Ja | Tillåter inte överflödiga fält i begärandetexten. | |
--graphql.path | ❌ Nej | /graphql |
✔️ Ja | sträng | Ange GraphQL-slutpunktens prefix. |
--graphql.enabled | ❌ Nej | true |
✔️ Ja | boolesk | Aktiverar GraphQL-slutpunkt för alla entiteter. |
--graphql.multiple-create.enabled | ❌ Nej | false |
✔️ Ja | Aktiverar flera funktioner för att skapa i GraphQL. | |
--auth.audience | ❌ Nej | ✔️ Ja | sträng | Identifierar de mottagare som JSON-webbtoken (JWT) är avsedd för. | |
--auth.issuer | ❌ Nej | ✔️ Ja | sträng | Ange den part som utfärdade JWT-token. | |
-c,--config | ❌ Nej | dab-config.json |
✔️ Ja | sträng | Sökväg till konfigurationsfilen. |
¹ Det här alternativet krävs bara när --database-type
är inställt på cosmosdb_nosql
.
add
Lägg till en ny databasentitet i konfigurationsfilen. Kontrollera att du redan har en konfigurationsfil innan du kör det här kommandot, annars returneras ett fel.
Syntax
dab add [entity-name] [options]
Exempel
dab add Book -c "dab-config.MsSql.json" --source dbo.books --permissions "anonymous:*"
Alternativ
Alternativ | Alternativ krävs | Standardvärde | Värde krävs | Värdetyp | Beskrivning |
---|---|---|---|---|---|
-s,--källa | ✔️ Ja | ✔️ Ja | sträng | Namnet på källtabellen eller containern. | |
–-permissions | ✔️ Ja | ✔️ Ja | sträng | Behörigheter som krävs för att komma åt källtabellen eller containern. Format: [role]:[actions] . |
|
--source.type | ❌ Nej | table |
✔️ Ja | sträng | Typ av databasobjekt. Värden som stöds: table , view , stored-procedure . |
--source.params | ❌ Nej | ✔️ Ja, om proc har params | sträng | En ordlista med lagrade procedurparametrar och deras datatyper. Datatyper som stöds är string , number och boolean . Parametrar anges i formatet: paramName:type . Till exempel: --source.params "id:number,isActive:boolean,name:string" . |
|
--source.key fält | ✔️ Ja ¹ | ✔️ Ja | sträng | Ett eller flera fält som endast ska användas som primärnycklar för tabeller och vyer. Kommaavgränsade värden. Exempel --source.key-fields "id,name,type" . |
|
--rest | ❌ Nej | skiftlägeskänsligt entitetsnamn | ✔️ Ja | sträng | Väg för REST API. Exempel: --rest: false –> Inaktiverar REST API-anrop för den här entiteten.
--rest: true –> Entitetsnamn blir vilosökvägen.
--rest: "customPathName" –> Provided customPathName blir REST-sökvägen. |
--rest.methods | ❌ Nej | post |
✔️ Ja | sträng | HTTP-åtgärder som ska stödjas för lagrad procedur. Ange åtgärderna som en kommaavgränsad lista. Giltiga HTTP-åtgärder är:[get, post, put, patch, delete]. |
--graphql | ❌ Nej | skiftlägeskänsligt entitetsnamn | ✔️ Ja | Bool/Sträng | Entitetstyp som exponeras för GraphQL. Exempel: --graphql: false –> inaktiverar graphql-anrop för den här entiteten.
--graphql: true –> Exponerar entiteten för GraphQL med standardnamn. Entitetsnamnets singularform beaktas för fråge- och mutationsnamnen.
--graphql: "customQueryName" –> anger explicit singularvärdet medan DAB pluraliserar det angivna värdet för frågor och mutationer.
--graphql: "singularName:pluralName" –> Anger både singularvärden och pluralvärden (avgränsade med ett kolon : ) som används för frågor och mutationer. |
--graphql.operation | ❌ Nej | mutation |
✔️ Ja | sträng | GraphQL-åtgärd som ska stödjas för lagrad procedur. Värden som stöds: query , mutation . |
--fields.include | ❌ Nej | ✔️ Ja | sträng | Fält med behörighet att komma åt. | |
--fields.exclude | ❌ Nej | ✔️ Ja | sträng | Fält som undantas från åtgärdslistorna. | |
--policy-database | ❌ Nej | ✔️ Ja | sträng | Ange en filterregel för OData-format som matas in i frågan som skickas till databasen. | |
-c,--config | ❌ Nej | dab-config.json |
✔️ Ja | sträng | Sökväg till konfigurationsfilen. |
¹ Det här alternativet krävs bara när --source.type
är inställt på view
.
update
Uppdatera egenskaperna för en databasentitet i konfigurationsfilen.
Not
dab update
stöder alla alternativ som stöds av dab add
. Dessutom har den även stöd för de listade alternativen.
Syntax
dab update [entity-name] [options]
Exempel
dab update Publisher --permissions "authenticated:*"
Alternativ
Alternativ | Alternativ krävs | Standardvärde | Värde krävs | Värdetyp | Beskrivning |
---|---|---|---|---|---|
--relationship | ❌ Nej | ✔️ Ja | sträng | Ange relationen mellan två entiteter. Ange namnet på relationen. | |
- kardinalitet | ✔️ Ja ¹ | ✔️ Ja | sträng | Ange kardinalitet mellan två entiteter. Kan vara en eller många. | |
--target.entity | ✔️ Ja ¹ | ✔️ Ja | sträng | En annan exponerad entitet som källentiteten relaterar till. | |
--linking.object | ❌ Nej | ✔️ Ja | sträng | Databasobjekt som används för att stödja en M:N-relation. | |
--linking.source.fields | ❌ Nej | ✔️ Ja | sträng | Databasfält i länkobjektet för att ansluta till det relaterade objektet i källentiteten. Kommaavgränsade fält. | |
--linking.target.fields | ❌ Nej | ✔️ Ja | sträng | Databasfält i länkobjektet för att ansluta till det relaterade objektet i målentiteten. Kommaavgränsade fält. | |
--relationship.fields | ❌ Nej | ✔️ Ja | sträng | Ange fält som ska användas för att mappa entiteterna. Exempel: --relationship.fields "id:book_id" . Här representerar id kolumnen från sourceEntity, medan book_id från targetEntity. Sekundärnycklar krävs mellan de underliggande källorna om de inte anges. |
|
-m,--map | ❌ Nej | ✔️ Ja | sträng | Ange mappningar mellan databasfält och GraphQL- och REST-fält. Format: --map "backendName1:exposedName1, backendName2:exposedName2,..." . |
¹ Det här alternativet krävs endast när alternativet --relationship
används.
export
Exportera det obligatoriska schemat som en fil och spara på disk baserat på alternativen.
Syntax
dab export [options]
Exempel
dab export --graphql -o ./schemas
Alternativ
Alternativ | Alternativ krävs | Standardvärde | Värde krävs | Värdetyp | Beskrivning |
---|---|---|---|---|---|
--graphql | ❌ Nej | false |
❌ Nej | Exportera GraphQL-schema. | |
-o,--utflöde | ✔️ Ja | ✔️ Ja | sträng | Ange katalogen för att spara schemafilen. | |
-g,--graphql-schema-file | ❌ Nej | schema.graphql |
✔️ Ja | sträng | Ange namnet på Graphql-schemafilen. |
-c,--config | ❌ Nej | dab-config.json |
✔️ Ja | sträng | Sökväg till konfigurationsfilen. |
start
Starta körningsmotorn med den angivna konfigurationsfilen för att hantera REST- och GraphQL-begäranden.
Syntax
dab start [options]
Exempel
dab start
Alternativ
Alternativ | Alternativ krävs | Standardvärde | Värde krävs | Värdetyp | Beskrivning |
---|---|---|---|---|---|
--utförlig | ❌ Nej | ❌ Nej | Ange loggningsnivå som information. | ||
--LogLevel | ❌ Nej |
Debug när hostMode=development , annars Error när HostMode=Production |
✔️ Ja | sträng | Ange loggningsnivå som angivet värde. exempel: felsökning, fel, information osv. |
--no-https-redirect | ❌ Nej | ✔️ Ja | - | Inaktiverar automatiska https-omdirigeringar. | |
-c,--config | ❌ Nej | dab-config.json |
✔️ Ja | sträng | Sökväg till konfigurationsfilen. |
Not
Du kan inte använda --verbose
och --LogLevel
på samma gång. Mer information om olika loggningsnivåer finns i .NET-loggnivåer.
validate
Verifierar körningskonfigurationsfilen som används av Data API Builder-körningsmotorn. Valideringsprocessen säkerställer att konfigurationsfilen är kompatibel med schemat och innehåller all nödvändig information för att körningsmotorn ska fungera korrekt.
Syntax
dab validate [options]
Exempel
dab validate
Alternativ
Alternativ | Alternativ krävs | Standardvärde | Värde krävs | Värdetyp | Beskrivning |
---|---|---|---|---|---|
-c,--config | ❌ Nej | dab-config.json |
✔️ Ja | sträng | Sökväg till konfigurationsfilen som är målet för valideringen. |
configure
Kommandot dab configure
är utformat för att förenkla uppdatering av konfigurationsegenskaper utanför avsnittet entiteter. Det här dokumentet beskriver design, funktioner och implementeringsinformation för dab configure-kommandot. Det stöder redigering av CLI för konfigurationsegenskaper i datakällan och körningsavsnitten i körningskonfigurationen.
Not
dab configure
är endast till för att uppdatera datakällan och körningsavsnitten i konfigurationen. I avsnittet entiteter har vi redan kommandot dab update.
Syntax
dab configure [options] [value]
Exempel
dab configure --runtime.rest.enabled true
Alternativ
Egenskap för konfigurationsfil | CLI-flagga | Datatyp | Nullbar | Beskrivning |
---|---|---|---|---|
datakälla. databastyp |
|
Sträng: MSSQL , PostgreSQL , CosmosDB_NoSQL , MySQL |
❌ | Det här värdet anger databastypen. |
datakälla. anslutningssträng |
|
Sträng | ❌ | Refererar till datakällans anslutningssträng. |
datakälla. options.database |
|
Sträng | ✅ | Refererar till databasnamnet för Cosmos DB för NoSql. |
datakälla. options.container |
|
Sträng | ✅ | Refererar till containernamnet för Cosmos DB för NoSql. |
datakälla. options.schema |
|
Sträng | ✅ | Innehåller schemasökvägen för Cosmos DB för NoSql. |
datakälla. options.set-session-context |
|
Boolesk: true , false (standard: true ) |
✅ | Om sessionskontext ska aktiveras. |
Runtime. rest.enabled |
|
Boolesk: true , false (standard: true ) |
❌ | Anger om DAB:s REST-slutpunkt ska aktiveras. |
Runtime. rest.path |
|
Sträng (standard: /api ) |
❌ | Anpassa DAB:s REST-slutpunktssökväg. Villkor: Prefix med '/', inga blanksteg och inga reserverade tecken. |
Runtime. rest.request-body-strict |
|
Boolesk: true , false (standard: true ) |
✅ | Tillåter/förbjuder överflödiga REST-begärandetextfält. |
Runtime. graphql.enabled |
|
Boolesk: true , false (standard: true ) |
❌ | Aktivera/inaktivera DAB:s GraphQL-slutpunkt. |
Runtime. graphql.path |
|
Sträng (standard: /graphql ) |
❌ | Anpassa DAB:s GraphQL-slutpunktssökväg. Villkor: Prefix med '/', inga blanksteg och inga reserverade tecken. |
Runtime. graphql.depth-limit |
|
Heltal | ✅ | Detta refererar till det maximala tillåtna djupet för den kapslade graphQL-frågan. Tillåtna värden: (0,2147483647] inklusive. Standardvärdet är oändligt. Använd -1 för att ta bort gränsen. |
Runtime. graphql.allow-introspection |
|
Boolesk: true , false (standard: true ) |
✅ | Tillåt/neka GraphQL-introspektionsbegäranden i GraphQL-schema. |
Runtime. graphql.multiple-mutations.create.enabled |
|
Boolesk: true , false (standard: true ) |
✅ | Aktivera/inaktivera åtgärder för att skapa flera mutationer i DAB:s genererade GraphQL-schema. |
Runtime. host.mode |
|
Sträng: Development , Production Standard: Development |
❌ | Ange värdkörningsläget för DAB i Utveckling eller Produktion. |
Runtime. host.cors.origins |
|
Matris med strängar | ✅ | Använd detta för att skriva över tillåtna ursprung i CORS. Standard: [] (Blankstegsavgränsad matris med strängar). |
Runtime. host.cors.allow-credentials |
|
Boolesk: true , false (standard: false ) |
✅ | Ange värdet för Access-Control Allow-Credentials rubrik i --host.cors.allow-credentials . |
Runtime. host.authentication.provider |
|
Sträng: StaticWebApps , AppService , AzureAD , Jwt |
✅ | Konfigurera namnet på autentiseringsprovidern. Standard: StaticWebApps . |
Runtime. host.authentication.jwt.audience |
|
Matris med strängar | ✅ | Använd detta för att konfigurera avsedda mottagare av Jwt-token. |
Runtime. host.authentication.jwt.issuer |
|
Sträng | ✅ | Detta refererar till entiteten som utfärdade Jwt-token. |
Runtime. cache.enabled |
|
Boolesk: true , false (standard: false ) |
✅ | Aktivera/inaktivera DAB:s cache globalt. (Du måste också aktivera varje entitets cacheminne separat.). |
Runtime. cache.ttl-seconds |
|
Heltal (standard: 5 ) |
✅ | Anpassa DAB-cachens globala standardtid till live i sekunder. |