Sdílet prostřednictvím


add příkaz

Přidejte novou definici entity do existujícího konfiguračního souboru tvůrce rozhraní Data API. Musíte již mít vytvořenou konfiguraci .dab init Slouží dab update k úpravě entit po vytvoření.

Návod

Slouží dab add k vytváření nových entit a dab update k jejich vývoji.

Syntaxe

dab add <entity-name> [options]

Rychlý přehled

Možnost Shrnutí
<entity-name> Povinný poziční argument. Název logické entity
-c, --config Cesta ke konfiguračnímu souboru. Výchozí dab-config.json.
--cache.enabled Povolte nebo zakažte ukládání do mezipaměti pro entitu.
--cache.ttl Ukládání do mezipaměti v sekundách
--description Popis volných formulářů pro entitu
--fields.exclude Vyloučená pole oddělená čárkami
--fields.include Povolená pole oddělená čárkami (* = vše)
--fields.name Názvy polí, které chcete popsat (opakovatelné nebo oddělené čárkami).
--fields.alias Aliasy polí (oddělené čárkami, zarovnané na --fields.name).
--fields.description Popisy polí (oddělené čárkami, zarovnané na --fields.name).
--fields.primary-key Příznaky primárního klíče (oddělené čárkami, zarovnané na --fields.name).
--graphql Expozice GraphQL: false, true, singularnebo singular:plural.
--graphql.operation Uložené procedury. Query nebo Mutation (výchozí mutační).
--permissions Povinné. role:actions pro jednu roli.
--policy-database Filtr ve stylu OData použitý v dotazu databáze.
--policy-request Zásady požadavku se vyhodnocovaly před voláním databáze.
--parameters.name Uložené procedury. Názvy parametrů (oddělené čárkami)
--parameters.description Uložené procedury. Popisy parametrů
--parameters.required Uložené procedury. Požadované příznaky parametru.
--parameters.default Uložené procedury. Výchozí hodnoty parametru
--rest Expozice REST: false, truenebo vlastní trasa.
--rest.methods Uložené procedury. Povolené příkazy: GET, POST, PUT, PATCH, , DELETE. Výchozí POST.
-s, --source Povinné. Název databázového objektu (tabulka, zobrazení nebo uložená procedura).
--source.key-fields Pole, která se mají použít jako primární klíče.
--source.params Uložené procedury. Výchozí hodnoty parametrů.
--source.type Typ zdroje: table, , viewstored-procedure(výchozí tabulka).
--help Zobrazí tuto obrazovku nápovědy.
--version Zobrazí informace o verzi.

<entity-name>

Logický název entity v konfiguraci Rozlišují se malá a velká písmena.

Rychlé příklady pro tabulky, zobrazení a uložené procedury

Přidání tabulky

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

Přidej zobrazení

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"

Přidání uložené procedury

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

Cesta ke konfiguračnímu souboru. Výchozí hodnota je dab-config.json.

Example

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

--cache.enabled

Povolte nebo zakažte ukládání do mezipaměti.

Example

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

Výsledná konfigurace

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

--cache.ttl

Ukládání do mezipaměti v sekundách

Example

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

Výsledná konfigurace

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

--description

Popis entity bez textu

Poznámka:

Tato možnost je dostupná pouze v předběžné verzi rozhraní příkazového řádku verze 1.7 (aktuálně RC). Nainstalujte pomocí dotnet tool install microsoft.dataapibuilder --prereleasenástroje .

Example

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

Výsledná konfigurace

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

--fields.exclude

Seznam polí oddělených čárkami, která chcete vyloučit.

Example

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

Výsledná konfigurace

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

--fields.include

Čárkami oddělený seznam polí, která se mají zveřejnit.

Example

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

Výsledná konfigurace

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

--graphql

Řízení expozice GraphQL

Example

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

Výsledná konfigurace

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

--graphql.operation

Uložené procedury. Typ operace GraphQL Výchozí hodnota je mutation.

Example

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

Výsledná konfigurace

{
  "entities": {
    "BookProc": {
      "source": { "type": "stored-procedure", "object": "dbo.MyProc" },
      "permissions": [
        { "role": "admin", "actions": [ { "action": "execute" } ] }
      ],
      "graphql": {
        "enabled": true,
        "operation": "query"
      }
    }
  }
}

--permissions

Definuje páry rolí→akce.

--permissions nejde opakovat. Pokud chcete přidat další role, spusťte dab add jednu roli a pak spusťte dab update další role.

Example

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

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

--parameters.name

Uložené procedury. Čárkami oddělený seznam názvů parametrů.

Poznámka:

Tato možnost je dostupná pouze v předběžné verzi rozhraní příkazového řádku verze 1.7 (aktuálně RC). Nainstalujte pomocí dotnet tool install microsoft.dataapibuilder --prereleasenástroje .

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"

Výsledná konfigurace

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

Uložené procedury. Čárkami oddělený seznam popisů parametrů zarovnaných s --parameters.name.

