add komut

Var olan bir Data API builder yapılandırma dosyasına yeni bir varlık tanımı ekleyin. ile dab initoluşturulmuş bir yapılandırmanız olmalıdır. Oluşturma işleminden sonra varlıkları değiştirmek için kullanın dab update .

İpucu

Yeni varlıklar oluşturmak ve dab add bunları geliştirmek için kullanındab update.

Sözdizimi

dab add <entity-name> [options]

Hızlı bakış

Seçenek Özet
-c, --config Yapılandırma dosyası yolu. Varsayılan dab-config.json.

Baş bölüm

Seçenek Özet
<entity-name> Gerekli konumsal bağımsız değişken. Mantıksal varlık adı.
-s, --source Gerekli. Veritabanı nesne adı (tablo, görünüm veya saklı yordam).
--source.type Kaynak türü: table, view, stored-procedure (varsayılan tablo).
--source.key-fields Görünümler için birincil anahtar alanları (virgülle ayrılmış).
--source.params Yalnızca saklı yordamlar. Varsayılan parametre değerleri olarak param1:val1,param2:val2.

Önbellek bölümü

Seçenek Özet
--cache.enabled Varlık için önbelleğe almayı etkinleştirin/devre dışı bırakın.
--cache.ttl Yaşam süresini saniyeler içinde önbelleğe alın.
--description Varlık için serbest biçimli açıklama.

Parametreler bölümü

Seçenek Özet
--parameters.name Yalnızca saklı yordamlar. Parametre adları (virgülle ayrılmış).
--parameters.description Yalnızca saklı yordamlar. Parametre açıklamaları.
--parameters.required Yalnızca saklı yordamlar. Parametre gerekli bayraklar.
--parameters.default Yalnızca saklı yordamlar. Parametre varsayılan değerleri.

Alanlar bölümü

Seçenek Özet
--fields.exclude Virgülle ayrılmış dışlanan alanlar.
--fields.include Virgülle ayrılmış izin verilen alanlar (* = tümü).
--fields.name Açıklanabilir alan adları (yinelenebilir veya virgülle ayrılmış).
--fields.alias Alan diğer adları (virgülle ayrılmış, ile --fields.namehizalanmış).
--fields.description Alan açıklamaları (virgülle ayrılmış, ile --fields.namehizalanmış).
--fields.primary-key Birincil anahtar bayrakları (virgülle ayrılmış, ile --fields.namehizalanmış).

API bölümü

Seçenek Özet
--graphql GraphQL pozlaması: false, true, singularveya singular:plural.
--graphql.operation Yalnızca saklı yordamlar. Query veya Mutation (varsayılan mutasyon).
--rest REST pozlaması: false, trueveya özel yol.
--rest.methods Yalnızca saklı yordamlar. İzin verilen fiiller: GET, POST, PUT, PATCH, DELETE. Varsayılan POST.
--mcp.dml-tools Model Bağlam Protokolü'nde (MCP) varlık için veri işleme dili (DML) araçlarını etkinleştirin/devre dışı bırakın. Varsayılan true.
--mcp.custom-tool Yalnızca saklı yordamlar. Adlandırılmış bir MCP aracı olarak kaydolun.

İzinler bölümü

Seçenek Özet
--permissions Gerekli. role:actions tek bir rol için.
--policy-database Veritabanı sorgusuna OData stili filtre uygulandı.
--policy-request İstek ilkesi veritabanı çağrısı öncesinde değerlendirildi.

<entity-name>

Yapılandırmadaki varlığın mantıksal adı. Büyük/küçük harfe duyarlı.

Tablolar, görünümler ve saklı yordamlar için hızlı örnekler

Tablo ekleme

dab add Book \
  --source dbo.Books \
  --source.type table \
  --permissions "anonymous:read" \
  --description "Example for managing book inventory"

Görünüm ekleme

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"

Saklı yordam ekleme

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

Yapılandırma dosyası yolu. Varsayılan dab-config.json değeridir.

Example

dab add Book \
  --config ./dab-config.mssql.json \
  --source dbo.Books \
  --permissions "anonymous:read"

-s, --source

