Condividi tramite


init comando

Inizializzare un nuovo file di configurazione di Generatore API dati. Il codice JSON risultante acquisisce i dettagli dell'origine dati, gli endpoint abilitati (REST, GraphQL, MCP), l'autenticazione e i comportamenti di runtime.

Sintassi

dab init [options]

Se il file di configurazione di destinazione esiste già, il comando lo sovrascrive. Non c'è un merge. Usare il controllo della versione o i backup se è necessario mantenere il file precedente.

Sguardo rapido

Opzione Riassunto
-c, --config Nome file di configurazione dell'output (dab-config.jsonpredefinito )

Sezione Autenticazione

Opzione Riassunto
--auth.audience Attestazione del gruppo di destinatari JWT (JSON Web Token)
--auth.issuer Attestazione dell'autorità di certificazione JSON Web Token (JWT)
--auth.provider Provider di identità (impostazione predefinita Unauthenticated)

Sezione Origine dati

Opzione Riassunto
--connection-string Stringa di connessione del database (supporta @env())
--cosmosdb_nosql-container Nome del contenitore NoSQL di Cosmos DB (facoltativo)
--cosmosdb_nosql-database Nome del database NoSQL di Cosmos DB (obbligatorio per cosmosdb_nosql)
--database-type Tipo di database: mssql, mysqlpostgresql, , cosmosdb_postgresql,cosmosdb_nosql
--set-session-context Abilitare il contesto della sessione di SQL Server (solo mssql)

Sezione GraphQL

Opzione Riassunto
--graphql.disabled Deprecated. Disabilita GraphQL (usare --graphql.enabled false)
--graphql.enabled Abilitare GraphQL (valore predefinito true)
--graphql.multiple-create.enabled Consenti più mutazioni di creazione (impostazione predefinita false)
--graphql.path Prefisso dell'endpoint GraphQL (predefinito /graphql)
--graphql-schema Percorso dello schema GraphQL (obbligatorio per cosmosdb_nosql)

Sezione Host e autenticazione

Opzione Riassunto
--host-mode Modalità host: sviluppo o produzione (produzione predefinita)
--cors-origin Elenco origini consentite (delimitato da virgole)
--runtime.base-route Prefisso globale per tutti gli endpoint

Sezione MCP

Opzione Riassunto
--mcp.aggregate-records.query-timeout Timeout dello strumento Aggregate-Records in secondi (valore predefinito 30, intervallo da 1 a 600)
--mcp.disabled Deprecated. Disabilita MCP (usare --mcp.enabled false)
--mcp.enabled Abilitare MCP (valore predefinito true)
--mcp.path Prefisso dell'endpoint MCP (predefinito /mcp)

Annotazioni

La funzionalità MCP è disponibile nella versione 1.7 e versioni successive.

Sezione REST

Opzione Riassunto
--rest.disabled Deprecated. Disabilita REST (usare --rest.enabled false)
--rest.enabled Abilitare REST (impostazione predefinita true, preferire rispetto --rest.disableda )
--rest.path Prefisso dell'endpoint REST (/api predefinito, ignorato per cosmosdb_nosql)
--rest.request-body-strict Applicare la convalida rigorosa del corpo della richiesta (impostazione predefinita false, ignorata per cosmosdb_nosql)

Importante

Non combinare i nuovi --*.enabled flag e i flag legacy --*.disabled per lo stesso sottosistema nello stesso comando. Preferisce il --*.enabled modello; le --rest.disabledopzioni , --graphql.disablede --mcp.disabled registrano gli avvisi e verranno rimossi nelle versioni future.

-c, --config

Nome del file di configurazione di output. Il valore predefinito è dab-config.json.

Example

dab init \
  --database-type mssql \
  --config dab-config.local.json

Configurazione risultante

{
  "data-source": {
    "database-type": "mssql",
    "connection-string": ""
  }
}

--auth.audience

Attestazione del gruppo di destinatari JWT (JSON Web Token).

Example

dab init \
  --database-type mssql \
  --auth.audience "https://example.com/api"

Configurazione risultante

{
  "runtime": {
    "host": {
      "authentication": {
        "jwt": {
          "audience": "https://example.com/api"
        }
      }
    }
  }
}

