Aracılığıyla paylaş


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
<entity-name> Gerekli konumsal bağımsız değişken. Mantıksal varlık adı.
-c, --config Yapılandırma dosyası yolu. Varsayılan dab-config.json.
--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.
--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ış).
--graphql GraphQL pozlaması: false, true, singularveya singular:plural.
--graphql.operation Yalnızca saklı yordamlar. Query veya Mutation (varsayılan mutasyon).
--permissions Gerekli. role:actions tek bir rol için.
--policy-database VERITABANı sorgusuna uygulanan OData stili filtre.
--policy-request veritabanı çağrısı öncesinde değerlendirilen istek ilkesi.
--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.
--rest REST pozlaması: false, trueveya özel yol.
--rest.methods Yalnızca saklı yordamlar. İzin verilen fiiller: GET, POST, PUT, PATCH, DELETE. Varsayılan POST.
-s, --source Gerekli. Veritabanı nesne adı (tablo, görünüm veya saklı yordam).
--source.key-fields Birincil anahtar olarak kullanılacak alan veya alan.
--source.params Yalnızca saklı yordamlar. Varsayılan parametre değerleri.
--source.type Kaynak türü: table, view, stored-procedure (varsayılan tablo).
--help Bu yardım ekranını görüntüleyin.
--version Sürüm bilgilerini görüntüleme.

<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 \
  --source.params "year:2024,active: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"

--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": {
        "enabled": true
      }
    }
  }
}

--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": {
        "enabled": false,
        "ttl-seconds": 300
      }
    }
  }
}

--description

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

Uyarı

Bu seçenek yalnızca v1.7 öncesi CLI'de (şu anda RC) kullanılabilir. ile yükleyin dotnet tool install microsoft.dataapibuilder --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"
    }
  }
}

--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": {
                "include": [ "id", "title", "price" ]
              }
            }
          ]
        }
      ]
    }
  }
}

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

--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 ek roller 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"

--parameters.name

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

Uyarı

Bu seçenek yalnızca v1.7 öncesi CLI'de (şu anda RC) kullanılabilir. ile yükleyin 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"

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

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

Uyarı

Bu seçenek yalnızca v1.7 öncesi CLI'de (şu anda RC) kullanılabilir. ile yükleyin 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

Yalnızca saklı yordamlar. ile hizalanmış --parameters.namedeğerlerinfalsetrue/virgülle ayrılmış listesi.

Uyarı

Bu seçenek yalnızca v1.7 öncesi CLI'de (şu anda RC) kullanılabilir. ile yükleyin 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

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

Uyarı

Bu seçenek yalnızca v1.7 öncesi CLI'de (şu anda RC) kullanılabilir. ile yükleyin 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

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

Uyarı

Bu seçenek yalnızca v1.7 öncesi CLI'de (şu anda RC) kullanılabilir. ile yükleyin 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"

Sonuçta elde edilen yapılandırma

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

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

Uyarı

Bu seçenek yalnızca v1.7 öncesi CLI'de (şu anda RC) kullanılabilir. ile yükleyin dotnet tool install microsoft.dataapibuilder --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 yalnızca v1.7 öncesi CLI'de (şu anda RC) kullanılabilir. ile yükleyin 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

Alan için birincil anahtar bayrağı. ile hizalanmış --fields.namedeğerlerinfalsetrue/virgülle ayrılmış listesini kullanın.

Uyarı

Bu seçenek yalnızca v1.7 öncesi CLI'de (şu anda RC) kullanılabilir. ile yükleyin dotnet tool install microsoft.dataapibuilder --prerelease.

Example

dab add Products \
  --source dbo.Products \
  --permissions "anonymous:*" \
  --fields.name "ProductID" \
  --fields.primary-key "true"

Sonuçta elde edilen yapılandırma

{
  "entities": {
    "Products": {
      "source": { "type": "table", "object": "dbo.Products" },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "*" } ] }
      ],
      "fields": [
        {
          "name": "ProductID",
          "primary-key": true
        }
      ]
    }
  }
}

--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'"
              }
            }
          ]
        }
      ]
    }
  }
}

--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" ]
      }
    }
  }
}

-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.key-fields

Birincil anahtar olarak kullanılacak alan veya alan. CLI aracılığıyla oluşturulurken görünümler için gereklidir.

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": {
        "type": "view",
        "object": "dbo.MyView",
        "key-fields": [ "id", "region" ]
      },
      "permissions": [
        { "role": "anonymous", "actions": [ { "action": "read" } ] }
      ]
    }
  }
}

--source.params

Yalnızca saklı yordamlar. Virgülle ayrılmış name:value çiftler. Tablolar veya görünümler için izin verilmez.

Uyarı

v1.7 ön sürümü CLI'sında (şu anda RC), --source.params kullanım dışıdır. Bunun yerine , --parameters.defaultve ilgili --parameters.* seçenekleri kullanın--parameters.name.

Example

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

Sonuçta elde edilen yapılandırma

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

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

--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" } ] }
      ]
    }
  }
}