Gerekli. Veritabanı nesnesinin adı: tablo, görünüm, kapsayıcı veya saklı yordam.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read"

Sonuçta elde edilen yapılandırma

{
  "entities": {
    "Book": {
      "source": {
        "type": "table",
        "object": "dbo.Books"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "read" } ] }
      ]
    }
  }
}

--source.type

Veritabanı nesnesinin türü. Varsayılan: table.

Example

dab add Book \
  --source dbo.Books \
  --source.type table \
  --permissions "anonymous:read"

Sonuçta elde edilen yapılandırma

{
  "entities": {
    "Book": {
      "source": {
        "type": "table",
        "object": "dbo.Books"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "read" } ] }
      ]
    }
  }
}

--source.key-fields

Birincil anahtar olarak kullanılacak bir veya daha fazla alan. Görünümlerde iç birincil anahtarlar bulunmadığından, anahtar alanlarını açıkça belirtmeniz gerekir.

Example

dab add BookView \
  --source dbo.MyView \
  --source.type view \
  --source.key-fields "id,region" \
  --permissions "anonymous:read"

Sonuçta elde edilen yapılandırma

{
  "entities": {
    "BookView": {
      "source": {
        "object": "dbo.MyView",
        "type": "view",
        "key-fields": [ "id", "region" ]
      },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "read" } ] }
      ]
    }
  }
}

--source.params

Saklı yordamlar için parametrelerin ve bunların varsayılan değerlerinin sözlüğü. param1:val1,param2:val2 biçimini kullanın.

Example

dab add BookProc \
  --source dbo.MyProc \
  --source.type stored-procedure \
  --source.params "year:2024,active:true" \
  --permissions "anonymous:execute"

Sonuçta elde edilen yapılandırma

{
  "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

Önbelleğe almayı etkinleştirin veya devre dışı bırakın.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read" \
  --cache.enabled true

Sonuçta elde edilen yapılandırma

{
  "entities": {
    "Book": {
      "source": {
        "type": "table",
        "object": "dbo.Books"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "read" } ] }
      ],
      "cache": {}
    }
  }
}

--cache.ttl

Yaşam süresini saniyeler içinde önbelleğe alın.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read" \
  --cache.ttl 300

Sonuçta elde edilen yapılandırma

{
  "entities": {
    "Book": {
      "source": {
        "type": "table",
        "object": "dbo.Books"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "read" } ] }
      ],
      "cache": {
        "ttl-seconds": 300
      }
    }
  }
}

--description

Varlığın serbest metin açıklaması.

Uyarı

Bu seçenek CLI'da 2.0.0-rc kullanılabilir. Veri API oluşturucusu 2.0 şu anda önizleme aşamasındadır. ile yükleyin 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"

Sonuçta elde edilen yapılandırma

{
  "entities": {
    "Book": {
      "source": {
        "type": "table",
        "object": "dbo.Books"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "read" } ] }
      ],
      "description": "Entity for managing book inventory"
    }
  }
}

--parameters.name

Yalnızca saklı yordamlar. Parametre adlarının virgülle ayrılmış listesi.

Uyarı

Bu seçenek CLI'da 2.0.0-rc kullanılabilir. Veri API oluşturucusu 2.0 şu anda önizleme aşamasındadır. ile yükleyin 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"

Sonuçta elde edilen yapılandırma

