Delen via


Naslaginformatie over de opdrachtregelinterface van Data API Builder

De Opdrachtregelinterface (CLI) (dab CLI of dab) van Data API Builder is een opdrachtregelprogramma waarmee de lokale ontwikkelervaring voor toepassingen wordt gestroomlijnd met behulp van Data API Builder.

Fooi

De Data API Builder CLI wordt geleverd met een geïntegreerd Help-systeem. Gebruik de optie --help in de opdracht dab om een lijst op te halen met de beschikbare opdrachten.

dab --help

Gebruik de optie --help om hulp te krijgen bij een specifieke opdracht. Voor meer informatie over de opdracht init:

dab init --help

Opdrachtregelwerkwoorden en -opties

init

Initialiseert de runtimeconfiguratie voor de Data API Builder-runtime-engine. Er wordt een nieuw JSON-bestand gemaakt met de eigenschappen die zijn opgegeven als opties.

Syntaxis

dab init [options]

Voorbeelden

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

Opties

Opties Optie vereist Standaardwaarde Waarde vereist Waardetype Beschrijving
--databasetype ✔️ Ja ✔️ Ja snaar Type database om verbinding te maken. Ondersteunde waarden: mssql, cosmosdb_nosql, cosmosdb_postgresql, mysql, postgresql.
--connection-string ❌ Nee "" ✔️ Ja snaar Verbindingsgegevens om verbinding te maken met de database.
--cosmosdb_nosql-database- ✔️ Ja ¹ ✔️ Ja snaar Databasenaam voor Cosmos DB for NoSql.
--cosmosdb_nosql-container ❌ Nee ✔️ Ja snaar Containernaam voor Cosmos DB voor NoSql.
--graphql-schema ✔️ Ja ¹ ✔️ Ja snaar GraphQL-schemapad
--set-session-context ❌ Nee false ❌ Nee Schakel het verzenden van gegevens naar MsSql in met behulp van sessiecontext.
--hostmodus ❌ Nee production ✔️ Ja snaar De hostmodus opgeven - ontwikkeling of productie
--cors-origin ❌ Nee "" ✔️ Ja snaar Geef de lijst met toegestane oorsprongen op.
--auth.provider ❌ Nee StaticWebApps ✔️ Ja snaar Geef de id-provider op.
--rest.path ❌ Nee /api ✔️ Ja snaar Geef het voorvoegsel van het REST-eindpunt op.
--rest.enabled ❌ Nee true ✔️ Ja booleaans Hiermee schakelt u REST-eindpunt in voor alle entiteiten.
--rest.request-request-body-strict ❌ Nee true ✔️ Ja Staat geen overbodige velden toe in de aanvraagbody.
--graphql.path ❌ Nee /graphql ✔️ Ja snaar Geef het voorvoegsel van het GraphQL-eindpunt op.
--graphql.enabled ❌ Nee true ✔️ Ja booleaans Hiermee schakelt u Het GraphQL-eindpunt in voor alle entiteiten.
--graphql.multiple-create.enabled ❌ Nee false ✔️ Ja Hiermee schakelt u meerdere functionaliteit voor maken in GraphQL in.
--auth.audience ❌ Nee ✔️ Ja snaar Identificeert de geadresseerden waarvoor het Json Web Token (JWT) is bedoeld.
--auth.issuer ❌ Nee ✔️ Ja snaar Geef de partij op die het JWT-token heeft uitgegeven.
-c,--config ❌ Nee dab-config.json ✔️ Ja snaar Pad naar configuratiebestand.

¹ Deze optie is alleen vereist wanneer --database-type is ingesteld op cosmosdb_nosql.

add

Voeg een nieuwe database-entiteit toe aan het configuratiebestand. Zorg ervoor dat u al een configuratiebestand hebt voordat u deze opdracht uitvoert, anders wordt er een fout geretourneerd.

Syntaxis

dab add [entity-name] [options]

Voorbeelden

dab add Book -c "dab-config.MsSql.json" --source dbo.books --permissions "anonymous:*"

Opties

