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.
Perbarui definisi entitas yang ada dalam file konfigurasi penyusun API Data. Gunakan perintah ini untuk menyesuaikan metadata sumber, izin, paparan (REST/GraphQL), kebijakan, penembolokan, hubungan, pemetaan, dan metadata deskriptif setelah entitas ditambahkan.
Petunjuk / Saran
Gunakan dab add untuk membuat entitas baru, dan dab update untuk mengembangkannya. Pemetakan ulang nama bidang (--map) hanya tersedia di update, bukan di add.
Syntax
dab update <entity-name> [options]
Sekilas
| Option | Ringkasan |
|---|---|
<entity-name> |
Argumen posisi yang diperlukan. Nama entitas logis. |
-s, --source |
Nama tabel sumber, tampilan, atau prosedur tersimpan. |
--permissions |
Peran dan tindakan dalam role:actions format. |
--description |
Ganti deskripsi entitas. |
-c, --config |
Jalur ke file konfigurasi. Resolusi default berlaku jika dihilangkan. |
--help |
Tampilkan layar bantuan. |
--version |
Tampilkan informasi versi. |
Cache
| Option | Ringkasan |
|---|---|
--cache.enabled |
Mengaktifkan atau menonaktifkan penembolokan entitas. |
--cache.ttl |
Cache time-to-live dalam hitungan detik. |
Fields
| Option | Ringkasan |
|---|---|
--fields.exclude |
Daftar bidang yang dikecualikan yang dipisahkan koma. |
--fields.include |
Daftar bidang yang disertakan yang dipisahkan koma (* = semua). |
-m, --map |
Pasangan pemetaan bidang name:alias. Menggantikan seluruh set. |
Metadata bidang
| Option | Ringkasan |
|---|---|
--fields.name |
Nama kolom database yang akan dijelaskan. |
--fields.alias |
Alias untuk bidang . |
--fields.description |
Deskripsi untuk bidang . |
--fields.primary-key |
Atur bidang ini sebagai kunci primer. |
GraphQL
| Option | Ringkasan |
|---|---|
--graphql |
Paparan GraphQL: false, true, singular, atau singular:plural. |
--graphql.operation |
Prosedur tersimpan saja: query atau mutation (mutasi default). |
Izin & Kebijakan
| Option | Ringkasan |
|---|---|
--permissions |
role:actions untuk satu peran. Jalankan beberapa kali untuk beberapa peran. |
--policy-database |
Filter gaya OData disuntikkan dalam kueri DB. |
--policy-request |
Filter permintaan pra-database. |
Hubungan
| Option | Ringkasan |
|---|---|
--relationship |
Nama hubungan. Gunakan dengan opsi hubungan. |
--cardinality |
Kardinalitas hubungan: one atau many. |
--target.entity |
Nama entitas target. |
--linking.object |
Menautkan objek untuk banyak ke banyak. |
--linking.source.fields |
Menautkan bidang objek yang menunjuk ke sumber. |
--linking.target.fields |
Menautkan bidang objek yang menunjuk ke target. |
--relationship.fields |
Pemetaan bidang untuk hubungan langsung. |
REST
| Option | Ringkasan |
|---|---|
--rest |
Paparan REST: false, true, atau jalur kustom. |
--rest.methods |
Prosedur tersimpan saja. Ganti kata kerja HTTP yang diizinkan. |
Sumber
| Option | Ringkasan |
|---|---|
-s, --source |
Nama objek database yang mendasar. |
--source.key-fields |
Diperlukan untuk tampilan atau tabel non-PK. |
--source.params |
Prosedur tersimpan saja. Ganti param default. |
--source.type |
Jenis sumber: table, view, atau stored-procedure. |
Parameter (prosedur tersimpan)
| Option | Ringkasan |
|---|---|
--parameters.name |
Daftar nama parameter yang dipisahkan koma. |
--parameters.description |
Daftar deskripsi parameter yang dipisahkan koma. |
--parameters.required |
Daftar bendera yang diperlukan yang dipisahkan koma. |
--parameters.default |
Daftar nilai default yang dipisahkan koma. |
--cache.enabled
Aktifkan atau nonaktifkan penembolokan untuk entitas ini.
Example
dab update \
Book \
--cache.enabled true
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"cache": {
"enabled": true
}
}
}
}
--cache.ttl
Atur cache time-to-live dalam hitungan detik. Hanya efektif jika penembolokan diaktifkan.
Example
dab update \
Book \
--cache.ttl 600
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"cache": {
"ttl-seconds": 600
}
}
}
}
Nota
Menyediakan TTL ketika cache dinonaktifkan tidak berpengaruh sampai penembolokan diaktifkan.
--description
Ganti deskripsi entitas.
Nota
Opsi ini hanya tersedia di CLI prarilis v1.7 (saat ini RC). Instal dengan dotnet tool install microsoft.dataapibuilder --prerelease.
Example
dab update \
Book \
--description "Updated description"
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"description": "Updated description"
}
}
}
--fields.exclude
Daftar bidang yang dipisahkan koma untuk dikecualikan.
Example
dab update \
Book \
--permissions "anonymous:read" \
--fields.exclude "internal_flag,secret_note"
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"fields": {
"exclude": [ "internal_flag", "secret_note" ]
}
}
]
}
]
}
}
}
--fields.include
Daftar bidang yang dipisahkan koma untuk disertakan.
* mencakup semua bidang. Mengganti daftar sertakan yang sudah ada.
Example
dab update \
Book \
--permissions "anonymous:read" \
--fields.include "id,title,author"
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"fields": {
"exclude": [],
"include": [ "id", "title", "author" ]
}
}
]
}
]
}
}
}
--graphql
Mengontrol paparan GraphQL.
Example
dab update \
Book \
--graphql book:books
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"graphql": {
"enabled": true,
"type": {
"singular": "book",
"plural": "books"
}
}
}
}
}
--graphql.operation
Prosedur tersimpan saja. Mengatur jenis operasi. Defaultnya adalah mutation.
Example
dab update \
RunReport \
--graphql.operation query
Konfigurasi yang dihasilkan
{
"entities": {
"RunReport": {
"graphql": {
"operation": "query"
}
}
}
}
Nota
Penyediaan --graphql.operation untuk tabel atau tampilan diabaikan.
-m, --map
Petakan bidang database ke nama yang diekspos. Menggantikan seluruh set pemetaan.
Example
dab update \
Book \
--map "id:bookId,title:bookTitle"
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"fields": [
{
"name": "id",
"alias": "bookId",
"primary-key": false
},
{
"name": "title",
"alias": "bookTitle",
"primary-key": false
}
]
}
}
}
Penting
Pemetaan yang ada ditimpa. Perbarui semua pemetaan yang ingin Anda simpan.
--permissions
Menambahkan atau memperbarui izin untuk satu peran dan tindakannya.
Anda dapat menjalankan dab update beberapa kali (sekali per peran) untuk menambahkan beberapa peran.
Example
dab update \
Book \
--permissions "anonymous:read"
dab update \
Book \
--permissions "authenticated:create,read,update"
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read"
}
]
},
{
"role": "authenticated",
"actions": [
{ "action": "create" },
{ "action": "read" },
{ "action": "update" }
]
}
]
}
}
}
Nota
Jika peran yang ditentukan sudah ada, tindakannya akan diperbarui; jika tidak, peran ditambahkan.
--policy-database
Filter gaya OData ditambahkan ke kueri DB.
Example
dab update \
Book \
--permissions "anonymous:read" \
--policy-database "region eq 'US'"
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"policy": {
"database": "region eq 'US'"
}
}
]
}
]
}
}
}
--policy-request
Kebijakan tingkat permintaan dievaluasi sebelum mencapai database.
Example
dab update \
Book \
--permissions "anonymous:read" \
--policy-request "@claims.role == 'admin'"
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"policy": {
"request": "@claims.role == 'admin'"
}
}
]
}
]
}
}
}
--relationship
Tentukan atau perbarui hubungan. Gunakan dengan opsi hubungan lainnya.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
Konfigurasi yang dihasilkan
{
"entities": {
"User": {
"relationships": {
"profile": {
"cardinality": "one",
"target.entity": "Profile",
"source.fields": [ "id" ],
"target.fields": [ "user_id" ]
}
}
}
}
}
--cardinality
Kardinalitas untuk hubungan. Gunakan dengan --relationship.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
--target.entity
Nama entitas target untuk hubungan. Gunakan dengan --relationship.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
--linking.object
Banyak-ke-banyak saja. Nama objek database yang digunakan sebagai objek penautan.
Example
dab update \
Book \
--relationship books_authors \
--target.entity Author \
--cardinality many \
--relationship.fields "id:id" \
--linking.object dbo.books_authors \
--linking.source.fields book_id \
--linking.target.fields author_id
--linking.source.fields
Banyak-ke-banyak saja. Daftar bidang objek penautan yang dipisahkan koma yang menunjuk ke entitas sumber.
Example
dab update \
Book \
--relationship books_authors \
--target.entity Author \
--cardinality many \
--relationship.fields "id:id" \
--linking.object dbo.books_authors \
--linking.source.fields book_id \
--linking.target.fields author_id
--linking.target.fields
Banyak-ke-banyak saja. Daftar bidang objek penautan yang dipisahkan koma yang menunjuk ke entitas target.
Example
dab update \
Book \
--relationship books_authors \
--target.entity Author \
--cardinality many \
--relationship.fields "id:id" \
--linking.object dbo.books_authors \
--linking.source.fields book_id \
--linking.target.fields author_id
--relationship.fields
Pemetaan bidang yang dipisahkan titik dua untuk hubungan langsung.
Nilainya --relationship.fields adalah daftar pasangan yang sourceField:targetField dipisahkan koma.
Example
dab update \
User \
--relationship profile \
--target.entity Profile \
--cardinality one \
--relationship.fields "id:user_id"
Konfigurasi yang dihasilkan
{
"entities": {
"User": {
"relationships": {
"profile": {
"source.fields": [ "id" ],
"target.fields": [ "user_id" ]
}
}
}
}
}
--rest
Mengontrol paparan REST.
Example
dab update \
Book \
--rest BooksApi
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"rest": {
"enabled": true,
"path": "/BooksApi"
}
}
}
}
--rest.methods
Prosedur tersimpan saja. Ganti metode HTTP yang diizinkan. Default ke POST.
Example
dab update \
RunReport \
--rest true \
--rest.methods GET,POST
Konfigurasi yang dihasilkan
{
"entities": {
"RunReport": {
"rest": {
"enabled": true,
"methods": [ "get", "post" ]
}
}
}
}
Nota
Penyediaan --rest.methods saat REST dinonaktifkan tidak berpengaruh.
-s, --source
Perbarui objek database yang mendasar.
Example
dab update \
Book \
--source dbo.Books
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"source": {
"object": "dbo.Books",
"type": "table"
}
}
}
}
--source.key-fields
Untuk tampilan atau tabel tanpa PK yang disimpulkan. Menggantikan kunci yang ada. Tidak valid untuk prosedur tersimpan.
Example
dab update \
SalesSummary \
--source.type view \
--source.key-fields "year,region"
Konfigurasi yang dihasilkan
{
"entities": {
"SalesSummary": {
"fields": [
{ "name": "year", "primary-key": true },
{ "name": "region", "primary-key": true }
]
}
}
}
Nota
Penggunaan --source.key-fields dengan prosedur tersimpan tidak diperbolehkan.
--source.params
Prosedur tersimpan saja. Ganti default parameter.
Nota
Di CLI prarilis v1.7, --source.params tidak digunakan lagi. Gunakan --parameters.name--parameters.default//--parameters.description/--parameters.required.
Example
dab update \
RunReport \
--source.type stored-procedure \
--source.params "year:2024,region:west"
Konfigurasi yang dihasilkan
{
"entities": {
"RunReport": {
"source": {
"parameters": [
{ "name": "year", "required": false, "default": "2024" },
{ "name": "region", "required": false, "default": "west" }
]
}
}
}
}
Nota
Penggunaan --source.params dengan tabel atau tampilan tidak diperbolehkan.
--source.type
Ubah jenis objek sumber.
Example
dab update \
Book \
--source.type view
Konfigurasi yang dihasilkan
{
"entities": {
"Book": {
"source": {
"type": "view",
"object": "Book"
}
}
}
}
--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 update \
GetOrdersByDateRange \
--parameters.name "StartDate,EndDate" \
--parameters.required "true,true" \
--parameters.description "Beginning of date range,End of date range"
Konfigurasi yang dihasilkan
{
"entities": {
"GetOrdersByDateRange": {
"source": {
"parameters": [
{
"name": "StartDate",
"description": "Beginning of date range",
"required": true
},
{
"name": "EndDate",
"description": "End of date range",
"required": true
}
]
}
}
}
}
--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 update \
GetOrdersByDateRange \
--parameters.name "StartDate,EndDate" \
--parameters.description "Beginning of date range,End of date range"
--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 update \
GetOrdersByDateRange \
--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 update \
GetOrdersByDateRange \
--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 update \
Products \
--fields.name Id \
--fields.primary-key true \
--fields.description "Product Id"
Konfigurasi yang dihasilkan
{
"entities": {
"Products": {
"fields": [
{
"name": "Id",
"description": "Product Id",
"primary-key": true
}
]
}
}
}
--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 update \
Products \
--fields.name Id \
--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 update \
Products \
--fields.name Id \
--fields.description "Product Id"
--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 update \
Products \
--fields.name Id \
--fields.primary-key true
-c, --config
Jalur ke file konfigurasi.
Example
dab update \
Book \
--description "Updated description" \
--config dab-config.json
--help
Tampilkan layar bantuan.
Example
dab update --help
--version
Tampilkan informasi versi.
Example
dab update --version
Penting
Mengubah tipe sumber dapat membatalkan properti lain. Misalnya, tampilan selalu memerlukan bidang kunci; prosedur tersimpan tidak dapat menentukan bidang kunci.