既存のデータ API ビルダー構成ファイルに新しいエンティティ定義を追加します。
dab initで作成された構成が既に必要です。
dab updateを使用して、作成後にエンティティを変更します。
ヒント
dab addを使用して新しいエンティティを作成し、それらを進化dab updateします。
構文
dab add <entity-name> [options]
チラッ
| Option | 概要 |
|---|---|
-c, --config |
構成ファイルのパス。 デフォルト dab-config.json。 |
ヘッド セクション
| Option | 概要 |
|---|---|
<entity-name> |
必要な位置引数。 論理エンティティ名。 |
-s, --source |
必須。 データベース オブジェクト名 (テーブル、ビュー、またはストアド プロシージャ)。 |
--source.type |
ソースの種類: table、 view、 stored-procedure (既定のテーブル)。 |
--source.key-fields |
ビューの主キー フィールド (コンマ区切り)。 |
--source.params |
ストアド プロシージャのみ。
param1:val1,param2:val2としての既定のパラメーター値。 |
キャッシュ セクション
| Option | 概要 |
|---|---|
--cache.enabled |
エンティティのキャッシュを有効または無効にします。 |
--cache.ttl |
キャッシュの有効期間 (秒単位)。 |
--description |
エンティティの自由形式の説明。 |
パラメーター セクション
| Option | 概要 |
|---|---|
--parameters.name |
ストアド プロシージャのみ。 パラメーター名 (コンマ区切り)。 |
--parameters.description |
ストアド プロシージャのみ。 パラメーターの説明。 |
--parameters.required |
ストアド プロシージャのみ。 パラメーターに必要なフラグ。 |
--parameters.default |
ストアド プロシージャのみ。 パラメーターの既定値。 |
[フィールド] セクション
| Option | 概要 |
|---|---|
--fields.exclude |
コンマ区切りの除外フィールド。 |
--fields.include |
コンマ区切りの許可されるフィールド (* = すべて)。 |
--fields.name |
記述するフィールド名 (繰り返し可能またはコンマ区切り)。 |
--fields.alias |
フィールドエイリアス (コンマ区切り、 --fields.nameに合わせて配置)。 |
--fields.description |
フィールドの説明 (コンマ区切り、 --fields.nameにアライン)。 |
--fields.primary-key |
主キー フラグ (コンマ区切り、 --fields.nameにアライン)。 |
API セクション
| Option | 概要 |
|---|---|
--graphql |
GraphQL の公開: false、 true、 singular、または singular:plural。 |
--graphql.operation |
ストアド プロシージャのみ。
Query または Mutation (既定の変更)。 |
--rest |
REST 公開: false、 true、またはカスタム ルート。 |
--rest.methods |
ストアド プロシージャのみ。 使用できる動詞: GET、 POST、 PUT、 PATCH、 DELETE。 既定の POST。 |
--mcp.dml-tools |
モデル コンテキスト プロトコル (MCP) のエンティティのデータ操作言語 (DML) ツールを有効または無効にします。 デフォルト true。 |
--mcp.custom-tool |
ストアド プロシージャのみ。 名前付き MCP ツールとして登録します。 |
[アクセス許可] セクション
| Option | 概要 |
|---|---|
--permissions |
必須。
role:actions 1 つのロールの場合は〘。 |
--policy-database |
データベース クエリに適用される OData スタイルのフィルター。 |
--policy-request |
データベース呼び出しの前に評価された要求ポリシー。 |
<entity-name>
config 内のエンティティの論理名。大文字と小文字が区別されます。
テーブル、ビュー、ストアド プロシージャの簡単な例
テーブルを追加する
dab add Book \
--source dbo.Books \
--source.type table \
--permissions "anonymous:read" \
--description "Example for managing book inventory"
ビューを追加する
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"
ストアド プロシージャを追加する
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
構成ファイルのパス。 既定値は dab-config.json です。
Example
dab add Book \
--config ./dab-config.mssql.json \
--source dbo.Books \
--permissions "anonymous:read"
-s, --source
必須。 データベース オブジェクトの名前: テーブル、ビュー、コンテナー、またはストアド プロシージャ。
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read"
結果の構成
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}
--source.type
データベース オブジェクトの種類。 既定値: table。
Example
dab add Book \
--source dbo.Books \
--source.type table \
--permissions "anonymous:read"
結果の構成
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}
--source.key-fields
主キーとして使用する 1 つ以上のフィールド。 ビューには組み込みの主キーがないため、キー フィールドを明示的に指定する必要があります。
Example
dab add BookView \
--source dbo.MyView \
--source.type view \
--source.key-fields "id,region" \
--permissions "anonymous:read"
結果の構成
{
"entities": {
"BookView": {
"source": {
"object": "dbo.MyView",
"type": "view",
"key-fields": [ "id", "region" ]
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
]
}
}
}
--source.params
パラメーターのディクショナリとストアド プロシージャの既定値。 「param1:val1,param2:val2」の形式を使用します。
Example
dab add BookProc \
--source dbo.MyProc \
--source.type stored-procedure \
--source.params "year:2024,active:true" \
--permissions "anonymous:execute"
結果の構成
{
"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
キャッシュを有効または無効にします。
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--cache.enabled true
結果の構成
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"cache": {}
}
}
}
--cache.ttl
キャッシュの有効期間 (秒単位)。
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--cache.ttl 300
結果の構成
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"cache": {
"ttl-seconds": 300
}
}
}
}
--description
エンティティの自由テキストの説明。
注
このオプションは、 2.0.0-rc CLI で使用できます。 データ API ビルダー 2.0 は現在プレビュー段階です。
dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prereleaseを使用してインストールします。
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--description "Entity for managing book inventory"
結果の構成
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"description": "Entity for managing book inventory"
}
}
}
--parameters.name
ストアド プロシージャのみ。 パラメーター名のコンマ区切りリスト。
注
このオプションは、 2.0.0-rc CLI で使用できます。 データ API ビルダー 2.0 は現在プレビュー段階です。
dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --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"
結果の構成
{
"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
ストアド プロシージャのみ。
--parameters.nameにアラインされたパラメーター記述のコンマ区切りのリスト。
注
このオプションは、 2.0.0-rc CLI で使用できます。 データ API ビルダー 2.0 は現在プレビュー段階です。
dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --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
ストアド プロシージャのみ。
trueにアラインされた/false--parameters.name値のコンマ区切りリスト。
注
このオプションは、 2.0.0-rc CLI で使用できます。 データ API ビルダー 2.0 は現在プレビュー段階です。
dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --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
ストアド プロシージャのみ。
--parameters.nameにアラインされた既定値のコンマ区切りの一覧。
注
このオプションは、 2.0.0-rc CLI で使用できます。 データ API ビルダー 2.0 は現在プレビュー段階です。
dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prereleaseを使用してインストールします。
Example
dab add GetOrdersByDateRange \
--source dbo.usp_GetOrdersByDateRange \
--source.type stored-procedure \
--permissions "authenticated:execute" \
--parameters.name "CustomerID" \
--parameters.default "null"
--fields.exclude
除外するフィールドのコンマ区切りのリスト。
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--fields.exclude "internal_flag,secret_note"
結果の構成
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"fields": {
"exclude": [ "internal_flag", "secret_note" ]
}
}
]
}
]
}
}
}
--fields.include
公開するフィールドのコンマ区切りのリスト。
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--fields.include "id,title,price"
結果の構成
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"fields": {
"exclude": [],
"include": [ "id", "title", "price" ]
}
}
]
}
]
}
}
}
--fields.name
説明するデータベース列の名前。
注
このオプションは、 2.0.0-rc CLI で使用できます。 データ API ビルダー 2.0 は現在プレビュー段階です。
dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --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"
結果の構成
注
現在の 2.0.0-rc リリースでは、CLI は --fields.name、 --fields.alias、 --fields.description、および --fields.primary-key を受け入れますが、エンティティ レベルのフィールド メタデータを構成ファイルにまだ保持していません。 チームは、GA の前にこの動作を解決することを期待しています。
--fields.alias
フィールドのエイリアス。
--fields.nameに合わせてコンマ区切りのリストを使用します。
注
このオプションは、 2.0.0-rc CLI で使用できます。 データ API ビルダー 2.0 は現在プレビュー段階です。
dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prereleaseを使用してインストールします。
Example
dab add Products \
--source dbo.Products \
--permissions "anonymous:*" \
--fields.name "ProductID" \
--fields.alias "product_id"
--fields.description
フィールドの説明。
--fields.nameに合わせてコンマ区切りのリストを使用します。
注
このオプションは、 2.0.0-rc CLI で使用できます。 データ API ビルダー 2.0 は現在プレビュー段階です。
dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prereleaseを使用してインストールします。
Example
dab add Products \
--source dbo.Products \
--permissions "anonymous:*" \
--fields.name "ProductID" \
--fields.description "Unique identifier"
--fields.primary-key
フィールドの主キー フラグ。
trueにアラインされた/false--fields.name値のコンマ区切りのリストを使用します。
注
このオプションは、 2.0.0-rc CLI で使用できます。 データ API ビルダー 2.0 は現在プレビュー段階です。
dotnet tool install microsoft.dataapibuilder --version 2.0.0-rc --prereleaseを使用してインストールします。
Example
dab add Products \
--source dbo.Products \
--permissions "anonymous:*" \
--fields.name "ProductID" \
--fields.primary-key "true"
注
現在の 2.0.0-rc リリースでは、CLI は --fields.primary-key を受け入れますが、エンティティ レベルのフィールド メタデータを構成ファイルにまだ保持していません。 ビューの主キー フィールドを指定するには、代わりに --source.key-fields を使用します。
--graphql
GraphQL の公開を制御します。
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--graphql book:books
結果の構成
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"graphql": {
"enabled": true,
"type": {
"singular": "book",
"plural": "books"
}
}
}
}
}
--graphql.operation
ストアド プロシージャのみ。 GraphQL 操作の種類。 既定値は mutation です。
Example
dab add BookProc \
--source dbo.MyProc \
--source.type stored-procedure \
--permissions "admin:execute" \
--graphql.operation Query
結果の構成
{
"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
REST の公開を制御します。
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--rest BooksApi
結果の構成
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"rest": {
"enabled": true,
"path": "/BooksApi"
}
}
}
}
--rest.methods
ストアド プロシージャのみ。 実行できる HTTP 動詞: GET、 POST、 PUT、 PATCH、 DELETE。 既定値は POST です。 テーブル/ビューでは無視されます。
Example
dab add BookProc \
--source dbo.MyProc \
--source.type stored-procedure \
--permissions "admin:execute" \
--rest true \
--rest.methods GET,POST
結果の構成
{
"entities": {
"BookProc": {
"source": { "type": "stored-procedure", "object": "dbo.MyProc" },
"permissions": [
{ "role": "admin", "actions": [ { "action": "execute" } ] }
],
"rest": {
"enabled": true,
"methods": [ "get", "post" ]
}
}
}
}
--mcp.dml-tools
MCP でこのエンティティの DML ツールを有効または無効にします。 既定値: true。
falseに設定すると、エンティティは MCP DML ツール サーフェイスから除外されます。
mcpを完全に省略すると、DML ツールは既定で有効になります。
注
このセクションで説明する Data API Builder 2.0 の機能は現在プレビュー段階であり、一般公開前に変更される可能性があります。 詳細については、「 バージョン 2.0 の新機能」を参照してください。
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--mcp.dml-tools true
結果の構成
{
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.Books"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "read" } ] }
],
"mcp": true
}
}
}
--mcp.custom-tool
ストアド プロシージャ エンティティを名前付き MCP ツールとして登録します。
--source.typeがstored-procedureされている場合にのみ有効です。
trueすると、DAB は MCP tools/list応答にプロシージャを動的に登録し、エージェントはtools/callを介して呼び出すことができます。
Example
dab add GetBookById \
--source dbo.get_book_by_id \
--source.type stored-procedure \
--permissions "anonymous:execute" \
--mcp.custom-tool true
結果の構成
{
"entities": {
"GetBookById": {
"source": {
"type": "stored-procedure",
"object": "dbo.get_book_by_id"
},
"permissions": [
{ "role": "anonymous", "actions": [ { "action": "execute" } ] }
],
"mcp": {
"custom-tool": true
}
}
}
}
Important
--mcp.custom-tool はストアド プロシージャ エンティティに対してのみ有効です。 テーブルエンティティまたはビューエンティティと共に使用すると、検証エラーが発生します。
--permissions
ロール→アクションのペアを定義します。
--permissions は繰り返しできません。 ロールを追加するには、1 つのロールで dab add を実行し、さらにロールの dab update を実行します。
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read"
dab update Book \
--permissions "authenticated:create,read,update,delete"
--policy-database
データベース レベルのポリシー。
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--policy-database "region eq 'US'"
結果の構成
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"policy": {
"database": "region eq 'US'"
}
}
]
}
]
}
}
}
--policy-request
要求レベルのポリシー。
Example
dab add Book \
--source dbo.Books \
--permissions "anonymous:read" \
--policy-request "@claims.role == 'admin'"
結果の構成
{
"entities": {
"Book": {
"source": { "type": "table", "object": "dbo.Books" },
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "read",
"policy": {
"request": "@claims.role == 'admin'"
}
}
]
}
]
}
}
}
--help
このヘルプ画面を表示します。
Example
dab add \
--help
--version
バージョン情報を表示します。
Example
dab add \
--version