{
  "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

Yalnızca saklı yordamlar. ile hizalanmış --parameters.nameparametre açıklamalarının virgülle ayrılmış listesi.

Uyarı

Bu seçenek CLI'da 2.0.0-rc kullanılabilir. Veri API oluşturucusu 2.0 şu anda önizleme aşamasındadır. ile yükleyin 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

Yalnızca saklı yordamlar. ile hizalanmış truedeğerlerin/false--parameters.namevirgülle ayrılmış listesi.

Uyarı

Bu seçenek CLI'da 2.0.0-rc kullanılabilir. Veri API oluşturucusu 2.0 şu anda önizleme aşamasındadır. ile yükleyin 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

Yalnızca saklı yordamlar. ile hizalanmış --parameters.namevarsayılan değerlerin virgülle ayrılmış listesi.

Uyarı

Bu seçenek CLI'da 2.0.0-rc kullanılabilir. Veri API oluşturucusu 2.0 şu anda önizleme aşamasındadır. ile yükleyin 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

Hariç tutulacak alanların virgülle ayrılmış listesi.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read" \
  --fields.exclude "internal_flag,secret_note"

Sonuçta elde edilen yapılandırma

{
  "entities": {
    "Book": {
      "source": { "type": "table", "object": "dbo.Books" },
      "permissions": [
        {
          "role": "anonymous",
          "actions": [
            {
              "action": "read",
              "fields": {
                "exclude": [ "internal_flag", "secret_note" ]
              }
            }
          ]
        }
      ]
    }
  }
}

--fields.include

Kullanıma açık alanların virgülle ayrılmış listesi.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read" \
  --fields.include "id,title,price"

Sonuçta elde edilen yapılandırma

{
  "entities": {
    "Book": {
      "source": { "type": "table", "object": "dbo.Books" },
      "permissions": [
        {
          "role": "anonymous",
          "actions": [
            {
              "action": "read",
              "fields": {
                "exclude": [],
                "include": [ "id", "title", "price" ]
              }
            }
          ]
        }
      ]
    }
  }
}

--fields.name

Açıklanacak veritabanı sütununun adı.

Uyarı

Bu seçenek CLI'da 2.0.0-rc kullanılabilir. Veri API oluşturucusu 2.0 şu anda önizleme aşamasındadır. ile yükleyin 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"

Sonuçta elde edilen yapılandırma

Uyarı

Geçerli 2.0.0-rc sürümünde, CLI , --fields.alias, --fields.descriptionve --fields.primary-key kabul eder--fields.name, ancak henüz varlık düzeyi alan meta verilerini yapılandırma dosyasında kalıcı hale getirmez. Ekip bu davranışı GA'nın öncesinde çözmeyi bekliyor.

--fields.alias

Alanın diğer adı. ile hizalanmış --fields.namevirgülle ayrılmış bir liste kullanın.

Uyarı

Bu seçenek CLI'da 2.0.0-rc kullanılabilir. Veri API oluşturucusu 2.0 şu anda önizleme aşamasındadır. ile yükleyin 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

Alanın açıklaması. ile hizalanmış --fields.namevirgülle ayrılmış bir liste kullanın.

Uyarı

Bu seçenek CLI'da 2.0.0-rc kullanılabilir. Veri API oluşturucusu 2.0 şu anda önizleme aşamasındadır. ile yükleyin 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

Alan için birincil anahtar bayrağı. ile hizalanmış truedeğerlerin/false--fields.namevirgülle ayrılmış listesini kullanın.

Uyarı

Bu seçenek CLI'da 2.0.0-rc kullanılabilir. Veri API oluşturucusu 2.0 şu anda önizleme aşamasındadır. ile yükleyin 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"

Uyarı

Geçerli 2.0.0-rc sürümünde CLI, varlık düzeyi alan meta verilerini kabul eder --fields.primary-key ancak yapılandırma dosyasında kalıcı hale getirmez. Görünümler için birincil anahtar alanlarını belirtmek için bunun yerine kullanın --source.key-fields .

--graphql

GraphQL pozlamayı denetleme.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read" \
  --graphql book:books

Sonuçta elde edilen yapılandırma

{
  "entities": {
    "Book": {
      "source": { "type": "table", "object": "dbo.Books" },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "read" } ] }
      ],
      "graphql": {
        "enabled": true,
        "type": {
          "singular": "book",
          "plural": "books"
        }
      }
    }
  }
}

--graphql.operation

Yalnızca saklı yordamlar. GraphQL işlem türü. Varsayılan mutation değeridir.

Example

dab add BookProc \
  --source dbo.MyProc \
  --source.type stored-procedure \
  --permissions "admin:execute" \
  --graphql.operation Query

Sonuçta elde edilen yapılandırma