Poznámka:

Tato možnost je dostupná pouze v předběžné verzi rozhraní příkazového řádku verze 1.7 (aktuálně RC). Nainstalujte pomocí dotnet tool install microsoft.dataapibuilder --prereleasenástroje .

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

Uložené procedury. Čárkami oddělený seznam true/false hodnot zarovnaných s .--parameters.name

Poznámka:

Tato možnost je dostupná pouze v předběžné verzi rozhraní příkazového řádku verze 1.7 (aktuálně RC). Nainstalujte pomocí dotnet tool install microsoft.dataapibuilder --prereleasenástroje .

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

Uložené procedury. Čárkami oddělený seznam výchozích hodnot zarovnaných s --parameters.name.

Poznámka:

Tato možnost je dostupná pouze v předběžné verzi rozhraní příkazového řádku verze 1.7 (aktuálně RC). Nainstalujte pomocí dotnet tool install microsoft.dataapibuilder --prereleasenástroje .

Example

dab add GetOrdersByDateRange \
  --source dbo.usp_GetOrdersByDateRange \
  --source.type stored-procedure \
  --permissions "authenticated:execute" \
  --parameters.name "CustomerID" \
  --parameters.default "null"

--fields.name

Název databázového sloupce, který chcete popsat.

Poznámka:

Tato možnost je dostupná pouze v předběžné verzi rozhraní příkazového řádku verze 1.7 (aktuálně RC). Nainstalujte pomocí dotnet tool install microsoft.dataapibuilder --prereleasenástroje .

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"

Výsledná konfigurace

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

Alias pole Použijte čárkami oddělený seznam zarovnaný na --fields.name.

Poznámka:

Tato možnost je dostupná pouze v předběžné verzi rozhraní příkazového řádku verze 1.7 (aktuálně RC). Nainstalujte pomocí dotnet tool install microsoft.dataapibuilder --prereleasenástroje .

Example

dab add Products \
  --source dbo.Products \
  --permissions "anonymous:*" \
  --fields.name "ProductID" \
  --fields.alias "product_id"

--fields.description

Popis pole Použijte čárkami oddělený seznam zarovnaný na --fields.name.

Poznámka:

Tato možnost je dostupná pouze v předběžné verzi rozhraní příkazového řádku verze 1.7 (aktuálně RC). Nainstalujte pomocí dotnet tool install microsoft.dataapibuilder --prereleasenástroje .

Example

dab add Products \
  --source dbo.Products \
  --permissions "anonymous:*" \
  --fields.name "ProductID" \
  --fields.description "Unique identifier"

--fields.primary-key

Příznak primárního klíče pro pole Použijte čárkami oddělený seznam true/false hodnot, které jsou zarovnané na .--fields.name

Poznámka:

Tato možnost je dostupná pouze v předběžné verzi rozhraní příkazového řádku verze 1.7 (aktuálně RC). Nainstalujte pomocí dotnet tool install microsoft.dataapibuilder --prereleasenástroje .

Example

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

Výsledná konfigurace

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

--policy-database

Zásady na úrovni databáze.

Example

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

Výsledná konfigurace

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

--policy-request

Zásady na úrovni požadavku.

Example

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

Výsledná konfigurace

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

--rest

Řízení expozice REST

Example

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

Výsledná konfigurace

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

--rest.methods

Uložené procedury. Příkazy HTTP povolené pro spuštění: GET, POST, PUT, PATCH, , DELETE. Výchozí hodnota je POST. Ignorováno pro tabulky a zobrazení.

Example

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

Výsledná konfigurace

{
  "entities": {
    "BookProc": {
      "source": { "type": "stored-procedure", "object": "dbo.MyProc" },
      "permissions": [
        { "role": "admin", "actions": [ { "action": "execute" } ] }
      ],
      "rest": {
        "enabled": true,
        "methods": [ "get", "post" ]
      }
    }
  }
}

-s, --source

Povinné. Název databázového objektu: tabulka, zobrazení, kontejner nebo uložená procedura.

Example

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

Výsledná konfigurace

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

--source.key-fields

Pole, která se mají použít jako primární klíče. Vyžaduje se pro zobrazení při generování prostřednictvím rozhraní příkazového řádku.

Example

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

Výsledná konfigurace

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

--source.params

Uložené procedury. Dvojice oddělené name:value čárkami. Pro tabulky nebo zobrazení není povoleno.

Poznámka:

V předběžné verzi rozhraní příkazového řádku verze 1.7 (aktuálně RC) --source.params je zastaralé. Místo toho použijte --parameters.namemožnost , --parameters.defaulta související --parameters.* možnosti.

Example

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

Výsledná konfigurace

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

Zobrazí tuto obrazovku nápovědy.

Example

dab add \
  --help

--version

Zobrazí informace o verzi.

Example

dab add \
  --version

--source.type

Typ databázového objektu. Výchozí hodnota: table.

Example

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

Výsledná konfigurace

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