--auth.issuer

Attestazione dell'autorità di certificazione JSON Web Token (JWT).

Example

dab init \
  --database-type mssql \
  --auth.issuer "https://login.microsoftonline.com/{tenant-id}/v2.0"

Configurazione risultante

{
  "runtime": {
    "host": {
      "authentication": {
        "jwt": {
          "issuer": "https://login.microsoftonline.com/{tenant-id}/v2.0"
        }
      }
    }
  }
}

--auth.provider

Provider di identità. Il valore predefinito è Unauthenticated.

Quando Unauthenticated è attivo, DAB non controlla o convalida alcun token JWT. Tutte le richieste vengono eseguite come anonymous. Un altro servizio può autenticare o filtrare le richieste prima di raggiungere DAB, ma DAB autorizza comunque solo come anonymous. Per usare un provider diverso, impostarlo in modo esplicito.

Per indicazioni sulla configurazione, vedere Configurare il provider non autenticato.

Annotazioni

La funzionalità Generatore API dati 2.0 descritta in questa sezione è attualmente in anteprima e potrebbe cambiare prima della disponibilità generale. Per altre informazioni, vedere Novità della versione 2.0.

Valori validi: Unauthenticated, StaticWebApps, EntraIDAzureAD, AppService, Simulator. Custom

Importante

Provider diversi da Unauthenticated, StaticWebAppse Simulator richiedono --auth.audience e --auth.issuer.

Example

dab init \
  --database-type mssql \
  --auth.provider AzureAD \
  --auth.audience "https://example.com/api" \
  --auth.issuer "https://login.microsoftonline.com/{tenant-id}/v2.0"

Configurazione risultante

{
  "runtime": {
    "host": {
      "authentication": {
        "provider": "AzureAD",
        "jwt": {
          "audience": "https://example.com/api",
          "issuer": "https://login.microsoftonline.com/{tenant-id}/v2.0"
        }
      }
    }
  }
}

--connection-string

Stringa di connessione del database. Supporta @env().

Example

dab init \
  --database-type mssql \
  --connection-string "@env('MSSQL_CONNECTION_STRING')"

Configurazione risultante

{
  "data-source": {
    "connection-string": "@env('MSSQL_CONNECTION_STRING')"
  }
}

--cors-origin

Elenco delimitato da virgole di origini consentite.

Example

dab init \
  --database-type mssql \
  --cors-origin "https://app.example.com,https://admin.example.com"

Configurazione risultante

{
  "runtime": {
    "host": {
      "cors": {
        "origins": [ "https://app.example.com", "https://admin.example.com" ]
      }
    }
  }
}

--cosmosdb_nosql-container

Nome del contenitore NoSQL di Cosmos DB.

Example

dab init \
  --database-type cosmosdb_nosql \
  --cosmosdb_nosql-container MyContainer

Configurazione risultante

{
  "data-source": {
    "database-type": "cosmosdb_nosql",
    "options": {
      "container": "MyContainer"
    }
  }
}

--cosmosdb_nosql-database

Nome del database NoSQL di Cosmos DB. Obbligatorio per cosmosdb_nosql.

Example

dab init \
  --database-type cosmosdb_nosql \
  --cosmosdb_nosql-database MyDb

Configurazione risultante

{
  "data-source": {
    "database-type": "cosmosdb_nosql",
    "options": {
      "database": "MyDb"
    }
  }
}

--database-type

Specifica il motore di database di destinazione. Valori supportati: mssql, mysql, postgresql, cosmosdb_postgresql, cosmosdb_nosql.

Example

dab init \
  --database-type mssql

Configurazione risultante

{
  "data-source": {
    "database-type": "mssql"
  }
}

--graphql.disabled

Deprecated. Disabilita GraphQL. Preferisce --graphql.enabled false.

--graphql.enabled

Abilitare l'endpoint GraphQL. Il valore predefinito è true.

Example

dab init \
  --database-type mssql \
  --graphql.enabled false

Configurazione risultante

{
  "runtime": {
    "graphql": {
      "enabled": false
    }
  }
}

--graphql.multiple-create.enabled

Consente di creare più righe in una singola mutazione. Il valore predefinito è false.

