Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Tambahkan definisi entitas baru ke file konfigurasi penyusun API Data yang ada. Anda harus sudah memiliki konfigurasi yang dibuat dengan dab init. Gunakan dab update untuk memodifikasi entitas setelah pembuatan.
Petunjuk / Saran
Gunakan dab add untuk membuat entitas baru, dan dab update untuk mengembangkannya.
Syntax
dab add <entity-name> [options]
Sekilas
| Option | Ringkasan |
|---|---|
-c, --config |
Jalur file konfigurasi. Bawaan dab-config.json. |
Bagian kepala
| Option | Ringkasan |
|---|---|
<entity-name> |
Argumen posisi yang diperlukan. Nama entitas logis. |
-s, --source |
Dibutuhkan. Nama objek database (tabel, tampilan, atau prosedur tersimpan). |
--source.type |
Jenis sumber: table, view, stored-procedure (tabel default). |
--source.key-fields |
Bidang kunci primer untuk tampilan (dipisahkan koma). |
--source.params |
Prosedur tersimpan saja. Nilai parameter default sebagai param1:val1,param2:val2. |
Bagian cache
| Option | Ringkasan |
|---|---|
--cache.enabled |
Aktifkan/nonaktifkan penembolokan untuk entitas. |
--cache.ttl-seconds |
Cache time-to-live dalam hitungan detik. |
--cache.level |
Tingkat cache: L1 atau L1L2. Standar: L1L2. |
--health.enabled |
Aktifkan pemeriksaan kesehatan untuk entitas ini. Standar: true. |
--description |
Deskripsi bentuk bebas untuk entitas. |
Bagian parameter
| Option | Ringkasan |
|---|---|
--parameters.name |
Prosedur tersimpan saja. Nama parameter (dipisahkan koma). |
--parameters.description |
Prosedur tersimpan saja. Deskripsi parameter. |
--parameters.required |
Prosedur tersimpan saja. Parameter memerlukan bendera. |
--parameters.default |
Prosedur tersimpan saja. Nilai default parameter. |
Bagian bidang
| Option | Ringkasan |
|---|---|
--fields.exclude |
Bidang yang dikecualikan yang dipisahkan koma. |
--fields.include |
Bidang yang diizinkan dipisahkan koma (* = semua). |
--fields.name |
Nama bidang untuk dijelaskan (dapat diulang atau dipisahkan koma). |
--fields.alias |
Alias bidang (dipisahkan koma, diratakan ke --fields.name). |
--fields.description |
Deskripsi bidang (dipisahkan koma, diratakan ke --fields.name). |
--fields.primary-key |
Bendera kunci primer (dipisahkan koma, diratakan ke --fields.name). |
Bagian API
| Option | Ringkasan |
|---|---|
--graphql |
Paparan GraphQL: false, true, singular, atau singular:plural. |
--graphql.operation |
Prosedur tersimpan saja.
Query atau Mutation (mutasi default). |
--rest |
Paparan REST: false, true, atau rute kustom. |
--rest.methods |
Prosedur tersimpan saja. Kata kerja yang diizinkan: GET, , POSTPUT, PATCH, DELETE. POST default. |
--mcp.dml-tools |
Aktifkan/nonaktifkan alat bahasa manipulasi data (DML) untuk entitas dalam Protokol Konteks Model (MCP). Bawaan true. |
--mcp.custom-tool |
Prosedur tersimpan saja. Daftar sebagai alat MCP bernama. |
Bagian izin
| Option | Ringkasan |
|---|---|
--permissions |
Dibutuhkan.
role:actions untuk satu peran. |
--policy-database |
Filter gaya OData diterapkan dalam kueri database. |
--policy-request |
Kebijakan permintaan dievaluasi sebelum panggilan database. |
<entity-name>
Nama logis entitas dalam konfigurasi. Peka huruf besar/kecil.
Contoh cepat untuk tabel, tampilan, dan prosedur tersimpan
Menambahkan tabel
dab add Book \
--source dbo.Books \
--source.type table \
--permissions "anonymous:read" \
--description "Example for managing book inventory"
Tambah tampilan
dab add BookView \
--source dbo.MyView \
--source.type view \
--source.key-fields "id,region" \
--permissions "anonymous:read" \
--description "Example for managing book inventory from view"
Menambahkan prosedur tersimpan
dab add BookProc \
--source dbo.MyProc \
--source.type stored-procedure \
--parameters.name "year,active" \
--parameters.required "false,false" \
--parameters.default "2024,true" \
--permissions "anonymous:execute" \
--graphql.operation query \
--description "Example for executing a stored procedure"
-c, --config
Jalur file konfigurasi. Defaultnya adalah dab-config.json.
Example
dab add Book \
--config ./dab-config.mssql.json \
--source dbo.Books \
--permissions "anonymous:read"
-s, --source
Dibutuhkan. Nama objek database: tabel, tampilan, kontainer, atau prosedur tersimpan.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read"
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}
--source.type
Jenis objek database. Standar: table.
Example
dab add Book \
--source dbo.Books \
--source.type table \
--permissions "anonymous:read"
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}
--source.key-fields
Satu atau beberapa bidang untuk digunakan sebagai kunci primer. Tampilan tidak memiliki kunci primer intrinsik, jadi Anda harus menentukan bidang kunci secara eksplisit.
Example
dab add BookView \
--source dbo.MyView \
--source.type view \
--source.key-fields "id,region" \
--permissions "anonymous:read"
Konfigurasi yang dihasilkan
{
"entities": {
"BookView": {
"source": {
"object": "dbo.MyView",
"type": "view",
"key-fields": [ "id", "region" ]
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}
--source.params
Kamus parameter dan nilai defaultnya untuk prosedur tersimpan. Gunakan format param1:val1,param2:val2.
Example
dab add BookProc \
--source dbo.MyProc \
--source.type stored-procedure \
--source.params "year:2024,active:true" \
--permissions "anonymous:execute"
Konfigurasi yang dihasilkan
{
"entities": {
"BookProc": {
"source": {
"object": "dbo.MyProc",
"type": "stored-procedure",
"parameters": [
{ "name": "year", "required": false, "default": "2024" },
{ "name": "active", "required": false, "default": "True" }
]
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "execute" } ] }
]
}
}
}
--cache.enabled
Mengaktifkan atau menonaktifkan penembolokan.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--cache.enabled true
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"cache": {}
}
}
}
--cache.ttl-seconds
Cache time-to-live dalam hitungan detik.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--cache.ttl-seconds 300
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"cache": {
"ttl-seconds": 300
}
}
}
}
--cache.level
Tingkat cache untuk entitas ini. Nilai yang berlaku adalah L1 atau L1L2. Defaultnya adalah L1L2.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--cache.level L1
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"cache": {
"level": "L1"
}
}
}
}
--health.enabled
Aktifkan atau nonaktifkan pemeriksaan kesehatan untuk entitas ini. Defaultnya adalah true.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--health.enabled false
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"health": {
"enabled": false
}
}
}
}
--description
Deskripsi teks bebas entitas.
Nota
Opsi ini tersedia di CLI pratinjau Azure Data API builder 2.0. Instal prarilis terbaru dengan dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--description "Entity for managing book inventory"
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"description": "Entity for managing book inventory"
}
}
}
--parameters.name
Prosedur tersimpan saja. Daftar nama parameter yang dipisahkan koma.
Nota
Opsi ini tersedia di CLI pratinjau Azure Data API builder 2.0. Instal prarilis terbaru dengan dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab add GetOrdersByDateRange \
--source dbo.usp_GetOrdersByDateRange \
--source.type stored-procedure \
--permissions "authenticated:execute" \
--description "Retrieves all orders placed within a specified date range" \
--parameters.name "StartDate,EndDate,CustomerID" \
--parameters.description "Beginning of date range (inclusive),End of date range (inclusive),Optional customer ID filter" \
--parameters.required "true,true,false" \
--parameters.default ",,null"
Konfigurasi yang dihasilkan
{
"entities": {
"GetOrdersByDateRange": {
"description": "Retrieves all orders placed within a specified date range",
"source": {
"object": "dbo.usp_GetOrdersByDateRange",
"type": "stored-procedure",
"parameters": [
{
"name": "StartDate",
"required": true,
"default": "",
"description": "Beginning of date range (inclusive)"
},
{
"name": "EndDate",
"required": true,
"default": "",
"description": "End of date range (inclusive)"
},
{
"name": "CustomerID",
"required": false,
"default": "null",
"description": "Optional customer ID filter"
}
]
},
"permissions": [
{
"role": "authenticated",
"actions": [
{
"action": "execute"
}
]
}
]
}
}
}
--parameters.description
Prosedur tersimpan saja. Daftar deskripsi parameter yang dipisahkan koma yang selaras dengan --parameters.name.
Nota
Opsi ini tersedia di CLI pratinjau Azure Data API builder 2.0. Instal prarilis terbaru dengan dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab add GetOrdersByDateRange \
--source dbo.usp_GetOrdersByDateRange \
--source.type stored-procedure \
--permissions "authenticated:execute" \
--parameters.name "StartDate,EndDate" \
--parameters.description "Beginning of date range (inclusive),End of date range (inclusive)"
--parameters.required
Prosedur tersimpan saja. Daftar nilai yang true/false dipisahkan koma yang diratakan ke .--parameters.name
Nota
Opsi ini tersedia di CLI pratinjau Azure Data API builder 2.0. Instal prarilis terbaru dengan dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab add GetOrdersByDateRange \
--source dbo.usp_GetOrdersByDateRange \
--source.type stored-procedure \
--permissions "authenticated:execute" \
--parameters.name "StartDate,EndDate" \
--parameters.required "true,true"
--parameters.default
Prosedur tersimpan saja. Daftar nilai default yang dipisahkan koma yang diratakan ke --parameters.name.
Nota
Opsi ini tersedia di CLI pratinjau Azure Data API builder 2.0. Instal prarilis terbaru dengan dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab add GetOrdersByDateRange \
--source dbo.usp_GetOrdersByDateRange \
--source.type stored-procedure \
--permissions "authenticated:execute" \
--parameters.name "CustomerID" \
--parameters.default "null"
--fields.exclude
Daftar bidang yang dipisahkan koma untuk dikecualikan.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--fields.exclude "internal_flag,secret_note"
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"fields": {
"exclude": [ "internal_flag", "secret_note" ]
}
}
]
}
]
}
}
}
--fields.include
Daftar bidang yang dipisahkan koma untuk diekspos.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--fields.include "id,title,price"
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"fields": {
"exclude": [],
"include": [ "id", "title", "price" ]
}
}
]
}
]
}
}
}
--fields.name
Nama kolom database yang akan dijelaskan.
Nota
Opsi ini tersedia di CLI pratinjau Azure Data API builder 2.0. Instal prarilis terbaru dengan dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab add Products \
--source dbo.Products \
--permissions "anonymous:*" \
--fields.name "ProductID,ProductName" \
--fields.alias "product_id,product_name" \
--fields.description "Unique identifier for each product,Display name of the product" \
--fields.primary-key "true,false"
Konfigurasi yang dihasilkan
Nota
Dalam CLI pratinjau Azure Data API builder 2.0 saat ini, CLI menerima --fields.name, , --fields.alias--fields.description, dan --fields.primary-key tetapi belum mempertahankan metadata bidang tingkat entitas ke file konfigurasi. Tim mengharapkan untuk menyelesaikan perilaku ini sebelum GA.
--fields.alias
Alias untuk bidang . Gunakan daftar yang dipisahkan koma yang diratakan ke --fields.name.
Nota
Opsi ini tersedia di CLI pratinjau Azure Data API builder 2.0. Instal prarilis terbaru dengan dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab add Products \
--source dbo.Products \
--permissions "anonymous:*" \
--fields.name "ProductID" \
--fields.alias "product_id"
--fields.description
Deskripsi untuk bidang . Gunakan daftar yang dipisahkan koma yang diratakan ke --fields.name.
Nota
Opsi ini tersedia di CLI pratinjau Azure Data API builder 2.0. Instal prarilis terbaru dengan dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab add Products \
--source dbo.Products \
--permissions "anonymous:*" \
--fields.name "ProductID" \
--fields.description "Unique identifier"
--fields.primary-key
Bendera kunci utama untuk bidang . Gunakan daftar true/false nilai yang dipisahkan koma yang diratakan ke .--fields.name
Nota
Opsi ini tersedia di CLI pratinjau Azure Data API builder 2.0. Instal prarilis terbaru dengan dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab add Products \
--source dbo.Products \
--permissions "anonymous:*" \
--fields.name "ProductID" \
--fields.primary-key "true"
Nota
Dalam CLI pratinjau Azure Data API builder 2.0 saat ini, CLI menerima --fields.primary-key tetapi belum mempertahankan metadata bidang tingkat entitas ke file konfigurasi. Untuk menentukan bidang kunci utama untuk tampilan, gunakan --source.key-fields sebagai gantinya.
--graphql
Mengontrol paparan GraphQL.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--graphql book:books
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"graphql": {
"enabled": true,
"type": {
"singular": "book",
"plural": "books"
}
}
}
}
}
--graphql.operation
Prosedur tersimpan saja. Jenis operasi GraphQL. Defaultnya adalah mutation.
Example
dab add BookProc \
--source dbo.MyProc \
--source.type stored-procedure \
--permissions "admin:execute" \
--graphql.operation Query
Konfigurasi yang dihasilkan
{
"entities": {
"BookProc": {
"source": { "type": "stored-procedure", "object": "dbo.MyProc" },
"permissions": [
{ "role": "admin", "actions": [ { "action": "execute" } ] }
],
"graphql": {
"enabled": true,
"operation": "query",
"type": {
"singular": "BookProc",
"plural": "BookProcs"
}
}
}
}
}
--rest
Mengontrol paparan REST.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--rest BooksApi
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"rest": {
"enabled": true,
"path": "/BooksApi"
}
}
}
}
--rest.methods
Prosedur tersimpan saja. Kata kerja HTTP diizinkan untuk eksekusi: GET, , POST, PUTPATCH, DELETE. Default ke POST. Diabaikan untuk tabel/tampilan.
Example
dab add BookProc \
--source dbo.MyProc \
--source.type stored-procedure \
--permissions "admin:execute" \
--rest true \
--rest.methods GET,POST
Konfigurasi yang dihasilkan
{
"entities": {
"BookProc": {
"source": { "type": "stored-procedure", "object": "dbo.MyProc" },
"permissions": [
{ "role": "admin", "actions": [ { "action": "execute" } ] }
],
"rest": {
"enabled": true,
"methods": [ "get", "post" ]
}
}
}
}
--mcp.dml-tools
Aktifkan atau nonaktifkan alat DML untuk entitas ini di MCP. Standar: true. Ketika diatur ke false, entitas dikecualikan dari permukaan alat MCP DML. Ketika mcp dihilangkan sepenuhnya, alat DML diaktifkan secara default.
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.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--mcp.dml-tools true
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"mcp": {
"dml-tools": true
}
}
}
}
--mcp.custom-tool
Daftarkan entitas prosedur tersimpan sebagai alat MCP bernama. Hanya valid ketika --source.type adalah stored-procedure. Ketika true, DAB secara dinamis mendaftarkan prosedur dalam respons MCP tools/list dan agen dapat memanggilnya melalui tools/call.
Example
dab add GetBookById \
--source dbo.get_book_by_id \
--source.type stored-procedure \
--permissions "anonymous:execute" \
--mcp.custom-tool true
Konfigurasi yang dihasilkan
{
"entities": {
"GetBookById": {
"source": {
"type": "stored-procedure",
"object": "dbo.get_book_by_id"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "execute" } ] }
],
"mcp": {
"custom-tool": true
}
}
}
}
Penting
--mcp.custom-tool hanya berlaku untuk entitas prosedur tersimpan. Menggunakannya dengan entitas tabel atau tampilan menyebabkan kesalahan validasi.
--permissions
Mendefinisikan pasangan peran→actions.
--permissions tidak dapat diulang. Untuk menambahkan lebih banyak peran, jalankan dab add dengan satu peran lalu jalankan dab update untuk lebih banyak peran.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read"
dab update Book \
--permissions "authenticated:create,read,update,delete"
--policy-database
Kebijakan tingkat database.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--policy-database "region eq 'US'"
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"policy": {
"database": "region eq 'US'"
}
}
]
}
]
}
}
}
--policy-request
Kebijakan tingkat permintaan.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--policy-request "@claims.role == 'admin'"
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"policy": {
"request": "@claims.role == 'admin'"
}
}
]
}
]
}
}
}
--help
Tampilkan layar bantuan ini.
Example
dab add \
--help
--version
Tampilkan informasi versi.
Example
dab add \
--version