Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dodaj nową definicję jednostki do istniejącego pliku konfiguracji konstruktora interfejsu API danych. Musisz mieć już utworzoną konfigurację za pomocą dab initpolecenia . Użyj polecenia dab update , aby zmodyfikować jednostki po utworzeniu.
Wskazówka
Użyj dab add polecenia , aby utworzyć nowe jednostki i dab update rozwijać je. Ponowne mapowanie nazwy pola (--map) jest dostępne tylko w pliku update, a nie w add.
Składnia
dab add <entity-name> [options]
Szybki rzut oka
| Option | Podsumowanie |
|---|---|
<entity-name> |
Wymagany argument pozycyjny. Nazwa jednostki logicznej. |
-c, --config |
Ścieżka pliku konfiguracji. Wartość domyślna dab-config.json. |
--cache.enabled |
Włączanie/wyłączanie buforowania dla jednostki. |
--cache.ttl |
Czas wygaśnięcia pamięci podręcznej w sekundach. |
--description |
Dowolny opis jednostki. |
--fields.exclude |
Wykluczone pola rozdzielone przecinkami. |
--fields.include |
Pola dozwolone rozdzielone przecinkami (* = wszystkie). |
--graphql |
Ekspozycja graphQL: false, true, singularlub singular:plural. |
--graphql.operation |
Tylko procedury składowane.
query lub mutation (mutacja domyślna). |
--permissions |
To jest wymagane.
role:actions Co najmniej jedna para. Powtarzalne. |
--policy-database |
Filtr w stylu OData zastosowany w zapytaniu bazy danych. |
--policy-request |
Zażądaj oceny zasad przed wywołaniem bazy danych. |
--rest |
Ekspozycja REST: false, truelub trasa niestandardowa. |
--rest.methods |
Tylko procedury składowane. Dozwolone czasowniki HTTP. Domyślny post. |
-s, --source |
To jest wymagane. Nazwa obiektu bazy danych (tabela, widok lub procedura składowana). |
--source.key-fields |
Wymagane dla widoków lub gdy klucz PK nie został wywnioskowany. Niedozwolone dla procs. |
--source.params |
Tylko procedury składowane. Domyślne wartości parametrów. |
--source.type |
Typ źródła: table, , stored-procedureview(tabela domyślna). |
<entity-name>
Logiczna nazwa jednostki w konfiguracji. Uwzględniana wielkość liter.
Example
dab add Book --source dbo.Books --permissions "anonymous:read"
Wynikowa konfiguracja
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{
"role": "anonymous",
"actions": [ "read" ]
}
]
}
}
}
-c, --config
Ścieżka pliku konfiguracji. Wartość domyślna to dab-config.json.
Example
dab add Book --config ./dab-config.mssql.json --source dbo.Books --permissions "anonymous:read"
--cache.enabled
Włącz lub wyłącz buforowanie.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --cache.enabled true
Wynikowa konfiguracja
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"cache": {
"enabled": true
}
}
}
}
--cache.ttl
Czas wygaśnięcia pamięci podręcznej w sekundach.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --cache.ttl 300
Wynikowa konfiguracja
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"cache": {
"ttl-seconds": 300
}
}
}
}
--description
Dowolny tekst opisu jednostki.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --description "Entity for managing book inventory"
Wynikowa konfiguracja
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"description": "Entity for managing book inventory"
}
}
}
--fields.exclude
Rozdzielona przecinkami lista pól do wykluczenia.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --fields.exclude "internal_flag,secret_note"
Wynikowa konfiguracja
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"graphql": {
"fields": {
"exclude": [ "internal_flag", "secret_note" ]
}
}
}
}
}
--fields.include
Rozdzielona przecinkami lista pól do uwidocznienia.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --fields.include "id,title,price"
Wynikowa konfiguracja
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"graphql": {
"fields": {
"include": [ "id", "title", "price" ]
}
}
}
}
}
--graphql
Kontrolowanie ekspozycji GraphQL.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --graphql book:books
Wynikowa konfiguracja
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"graphql": {
"singular": "book",
"plural": "books"
}
}
}
}
--graphql.operation
Tylko procedury składowane. Typ operacji GraphQL. Wartość domyślna to mutation.
Example
dab add BookProc --source dbo.MyProc --source.type stored-procedure --permissions "admin:execute" --graphql.operation query
Wynikowa konfiguracja
{
"entities": {
"BookProc": {
"source": { "type": "stored-procedure", "object": "dbo.MyProc" },
"permissions": [
{ "role": "admin", "actions": [ "execute" ] }
],
"graphql": {
"operation": "query"
}
}
}
}
--permissions
Definiuje pary ról→akcje. Użyj powtarzających się flag dla wielu ról.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --permissions "authenticated:create,read,update,delete"
Wynikowa konfiguracja
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] },
{ "role": "authenticated", "actions": [ "create", "read", "update", "delete" ] }
]
}
}
}
--policy-database
Zasady na poziomie bazy danych.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --policy-database "region eq 'US'"
Wynikowa konfiguracja
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"policies": {
"database": "region eq 'US'"
}
}
}
}
--policy-request
Zasady na poziomie żądania.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --policy-request "@claims.role == 'admin'"
Wynikowa konfiguracja
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"policies": {
"request": "@claims.role == 'admin'"
}
}
}
}
--rest
Kontrolowanie ekspozycji REST.
Example
dab add Book --source dbo.Books --permissions "anonymous:read" --rest BooksApi
Wynikowa konfiguracja
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
],
"rest": {
"path": "BooksApi"
}
}
}
}
--rest.methods
Tylko procedury składowane. Czasowniki HTTP dozwolone do wykonania. Domyślnie jest to POST. Ignorowane dla tabel/widoków.
Example
dab add BookProc --source dbo.MyProc --source.type stored-procedure --permissions "admin:execute" --rest true --rest.methods GET,POST
Wynikowa konfiguracja
{
"entities": {
"BookProc": {
"source": { "type": "stored-procedure", "object": "dbo.MyProc" },
"permissions": [
{ "role": "admin", "actions": [ "execute" ] }
],
"rest": {
"path": "BookProc",
"methods": [ "GET", "POST" ]
}
}
}
}
-s, --source
To jest wymagane. Nazwa obiektu bazy danych: tabela, widok lub procedura składowana.
Example
dab add Book --source dbo.Books --permissions "anonymous:read"
Wynikowa konfiguracja
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
]
}
}
}
--source.key-fields
Wymagane dla widoków. Wymagane również w przypadku tabel bez wnioskowanego klucza PK. Niedozwolone dla procedur składowanych.
Example
dab add BookView --source dbo.MyView --source.type view --source.key-fields "id,region" --permissions "anonymous:read"
Wynikowa konfiguracja
{
"entities": {
"BookView": {
"source": {
"type": "view",
"object": "dbo.MyView",
"keyFields": [ "id", "region" ]
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
]
}
}
}
--source.params
Tylko procedury składowane. Pary rozdzielone name:value przecinkami. Niedozwolone dla tabel lub widoków.
Example
dab add BookProc --source dbo.MyProc --source.type stored-procedure --source.params "year:2024,active:true" --permissions "admin:execute"
Wynikowa konfiguracja
{
"entities": {
"BookProc": {
"source": {
"type": "stored-procedure",
"object": "dbo.MyProc",
"params": {
"year": 2024,
"active": true
}
},
"permissions": [
{ "role": "admin", "actions": [ "execute" ] }
]
}
}
}
--source.type
Typ obiektu bazy danych. Wartość domyślna: table.
Example
dab add Book --source dbo.Books --source.type table --permissions "anonymous:read"
Wynikowa konfiguracja
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
]
}
}
}