Opties Optie vereist Standaardwaarde Waarde vereist Waardetype Beschrijving
-s,--source- ✔️ Ja ✔️ Ja snaar Naam van de brontabel of container.
--permissions ✔️ Ja ✔️ Ja snaar Vereiste machtigingen voor toegang tot de brontabel of container. Indeling: [role]:[actions].
--source.type ❌ Nee table ✔️ Ja snaar Type van het databaseobject. Ondersteunde waarden: table, view, stored-procedure.
--source.params ❌ Nee ✔️ Ja, als proc parameters heeft snaar Een woordenlijst met opgeslagen procedureparameters en de bijbehorende gegevenstypen. Ondersteunde gegevenstypen zijn string, numberen boolean. Parameters worden opgegeven in de notatie: paramName:type. Bijvoorbeeld: --source.params "id:number,isActive:boolean,name:string".
--source.key-velden ✔️ Ja ¹ ✔️ Ja snaar Een of meer velden die alleen als primaire sleutels voor tabellen en weergaven moeten worden gebruikt. Door komma's gescheiden waarden. Voorbeeld --source.key-fields "id,name,type".
--rest ❌ Nee naam van hoofdlettergevoelige entiteit ✔️ Ja snaar Route voor REST API. Voorbeelden: --rest: false -> schakelt REST API-aanroepen voor deze entiteit uit. --rest: true :> entiteitsnaam wordt het restpad. --rest: "customPathName"-> CustomPathName wordt het REST-pad.
--rest.methods ❌ Nee post ✔️ Ja snaar HTTP-acties die moeten worden ondersteund voor opgeslagen procedures. Geef de acties op als een door komma's gescheiden lijst. Geldige HTTP-acties zijn:[get, post, put, patch, delete].
--graphql- ❌ Nee naam van hoofdlettergevoelige entiteit ✔️ Ja Bool/tekenreeks Entiteitstype weergegeven voor GraphQL. Voorbeelden: --graphql: false -> schakelt graphql-aanroepen voor deze entiteit uit. --graphql: true :> geeft de entiteit voor GraphQL weer met standaardnamen. De enkelvoudige vorm van de entiteitsnaam wordt overwogen voor de namen van query's en mutaties. --graphql: "customQueryName" -> Stelt expliciet de enkelvoudige waarde in, terwijl DAB de opgegeven waarde voor query's en mutaties pluraliseert. --graphql: "singularName:pluralName" -> Stelt zowel de enkelvoudige als de meervoudwaarden (gescheiden door een dubbele punt :) in die worden gebruikt voor query's en mutaties.
--graphql.operation ❌ Nee mutation ✔️ Ja snaar GraphQL-bewerking die moet worden ondersteund voor opgeslagen procedures. Ondersteunde waarden: query, mutation.
--fields.include ❌ Nee ✔️ Ja snaar Velden met toegangsmachtigingen.
--fields.exclude ❌ Nee ✔️ Ja snaar Velden die zijn uitgesloten van de actielijsten.
--policy-database- ❌ Nee ✔️ Ja snaar Geef een OData-filterregel op die wordt geïnjecteerd in de query die naar de database wordt verzonden.
-c,--config ❌ Nee dab-config.json ✔️ Ja snaar Pad naar configuratiebestand.

¹ Deze optie is alleen vereist wanneer --source.type is ingesteld op view.

update

Werk de eigenschappen van een database-entiteit in het configuratiebestand bij.

Notitie

dab update ondersteunt alle opties die worden ondersteund door dab add. Daarnaast biedt het ook ondersteuning voor de vermelde opties.

Syntaxis

dab update [entity-name] [options]

Voorbeelden

dab update Publisher --permissions "authenticated:*"

Opties

Opties Optie vereist Standaardwaarde Waarde vereist Waardetype Beschrijving
--relationship ❌ Nee ✔️ Ja snaar Geef de relatie tussen twee entiteiten op. Geef de naam van de relatie op.
--kardinaliteit ✔️ Ja ¹ ✔️ Ja snaar Geef de kardinaliteit tussen twee entiteiten op. Kan een of meer zijn.
--target.entity ✔️ Ja ¹ ✔️ Ja snaar Een andere weergegeven entiteit waarmee de bronentiteit is verbonden.
--linking.object ❌ Nee ✔️ Ja snaar Databaseobject dat wordt gebruikt ter ondersteuning van een M:N-relatie.
--linking.source.fields ❌ Nee ✔️ Ja snaar Databasevelden in het koppelingsobject om verbinding te maken met het gerelateerde item in de bronentiteit. Door komma's gescheiden velden.
--linking.target.fields ❌ Nee ✔️ Ja snaar Databasevelden in het koppelingsobject om verbinding te maken met het gerelateerde item in de doelentiteit. Door komma's gescheiden velden.
--relationship.fields ❌ Nee ✔️ Ja snaar Geef velden op die moeten worden gebruikt voor het toewijzen van de entiteiten. Voorbeeld: --relationship.fields "id:book_id". Hier vertegenwoordigt id kolom uit sourceEntity, terwijl book_id van targetEntity. Refererende sleutels zijn vereist tussen de onderliggende bronnen als deze niet zijn opgegeven.
-m,--map ❌ Nee ✔️ Ja snaar Geef toewijzingen op tussen databasevelden en GraphQL- en REST-velden. Indeling: --map "backendName1:exposedName1, backendName2:exposedName2,...".

