init perintah

Menginisialisasi file konfigurasi penyusun Data API baru. JSON yang dihasilkan menangkap detail sumber data, titik akhir yang diaktifkan (REST, GraphQL, MCP), autentikasi, dan perilaku runtime.

Syntax

dab init [options]

Jika file konfigurasi target sudah ada, perintah akan menimpanya. Tidak ada penggabungan. Gunakan kontrol versi atau cadangan jika Anda perlu mempertahankan file sebelumnya.

Sekilas

Option Ringkasan
-c, --config Nama file konfigurasi output (dab-config.jsondefault )

Bagian autentikasi

Option Ringkasan
--auth.audience Klaim audiens JSON Web Token (JWT)
--auth.issuer Klaim penerbit JSON Web Token (JWT)
--auth.provider Penyedia identitas (default Unauthenticated)

Bagian Sumber Data

Option Ringkasan
--connection-string String koneksi database (mendukung @env())
--cosmosdb_nosql-container Nama kontainer Cosmos DB NoSQL (opsional)
--cosmosdb_nosql-database Nama database Cosmos DB NoSQL (diperlukan untuk cosmosdb_nosql)
--database-type Jenis database: mssql, , mysqldwsql, postgresql, cosmosdb_postgresql,cosmosdb_nosql
--set-session-context Aktifkan konteks sesi SQL Server (hanya mssql)

Bagian GraphQL

Option Ringkasan
--graphql.disabled Deprecated. Menonaktifkan GraphQL (gunakan --graphql.enabled false)
--graphql.enabled Aktifkan GraphQL (default true)
--graphql.multiple-mutations.create.enabled Perbolehkan beberapa mutasi buat (default false)
--graphql.path Awalan titik akhir GraphQL (default /graphql)
--graphql-schema Jalur ke skema GraphQL (diperlukan untuk cosmosdb_nosql)

Bagian host dan autentikasi

Option Ringkasan
--host-mode Mode host: Pengembangan atau Produksi (Produksi default)
--cors-origin Daftar asal yang diizinkan (dipisahkan koma)
--runtime.base-route Awalan global untuk semua titik akhir

Bagian MCP

Option Ringkasan
--mcp.aggregate-records.query-timeout Batas waktu alat rekaman agregat dalam detik (default 30, rentang 1–600)
--mcp.disabled Deprecated. Menonaktifkan MCP (gunakan --mcp.enabled false)
--mcp.enabled Aktifkan MCP (default true)
--mcp.path Awalan titik akhir MCP (default /mcp)

Nota

Kemampuan MCP tersedia dalam versi dan yang lebih 1.7 baru.

Bagian REST

Option Ringkasan
--rest.disabled Deprecated. Menonaktifkan REST (gunakan --rest.enabled false)
--rest.enabled Aktifkan REST (default true, prefer over --rest.disabled)
--rest.path Awalan titik akhir REST (default /api, diabaikan untuk cosmosdb_nosql)
--rest.request-body-strict Terapkan validasi isi permintaan yang ketat (default false, diabaikan untuk cosmosdb_nosql)

Penting

Jangan mencampur bendera baru --*.enabled dan bendera warisan --*.disabled untuk subsistem yang sama dalam perintah yang sama. --*.enabled Lebih suka pola; --rest.disabledperingatan log opsi , --graphql.disabled, dan --mcp.disabled dan dan akan dihapus dalam versi mendatang.

-c, --config

Nama file konfigurasi output. Defaultnya adalah dab-config.json.

Example

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

Konfigurasi yang dihasilkan

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

--auth.audience

Klaim audiens JSON Web Token (JWT).

Example

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

Konfigurasi yang dihasilkan

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

--auth.issuer

Klaim penerbit JSON Web Token (JWT).

Example

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

Konfigurasi yang dihasilkan

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

--auth.provider

Penyedia identitas. Defaultnya adalah Unauthenticated.

Saat Unauthenticated aktif, DAB tidak memeriksa atau memvalidasi JWT apa pun. Semua permintaan berjalan sebagai anonymous. Layanan lain dapat mengautentikasi atau memfilter permintaan sebelum mencapai DAB, tetapi DAB masih mengotorisasi hanya sebagai anonymous. Untuk menggunakan penyedia yang berbeda, atur secara eksplisit.

Untuk panduan konfigurasi, lihat Mengonfigurasi penyedia Yang tidak diaturentikasi.