Example

dab init \
  --database-type mssql \
  --graphql.multiple-create.enabled true

Configurazione risultante

{
  "runtime": {
    "graphql": {
      "multiple-mutations": {
        "create": { "enabled": true }
      }
    }
  }
}

--graphql.path

Prefisso dell'endpoint GraphQL. Il valore predefinito è /graphql.

Example

dab init \
  --database-type mssql \
  --graphql.path /gql

Configurazione risultante

{
  "runtime": {
    "graphql": {
      "path": "/gql"
    }
  }
}

--graphql-schema

Percorso di un file di schema GraphQL. Obbligatorio per cosmosdb_nosql.

Example

dab init \
  --database-type cosmosdb_nosql \
  --graphql-schema ./schema.gql

Configurazione risultante

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

--host-mode

Modalità host. Il valore predefinito è Production.

Valori validi: Development, Production.

Example

dab init \
  --database-type mssql \
  --host-mode development

Configurazione risultante

{
  "runtime": {
    "host": {
      "mode": "development"
    }
  }
}

--mcp.aggregate-records.query-timeout

Timeout di esecuzione in secondi per lo strumento MCP aggregate-records. Il valore predefinito è 30. Intervallo: 1600.

Example

dab init \
  --database-type mssql \
  --mcp.aggregate-records.query-timeout 60

Configurazione risultante

{
  "runtime": {
    "mcp": {
      "dml-tools": {
        "aggregate-records": {
          "query-timeout": 60
        }
      }
    }
  }
}

--mcp.disabled

Deprecated. Disabilita MCP. Preferisce --mcp.enabled false.

--mcp.enabled

Abilitare l'endpoint MCP. Il valore predefinito è true.

Example

dab init \
  --database-type mssql \
  --mcp.enabled false

Configurazione risultante

{
  "runtime": {
    "mcp": {
      "enabled": false
    }
  }
}

--mcp.path

Prefisso dell'endpoint MCP. Il valore predefinito è /mcp.

Example

dab init \
  --database-type mssql \
  --mcp.path /model

Configurazione risultante

{
  "runtime": {
    "mcp": {
      "path": "/model"
    }
  }
}

--rest.disabled

Deprecated. Disabilita REST. Preferisce --rest.enabled false.

--rest.enabled

Abilitare l'endpoint REST. Il valore predefinito è true.

Example

dab init \
  --database-type mssql \
  --rest.enabled false

Configurazione risultante

{
  "runtime": {
    "rest": {
      "enabled": false
    }
  }
}

--rest.path

Prefisso dell'endpoint REST. Il valore predefinito è /api.

Annotazioni

Ignorato per cosmosdb_nosql.

Example

dab init \
  --database-type mssql \
  --rest.path /rest

Configurazione risultante

{
  "runtime": {
    "rest": {
      "path": "/rest"
    }
  }
}

--rest.request-body-strict

Controlla la gestione di campi aggiuntivi nei corpi delle richieste. Il valore predefinito è false.

  • true: rifiuta campi estranei (HTTP 400).
  • false: ignora i campi aggiuntivi.

Annotazioni

Ignorato per cosmosdb_nosql.

Example

dab init \
  --database-type mssql \
  --rest.request-body-strict false

Configurazione risultante

{
  "runtime": {
    "rest": {
      "request-body-strict": false
    }
  }
}

--runtime.base-route

Prefisso globale anteporto a tutti gli endpoint. Deve iniziare con /.

Importante

Questa opzione richiede che il provider di autenticazione sia StaticWebApps. Impostare --auth.provider StaticWebApps insieme a --runtime.base-route.

Example

dab init \
  --database-type mssql \
  --auth.provider StaticWebApps \
  --runtime.base-route /v1

Configurazione risultante

{
  "runtime": {
    "base-route": "/v1"
  }
}

--set-session-context

Abilitare l'invio di dati a SQL Server usando il contesto di sessione. Valido solo per mssql. Il valore predefinito è false.

Example

dab init \
  --database-type mssql \
  --set-session-context true

Configurazione risultante

{
  "data-source": {
    "database-type": "mssql",
    "options": {
      "set-session-context": true
    }
  }
}