初始化新的数据 API 生成器配置文件。 生成的 JSON 捕获数据源详细信息、已启用的终结点(REST、GraphQL、MCP)、身份验证和运行时行为。
Syntax
dab init [options]
如果目标配置文件已存在,则命令将覆盖该文件。 没有合并。 如果需要保留以前的文件,请使用版本控制或备份。
快速浏览
| 选项 | 概要 |
|---|---|
-c, --config |
输出配置文件名称(默认 dab-config.json) |
Authentication
| 选项 | 概要 |
|---|---|
--auth.audience |
JWT 受众声明 |
--auth.issuer |
JWT 颁发者声明 |
--auth.provider |
标识提供者(默认 StaticWebApps) |
数据源
| 选项 | 概要 |
|---|---|
--connection-string |
数据库连接字符串 (支持 @env()) |
--cosmosdb_nosql-container |
Cosmos DB NoSQL 容器名称(可选) |
--cosmosdb_nosql-database |
Cosmos DB NoSQL 数据库名称(cosmosdb_nosql必需) |
--database-type |
数据库类型:mssql、、postgresqlmysql、cosmosdb_postgresql、cosmosdb_nosql |
--set-session-context |
启用 SQL Server 会话上下文(仅 mssql) |
GraphQL
| 选项 | 概要 |
|---|---|
--graphql.disabled |
已弃用。 禁用 GraphQL (使用 --graphql.enabled false) |
--graphql.enabled |
启用 GraphQL (默认值为 true) |
--graphql.multiple-create.enabled |
允许多个创建突变(默认 false) |
--graphql.path |
GraphQL 终结点前缀(默认 /graphql) |
--graphql-schema |
GraphQL 架构的路径(cosmosdb_nosql必需) |
主机和身份验证
| 选项 | 概要 |
|---|---|
--host-mode |
主机模式:开发或生产(默认生产) |
--cors-origin |
允许的源列表(逗号分隔) |
--runtime.base-route |
所有终结点的全局前缀 |
MCP
| 选项 | 概要 |
|---|---|
--mcp.disabled |
已弃用。 禁用 MCP (使用 --mcp.enabled false) |
--mcp.enabled |
启用 MCP (默认值为 true) |
--mcp.path |
MCP 终结点前缀(默认 /mcp) |
注释
MCP 功能将成为版本 1.7 的一部分。
REST
| 选项 | 概要 |
|---|---|
--rest.disabled |
已弃用。 禁用 REST (使用 --rest.enabled false) |
--rest.enabled |
启用 REST(默认值为 true,首选 --rest.disabled) |
--rest.path |
REST 终结点前缀(默认 /api,为cosmosdb_nosql忽略) |
--rest.request-body-strict |
强制实施严格的请求正文验证(默认为 true,对于cosmosdb_nosql忽略) |
重要
不要在同一命令中混合同一子系统的新 --*.enabled 标志和旧 --*.disabled 标志。
--*.enabled首选模式;--rest.disabled选项--graphql.disabled和--mcp.disabled选项日志警告,并将在未来版本中删除。
-c, --config
输出配置文件名称。 默认值为 dab-config.json。
Example
dab init --database-type mssql --config dab-config.local.json
生成的配置
{
"data-source": {
"database-type": "mssql",
"connection-string": "@env('MSSQL_CONNECTION_STRING')"
}
}
--auth.audience
JWT 受众声明。
Example
dab init --database-type mssql --auth.audience "https://example.com/api"
生成的配置
{
"runtime": {
"authentication": {
"audience": "https://example.com/api"
}
}
}
--auth.issuer
JWT 颁发者声明。
Example
dab init --database-type mssql --auth.issuer "https://login.microsoftonline.com/{tenant-id}/v2.0"
生成的配置
{
"runtime": {
"authentication": {
"issuer": "https://login.microsoftonline.com/{tenant-id}/v2.0"
}
}
}
--auth.provider
标识提供者。 默认值为 StaticWebApps。
Example
dab init --database-type mssql --auth.provider AzureAD
生成的配置
{
"runtime": {
"authentication": {
"provider": "AzureAD"
}
}
}
--connection-string
数据库连接字符串。 支持 @env()。
Example
dab init --database-type mssql --connection-string "@env('MSSQL_CONNECTION_STRING')"
生成的配置
{
"data-source": {
"connection-string": "@env('MSSQL_CONNECTION_STRING')"
}
}
--cors-origin
允许的源的逗号分隔列表。
Example
dab init --database-type mssql --cors-origin "https://app.example.com,https://admin.example.com"
生成的配置
{
"runtime": {
"cors": {
"origins": [ "https://app.example.com", "https://admin.example.com" ]
}
}
}
--cosmosdb_nosql-container
Cosmos DB NoSQL 容器名称。
Example
dab init --database-type cosmosdb_nosql --cosmosdb_nosql-container MyContainer
生成的配置
{
"data-source": {
"database-type": "cosmosdb_nosql",
"options": {
"container": "MyContainer"
}
}
}
--cosmosdb_nosql-database
Cosmos DB NoSQL 数据库名称。 必需 。cosmosdb_nosql
Example
dab init --database-type cosmosdb_nosql --cosmosdb_nosql-database MyDb
生成的配置
{
"data-source": {
"database-type": "cosmosdb_nosql",
"options": {
"database": "MyDb"
}
}
}
--database-type
指定目标数据库引擎。 支持的值:mssql、mysql、postgresql、cosmosdb_postgresql、cosmosdb_nosql。
Example
dab init --database-type mssql
生成的配置
{
"data-source": {
"database-type": "mssql"
}
}
--graphql.disabled
已弃用。 禁用 GraphQL。 首选 --graphql.enabled false。
--graphql.enabled
启用 GraphQL 终结点。 默认值为 true。
Example
dab init --database-type mssql --graphql.enabled false
生成的配置
{
"runtime": {
"graphql": {
"enabled": false
}
}
}
--graphql.multiple-create.enabled
允许在单个突变中创建多行。 默认值为 false。
Example
dab init --database-type mssql --graphql.multiple-create.enabled true
生成的配置
{
"runtime": {
"graphql": {
"multiple-create": { "enabled": true }
}
}
}
--graphql.path
GraphQL 终结点前缀。 默认值为 /graphql。
Example
dab init --database-type mssql --graphql.path /gql
生成的配置
{
"runtime": {
"graphql": {
"path": "/gql"
}
}
}
--graphql-schema
GraphQL 架构文件的路径。 必需 。cosmosdb_nosql
Example
dab init --database-type cosmosdb_nosql --graphql-schema ./schema.gql
生成的配置
{
"runtime": {
"graphql": {
"schema": "./schema.gql"
}
}
}
--host-mode
主机模式。 默认值为 Production。
有效值:Development,Production。
Example
dab init --database-type mssql --host-mode development
生成的配置
{
"runtime": {
"host": {
"mode": "development"
}
}
}
--mcp.disabled
已弃用。 禁用 MCP。 首选 --mcp.enabled false。
--mcp.enabled
启用 MCP 终结点。 默认值为 true。
Example
dab init --database-type mssql --mcp.enabled false
生成的配置
{
"runtime": {
"mcp": {
"enabled": false
}
}
}
--mcp.path
MCP 终结点前缀。 默认值为 /mcp。
Example
dab init --database-type mssql --mcp.path /model
生成的配置
{
"runtime": {
"mcp": {
"path": "/model"
}
}
}
--rest.disabled
已弃用。 禁用 REST。 首选 --rest.enabled false。
--rest.enabled
启用 REST 终结点。 默认值为 true。
Example
dab init --database-type mssql --rest.enabled false
生成的配置
{
"runtime": {
"rest": {
"enabled": false
}
}
}
--rest.path
REST 终结点前缀。 默认值为 /api。
注释
已忽略 。cosmosdb_nosql
Example
dab init --database-type mssql --rest.path /rest
生成的配置
{
"runtime": {
"rest": {
"path": "/rest"
}
}
}
--rest.request-body-strict
控制处理请求正文中的额外字段。 默认值为 true。
-
true:拒绝多余的字段(HTTP 400)。 -
false:忽略其他字段。
注释
已忽略 。cosmosdb_nosql
Example
dab init --database-type mssql --rest.request-body-strict false
生成的配置
{
"runtime": {
"rest": {
"request-body-strict": false
}
}
}
--runtime.base-route
前面追加到所有终结点的全局前缀。 必须以 /.
Example
dab init --database-type mssql --runtime.base-route /v1
生成的配置
{
"runtime": {
"base-route": "/v1"
}
}
--set-session-context
允许使用会话上下文将数据发送到 SQL Server。 仅对 mssql. 默认值为 false。
Example
dab init --database-type mssql --set-session-context true
生成的配置
{
"runtime": {
"mssql": {
"set-session-context": true
}
}
}