Nota

Fungsionalitas Pembuat API Data 2.0 yang dijelaskan di bagian ini saat ini dalam pratinjau dan mungkin berubah sebelum ketersediaan umum. Untuk informasi selengkapnya, lihat Apa yang baru dalam versi 2.0.

Nilai yang valid: Unauthenticated, , StaticWebAppsEntraID, AzureAD, AppService, Simulator, Custom.

Penting

Penyedia selain Unauthenticated, , StaticWebAppsdan Simulator memerlukan --auth.audience dan --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"

Konfigurasi yang dihasilkan

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

--connection-string

String koneksi database. Mendukung @env().

Example

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

Konfigurasi yang dihasilkan

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

--cors-origin

Daftar asal yang diizinkan yang dipisahkan koma.

Example

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

Konfigurasi yang dihasilkan

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

--cosmosdb_nosql-container

Nama kontainer Cosmos DB NoSQL.

Example

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

Konfigurasi yang dihasilkan

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

--cosmosdb_nosql-database

Nama database Cosmos DB NoSQL. Diperlukan untuk cosmosdb_nosql.

Example

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

Konfigurasi yang dihasilkan

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

--database-type

Menentukan mesin database target. Nilai yang didukung: mssql, , dwsqlmysql, postgresql, cosmosdb_postgresql, cosmosdb_nosql.

Example

dab init \
  --database-type mssql

Konfigurasi yang dihasilkan

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

--graphql.disabled

Deprecated. Menonaktifkan GraphQL. Lebih suka --graphql.enabled false.

--graphql.enabled

Aktifkan titik akhir GraphQL. Defaultnya adalah true.

Example

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

Konfigurasi yang dihasilkan

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

--graphql.multiple-mutations.create.enabled

Memungkinkan pembuatan beberapa baris dalam satu mutasi. Defaultnya adalah false.

Example

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

Konfigurasi yang dihasilkan

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

--graphql.path

Awalan titik akhir GraphQL. Defaultnya adalah /graphql.

Example

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

Konfigurasi yang dihasilkan

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

--graphql-schema

Jalur ke file skema GraphQL. Diperlukan untuk cosmosdb_nosql.

Example

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

Konfigurasi yang dihasilkan

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

--host-mode

Mode host. Defaultnya adalah Production.

Nilai yang valid: Development, Production.

Example

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

Konfigurasi yang dihasilkan

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

--mcp.aggregate-records.query-timeout

Batas waktu eksekusi dalam detik untuk alat MCP rekaman agregat. Defaultnya adalah 30. Rentang: 1600.

Example

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

Konfigurasi yang dihasilkan

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

--mcp.disabled

Deprecated. Menonaktifkan MCP. Lebih suka --mcp.enabled false.

--mcp.enabled

Aktifkan titik akhir MCP. Defaultnya adalah true.

Example

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

Konfigurasi yang dihasilkan

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

--mcp.path

Awalan titik akhir MCP. Defaultnya adalah /mcp.

Example

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

Konfigurasi yang dihasilkan

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

--rest.disabled

Deprecated. Menonaktifkan REST. Lebih suka --rest.enabled false.

--rest.enabled

Aktifkan titik akhir REST. Defaultnya adalah true.

Example

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

Konfigurasi yang dihasilkan

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

--rest.path

Awalan titik akhir REST. Defaultnya adalah /api.

Nota

Diabaikan untuk cosmosdb_nosql.

Example

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

Konfigurasi yang dihasilkan

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

--rest.request-body-strict

Mengontrol penanganan bidang tambahan dalam badan permintaan. Defaultnya adalah false.

  • true: Menolak bidang asing (HTTP 400).
  • false: Mengabaikan bidang tambahan.

Nota

Diabaikan untuk cosmosdb_nosql.

Example

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

Konfigurasi yang dihasilkan

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

--runtime.base-route

Awalan global diawali ke semua titik akhir. Harus dimulai dengan /.

Penting

Opsi ini mengharuskan penyedia autentikasi menjadi StaticWebApps. Berdampingan --auth.provider StaticWebApps--runtime.base-routedengan .

Example

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

Konfigurasi yang dihasilkan

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

--set-session-context

Aktifkan pengiriman data ke SQL Server menggunakan konteks sesi. Hanya berlaku untuk mssql. Defaultnya adalah false.

Example

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

Konfigurasi yang dihasilkan

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