{
  "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 pozlamayı kontrol edin.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read" \
  --rest BooksApi

Sonuçta elde edilen yapılandırma

{
  "entities": {
    "Book": {
      "source": { "type": "table", "object": "dbo.Books" },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "read" } ] }
      ],
      "rest": {
        "enabled": true,
        "path": "/BooksApi"
      }
    }
  }
}

--rest.methods

Yalnızca saklı yordamlar. Yürütme için izin verilen HTTP fiilleri: GET, POST, PUT, PATCH, DELETE. Varsayılan değer POST'tır. Tablolar/görünümler için yoksayılır.

Example

dab add BookProc \
  --source dbo.MyProc \
  --source.type stored-procedure \
  --permissions "admin:execute" \
  --rest true \
  --rest.methods GET,POST

Sonuçta elde edilen yapılandırma

{
  "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'de bu varlık için DML araçlarını etkinleştirin veya devre dışı bırakın. Varsayılan: true. olarak falseayarlandığında, varlık MCP DML araç yüzeyinden dışlanır. Tamamen atlandığında mcp , DML araçları varsayılan olarak etkinleştirilir.

Uyarı

Bu bölümde açıklanan Veri API oluşturucusu 2.0 işlevselliği şu anda önizleme aşamasındadır ve genel kullanılabilirlik öncesinde değişebilir. Daha fazla bilgi için bkz. Sürüm 2.0'daki yenilikler.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read" \
  --mcp.dml-tools true

Sonuçta elde edilen yapılandırma

{
  "entities": {
    "Book": {
      "source": {
        "type": "table",
        "object": "dbo.Books"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "read" } ] }
      ],
      "mcp": {
        "dml-tools": true
      }
    }
  }
}

--mcp.custom-tool

Saklı yordam varlığını adlandırılmış bir MCP aracı olarak kaydedin. Yalnızca olduğunda --source.type geçerlidir stored-procedure. olduğunda true, DAB yordamı MCP tools/list yanıtına dinamik olarak kaydeder ve aracılar aracılığıyla tools/callçağırabilir.

Example

dab add GetBookById \
  --source dbo.get_book_by_id \
  --source.type stored-procedure \
  --permissions "anonymous:execute" \
  --mcp.custom-tool true

Sonuçta elde edilen yapılandırma

{
  "entities": {
    "GetBookById": {
      "source": {
        "type": "stored-procedure",
        "object": "dbo.get_book_by_id"
      },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "execute" } ] }
      ],
      "mcp": {
        "custom-tool": true
      }
    }
  }
}

Önemli

--mcp.custom-tool yalnızca saklı yordam varlıkları için geçerlidir. Tablo veya görünüm varlıklarıyla birlikte kullanılması doğrulama hatasına neden olur.

--permissions

Rol→actions çiftlerini tanımlar.

--permissions tekrarlanamaz. Daha fazla rol eklemek için bir rolle çalıştırın dab add ve ardından daha fazla rol için komutunu çalıştırın dab update .

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read"

dab update Book \
  --permissions "authenticated:create,read,update,delete"

--policy-database

Veritabanı düzeyinde ilke.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read" \
  --policy-database "region eq 'US'"

Sonuçta elde edilen yapılandırma

{
  "entities": {
    "Book": {
      "source": { "type": "table", "object": "dbo.Books" },
      "permissions": [
        {
          "role": "anonymous",
          "actions": [
            {
              "action": "read",
              "policy": {
                "database": "region eq 'US'"
              }
            }
          ]
        }
      ]
    }
  }
}

--policy-request

İstek düzeyi ilkesi.

Example

dab add Book \
  --source dbo.Books \
  --permissions "anonymous:read" \
  --policy-request "@claims.role == 'admin'"

Sonuçta elde edilen yapılandırma

{
  "entities": {
    "Book": {
      "source": { "type": "table", "object": "dbo.Books" },
      "permissions": [
        {
          "role": "anonymous",
          "actions": [
            {
              "action": "read",
              "policy": {
                "request": "@claims.role == 'admin'"
              }
            }
          ]
        }
      ]
    }
  }
}

--help

Bu yardım ekranını görüntüleyin.

Example

dab add \
  --help

--version

Sürüm bilgilerini görüntüleme.

Example

dab add \
  --version