¹ Deze optie is alleen vereist wanneer de --relationship optie wordt gebruikt.

export

Exporteer het vereiste schema als een bestand en sla het op schijf op op basis van de opties.

Syntaxis

dab export [options]

Voorbeelden

dab export --graphql -o ./schemas

Opties

Opties Optie vereist Standaardwaarde Waarde vereist Waardetype Beschrijving
--graphql- ❌ Nee false ❌ Nee GraphQL-schema exporteren.
-o,--output ✔️ Ja ✔️ Ja snaar Geef de map op om het schemabestand op te slaan.
-g,--graphql-schema-file ❌ Nee schema.graphql ✔️ Ja snaar Geef de naam op van het Graphql-schemabestand.
-c,--config ❌ Nee dab-config.json ✔️ Ja snaar Pad naar configuratiebestand.

start

Start de runtime-engine met het opgegeven configuratiebestand voor het verwerken van REST- en GraphQL-aanvragen.

Syntaxis

dab start [options]

Voorbeelden

dab start

Opties

Opties Optie vereist Standaardwaarde Waarde vereist Waardetype Beschrijving
-uitgebreide ❌ Nee ❌ Nee Geef logboekregistratieniveau op als informatief.
--LogLevel ❌ Nee Debug wanneer hostMode=development, anders Error wanneer HostMode=Production ✔️ Ja snaar Geef logboekregistratieniveau op als opgegeven waarde. voorbeeld: foutopsporing, fout, informatie, enzovoort.
--no-https-redirect ❌ Nee ✔️ Ja - Hiermee schakelt u automatische https-omleidingen uit.
-c,--config ❌ Nee dab-config.json ✔️ Ja snaar Pad naar configuratiebestand.

Notitie

U kunt --verbose en --LogLevel niet tegelijkertijd gebruiken. Zie .NET-logboekniveausvoor meer informatie over verschillende logboekniveaus.

validate

Valideert het runtimeconfiguratiebestand dat wordt gebruikt door de Data API Builder-runtime-engine. Het validatieproces zorgt ervoor dat het configuratiebestand compatibel is met het schema en alle vereiste informatie bevat die nodig is om de runtime-engine correct te laten functioneren.

Syntaxis

dab validate [options]

Voorbeelden

dab validate

Opties

Opties Optie vereist Standaardwaarde Waarde vereist Waardetype Beschrijving
-c,--config ❌ Nee dab-config.json ✔️ Ja snaar Pad naar het configuratiebestand dat het doel van de validatie is.

configure

De opdracht dab configure is ontworpen om het bijwerken van configuratie-eigenschappen buiten de sectie entiteiten te vereenvoudigen. Dit document bevat een overzicht van de ontwerp-, functionaliteits- en implementatiedetails van de dab-opdracht configureren. Het biedt ondersteuning voor het bewerken van de CLI voor configuratie-eigenschappen in gegevensbron- en runtimesecties van de runtimeconfiguratie.

Notitie

dab configure is alleen bedoeld voor het bijwerken van de gegevensbron- en runtimesecties van de configuratie. Voor de sectie entiteiten hebben we al de opdracht dab-update.

Syntaxis

dab configure [options] [value]

Voorbeelden

dab configure --runtime.rest.enabled true

Opties

