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 |
|---|---|
<entity-name> |
Argumen posisi yang diperlukan. Nama entitas logis. |
-c, --config |
Jalur file konfigurasi. Bawaan dab-config.json. |
--cache.enabled |
Aktifkan/nonaktifkan penembolokan untuk entitas. |
--cache.ttl |
Cache time-to-live dalam hitungan detik. |
--description |
Deskripsi bentuk bebas untuk entitas. |
--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). |
--graphql |
Paparan GraphQL: false, true, singular, atau singular:plural. |
--graphql.operation |
Prosedur tersimpan saja.
Query atau Mutation (mutasi default). |
--permissions |
Dibutuhkan.
role:actions untuk satu peran. |
--policy-database |
Filter gaya OData diterapkan dalam kueri DB. |
--policy-request |
Kebijakan permintaan dievaluasi sebelum panggilan DB. |
--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. |
--rest |
Paparan REST: false, true, atau rute kustom. |
--rest.methods |
Prosedur tersimpan saja. Kata kerja yang diizinkan: GET, , POSTPUT, PATCH, DELETE. POST default. |
-s, --source |
Dibutuhkan. Nama objek database (tabel, tampilan, atau prosedur tersimpan). |
--source.key-fields |
Bidang yang akan digunakan sebagai kunci primer. |
--source.params |
Prosedur tersimpan saja. Nilai parameter default. |
--source.type |
Jenis sumber: table, view, stored-procedure (tabel default). |
--help |
Tampilkan layar bantuan ini. |
--version |
Tampilkan informasi versi. |
<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 \
--source.params "year:2024,active: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"
--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": {
"enabled": true
}
}
}
}
--cache.ttl
Cache time-to-live dalam hitungan detik.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--cache.ttl 300
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"cache": {
"enabled": false,
"ttl-seconds": 300
}
}
}
}
--description
Deskripsi teks bebas entitas.
Nota
Opsi ini hanya tersedia di CLI prarilis v1.7 (saat ini RC). Instal 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"
}
}
}
--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": {
"include": [ "id", "title", "price" ]
}
}
]
}
]
}
}
}
--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"
}
}
}
}
--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 peran tambahan.
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read"
dab update Book \
--permissions "authenticated:create,read,update,delete"
--parameters.name
Prosedur tersimpan saja. Daftar nama parameter yang dipisahkan koma.
Nota
Opsi ini hanya tersedia di CLI prarilis v1.7 (saat ini RC). Instal 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,
"description": "Beginning of date range (inclusive)"
},
{
"name": "EndDate",
"required": true,
"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 hanya tersedia di CLI prarilis v1.7 (saat ini RC). Instal 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 hanya tersedia di CLI prarilis v1.7 (saat ini RC). Instal 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 hanya tersedia di CLI prarilis v1.7 (saat ini RC). Instal 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.name
Nama kolom database yang akan dijelaskan.
Nota
Opsi ini hanya tersedia di CLI prarilis v1.7 (saat ini RC). Instal 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
{
"entities": {
"Products": {
"source": { "type": "table", "object": "dbo.Products" },
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "*" } ] }
],
"fields": [
{
"name": "ProductID",
"alias": "product_id",
"description": "Unique identifier for each product",
"primary-key": true
},
{
"name": "ProductName",
"alias": "product_name",
"description": "Display name of the product",
"primary-key": false
}
]
}
}
}
--fields.alias
Alias untuk bidang . Gunakan daftar yang dipisahkan koma yang diratakan ke --fields.name.
Nota
Opsi ini hanya tersedia di CLI prarilis v1.7 (saat ini RC). Instal 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 hanya tersedia di CLI prarilis v1.7 (saat ini RC). Instal 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 hanya tersedia di CLI prarilis v1.7 (saat ini RC). Instal dengan dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab add Products \
--source dbo.Products \
--permissions "anonymous:*" \
--fields.name "ProductID" \
--fields.primary-key "true"
Konfigurasi yang dihasilkan
{
"entities": {
"Products": {
"source": { "type": "table", "object": "dbo.Products" },
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "*" } ] }
],
"fields": [
{
"name": "ProductID",
"primary-key": true
}
]
}
}
}
--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'"
}
}
]
}
]
}
}
}
--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" ]
}
}
}
}
-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.key-fields
Bidang yang akan digunakan sebagai kunci primer. Diperlukan untuk tampilan saat dihasilkan melalui CLI.
Example
dab add BookView \
--source dbo.MyView \
--source.type view \
--source.key-fields "id,region" \
--permissions "anonymous:read"
Konfigurasi yang dihasilkan
{
"entities": {
"BookView": {
"source": {
"type": "view",
"object": "dbo.MyView",
"key-fields": [ "id", "region" ]
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}
--source.params
Prosedur tersimpan saja. Pasangan yang dipisahkan name:value koma. Tidak diperbolehkan untuk tabel atau tampilan.
Nota
Dalam CLI prarilis v1.7 (saat ini RC), --source.params tidak digunakan lagi. Gunakan --parameters.name, --parameters.default, dan opsi terkait --parameters.* sebagai gantinya.
Example
dab add BookProc \
--source dbo.MyProc \
--source.type stored-procedure \
--source.params "year:2024,active:true" \
--permissions "admin:execute"
Konfigurasi yang dihasilkan
{
"entities": {
"BookProc": {
"source": {
"type": "stored-procedure",
"object": "dbo.MyProc",
"parameters": [
{
"name": "year",
"required": false,
"default": "2024"
},
{
"name": "active",
"required": false,
"default": "True"
}
]
},
"permissions": [
{ "role": "admin", "actions": [ { "action": "execute" } ] }
]
}
}
}
--help
Tampilkan layar bantuan ini.
Example
dab add \
--help
--version
Tampilkan informasi versi.
Example
dab add \
--version
--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" } ] }
]
}
}
}