初始化新的資料 API 產生器組態檔。 產生的 JSON 會擷取資料來源詳細資料、已啟用的端點 (REST、GraphQL、MCP)、驗證和執行階段行為。
語法
dab init [options]
如果目標設定檔已存在,則命令會覆寫它。 沒有合併。 如果您需要保留先前的檔案,請使用版本控制或備份。
快速瀏覽
| Option | 總結 |
|---|---|
-c, --config |
輸出設定檔名稱 (預設 dab-config.json) |
Authentication
| Option | 總結 |
|---|---|
--auth.audience |
JWT 受眾聲明 |
--auth.issuer |
JWT 發行人索賠 |
--auth.provider |
身分識別提供者 (預設 StaticWebApps) |
資料來源
| Option | 總結 |
|---|---|
--connection-string |
資料庫連接字串 (支援 @env()) |
--cosmosdb_nosql-container |
Cosmos DB NoSQL 容器名稱 (選擇性) |
--cosmosdb_nosql-database |
Cosmos DB NoSQL 資料庫名稱 (cosmosdb_nosql 的必要) |
--database-type |
資料庫類型:mssql、mysql、、postgresql、 cosmosdb_postgresqlcosmosdb_nosql |
--set-session-context |
啟用 SQL Server 工作階段內容 (僅限 mssql) |
GraphQL
| Option | 總結 |
|---|---|
--graphql.disabled |
Deprecated. 停用 GraphQL (使用 --graphql.enabled false) |
--graphql.enabled |
啟用 GraphQL (預設為 true) |
--graphql.multiple-create.enabled |
允許多個建立突變 (預設值為 false) |
--graphql.path |
GraphQL 端點前置詞 (預設值 /graphql) |
--graphql-schema |
GraphQL 結構描述的路徑 (cosmosdb_nosql 所需) |
主機和身份驗證
| Option | 總結 |
|---|---|
--host-mode |
主機模式:開發或生產(預設生產) |
--cors-origin |
允許的來源清單 (逗號分隔) |
--runtime.base-route |
所有端點的全域前置詞 |
MCP
| Option | 總結 |
|---|---|
--mcp.disabled |
Deprecated. 停用 MCP(使用 --mcp.enabled false) |
--mcp.enabled |
啟用 MCP (預設為 true) |
--mcp.path |
MCP 端點前置詞 (預設值 /mcp) |
備註
MCP 功能將成為 1.7 版的一部分。
REST
| Option | 總結 |
|---|---|
--rest.disabled |
Deprecated. 停用 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
Deprecated. 停用 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
Deprecated. 停用 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
Deprecated. 停用 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
}
}
}