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 , number en 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 |
|
Tekenreeks: MSSQL , PostgreSQL , CosmosDB_NoSQL , MySQL |
❌ | Deze waarde geeft het databasetype aan. |
gegevensbron. verbindingsreeks |
|
Snaar | ❌ | Verwijst naar de verbindingsreeks voor de gegevensbron. |
gegevensbron. options.database |
|
Snaar | ✅ | Verwijst naar de databasenaam voor Cosmos DB for NoSql. |
gegevensbron. options.container |
|
Snaar | ✅ | Verwijst naar de containernaam voor Cosmos DB for NoSql. |
gegevensbron. options.schema |
|
Snaar | ✅ | Biedt het schemapad voor Cosmos DB voor NoSql. |
gegevensbron. options.set-session-context |
|
Booleaanse waarde: true , false (standaard: true ) |
✅ | Of u sessiecontext wilt inschakelen. |
Runtime. rest.enabled |
|
Booleaanse waarde: true , false (standaard: true ) |
❌ | Hiermee wordt aangegeven of het REST-eindpunt van DAB moet worden ingeschakeld. |
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 |
|
Booleaanse waarde: true , false (standaard: true ) |
✅ | Hiermee worden overbodige REST-aanvraagtekstvelden toegestaan/verboden. |
Runtime. graphql.enabled |
|
Booleaanse waarde: true , false (standaard: true ) |
❌ | Het GraphQL-eindpunt van DAB in- of uitschakelen. |
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 |
|
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 |
|
Booleaanse waarde: true , false (standaard: true ) |
✅ | Introspectieaanvragen voor GraphQL toestaan/weigeren in GraphQL-schema. |
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 |
|
Tekenreeks: Development , Production Standaard: Development |
❌ | Stel de actieve hostmodus van DAB in ontwikkeling of productie in. |
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 |
|
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 |
|
Tekenreeks: StaticWebApps , AppService , AzureAD , Jwt |
✅ | Configureer de naam van de verificatieprovider. Standaard: StaticWebApps . |
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 |
|
Snaar | ✅ | Dit verwijst naar de entiteit die het Jwt-token heeft uitgegeven. |
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 |
|
Geheel getal (standaard: 5 ) |
✅ | Pas de globale standaardtijd van de DAB-cache aan in seconden. |