Eigenschap configuratiebestand CLI-vlag Gegevenstype Null-waarde Beschrijving
gegevensbron.
databasetype
--data-source.database-type Tekenreeks: MSSQL, PostgreSQL, CosmosDB_NoSQL, MySQL Deze waarde geeft het databasetype aan.
gegevensbron.
verbindingsreeks
--data-source.connection-string Snaar Verwijst naar de verbindingsreeks voor de gegevensbron.
gegevensbron.
options.database
--data-source.options.database Snaar Verwijst naar de databasenaam voor Cosmos DB for NoSql.
gegevensbron.
options.container
--data-source.options.container Snaar Verwijst naar de containernaam voor Cosmos DB for NoSql.
gegevensbron.
options.schema
--data-source.options.schema Snaar Biedt het schemapad voor Cosmos DB voor NoSql.
gegevensbron.
options.set-session-context
--data-source.options.set-session-context Booleaanse waarde: true, false (standaard: true) Of u sessiecontext wilt inschakelen.
Runtime.
rest.enabled
--runtime.rest.enabled Booleaanse waarde: true, false (standaard: true) Hiermee wordt aangegeven of het REST-eindpunt van DAB moet worden ingeschakeld.
Runtime.
rest.path
--runtime.rest.path Tekenreeks (standaard: /api) Pas het REST-eindpuntpad van DAB aan. Voorwaarden: Voorvoegsel met '/', geen spaties en geen gereserveerde tekens.
Runtime.
rest.request-body-strict
--runtime.rest.request-body-strict Booleaanse waarde: true, false (standaard: true) Hiermee worden overbodige REST-aanvraagtekstvelden toegestaan/verboden.
Runtime.
graphql.enabled
--runtime.graphql.enabled Booleaanse waarde: true, false (standaard: true) Het GraphQL-eindpunt van DAB in- of uitschakelen.
Runtime.
graphql.path
--runtime.graphql.path Tekenreeks (standaard: /graphql) Pas het GraphQL-eindpuntpad van DAB aan. Voorwaarden: Voorvoegsel met '/', geen spaties en geen gereserveerde tekens.
Runtime.
graphql.depth-limit
--runtime.graphql.depth-limit Geheel getal Dit verwijst naar de maximaal toegestane diepte van de geneste graphQL-query. Toegestane waarden: (0,2147483647] inclusief. De standaardwaarde is oneindig. Gebruik -1 om de limiet te verwijderen.
Runtime.
graphql.allow-introspection
--runtime.graphql.allow-introspection Booleaanse waarde: true, false (standaard: true) Introspectieaanvragen voor GraphQL toestaan/weigeren in GraphQL-schema.
Runtime.
graphql.multiple-mutaties.create.enabled
--runtime.graphql.multiple-mutaties.create.enabled Booleaanse waarde: true, false (standaard: true) Meerdere mutatiebewerkingen inschakelen/uitschakelen op het gegenereerde GraphQL-schema van DAB.
Runtime.
host.mode
--runtime.host.mode Tekenreeks: Development, Production Standaard: Development Stel de actieve hostmodus van DAB in ontwikkeling of productie in.
Runtime.
host.cors.origins
--runtime.host.cors.origins Matrix van tekenreeksen Gebruik deze optie om toegestane oorsprongen in CORS te overschrijven. Standaard: [] (door spatie gescheiden matrix van tekenreeksen).
Runtime.
host.cors.allow-credentials
--runtime.host.cors.allow-credentials Booleaanse waarde: true, false (standaard: false) Stel de waarde in voor Access-Control Allow-Credentials header in --host.cors.allow-credentials.
Runtime.
host.authentication.provider
--runtime.host.authentication.provider Tekenreeks: StaticWebApps, AppService, AzureAD, Jwt Configureer de naam van de verificatieprovider. Standaard: StaticWebApps.
Runtime.
host.authentication.jwt.audience
--runtime.host.authentication.jwt.audience Matrix van tekenreeksen Gebruik dit om de beoogde geadresseerde(s) van het Jwt-token te configureren.
Runtime.
host.authentication.jwt.issuer
--runtime.host.authentication.jwt.issuer Snaar Dit verwijst naar de entiteit die het Jwt-token heeft uitgegeven.
Runtime.
cache.enabled
--runtime.cache.enabled Booleaanse waarde: true, false (standaard: false) De cache van DAB globaal in- of uitschakelen. (U moet ook de cache van elke entiteit afzonderlijk inschakelen.)
Runtime.
cache.ttl-seconds
--runtime.cache.ttl-seconds Geheel getal (standaard: 5) Pas de globale standaardtijd van de DAB-cache aan in seconden.