Megosztás a következőn keresztül:


add parancs

Adjon hozzá egy új entitásdefiníciót egy meglévő Data API Builder-konfigurációs fájlhoz. Ehhez már létre kell hoznia egy konfigurációt.dab init Az entitások létrehozás utáni módosítására használható dab update .

Jótanács

Új entitások létrehozására és dab update továbbfejlesztésére használhatódab add. A mezőnév újrafelfedezése (--map) csak a következőben updateérhető el:add

Szemantika

dab add <entity-name> [options]

Gyors áttekintés

Lehetőség Összefoglalás
<entity-name> Kötelező pozícióargumentum. Logikai entitás neve.
-c, --config Konfigurációs fájl elérési útja. Alapértelmezett dab-config.json.
--cache.enabled Az entitás gyorsítótárazásának engedélyezése/letiltása.
--cache.ttl Gyorsítótár élettartam másodpercben.
--description Az entitás szabad formátumú leírása.
--fields.exclude Vesszővel tagolt kizárt mezők.
--fields.include Vesszővel tagolt engedélyezett mezők (* = mind).
--graphql GraphQL-expozíció: false, true, singularvagy singular:plural.
--graphql.operation Csak tárolt eljárások. query vagy mutation (alapértelmezett mutáció).
--permissions Szükséges. Egy vagy több role:actions pár. Ismételhető.
--policy-database A DB-lekérdezésben alkalmazott OData-stílusú szűrő.
--policy-request Kérelemházirend kiértékelése a DB-hívás előtt.
--rest REST-expozíció: false, truevagy egyéni útvonal.
--rest.methods Csak tárolt eljárások. Engedélyezett HTTP-parancsok. Alapértelmezett POST.
-s, --source Szükséges. Adatbázis-objektum neve (tábla, nézet vagy tárolt eljárás).
--source.key-fields A nézetekhez szükséges, vagy ha a PK nem következik be. Nem engedélyezett a procs.
--source.params Csak tárolt eljárások. Alapértelmezett paraméterértékek.
--source.type Forrás típusa: table, view, stored-procedure (alapértelmezett tábla).

<entity-name>

A konfigurációban lévő entitás logikai neve. Kis- és nagybetűk megkülönböztetése.

Example

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

Eredményként kapott konfiguráció

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

-c, --config

Konfigurációs fájl elérési útja. Az alapértelmezett érték dab-config.json.

Example

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

--cache.enabled

Gyorsítótárazás engedélyezése vagy letiltása.

Example

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

Eredményként kapott konfiguráció

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

--cache.ttl

Gyorsítótár élettartam másodpercben.

Example

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

Eredményként kapott konfiguráció

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

--description

Az entitás szabadszöveges leírása.

Example

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

Eredményként kapott konfiguráció

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

--fields.exclude

A kizárandó mezők vesszővel tagolt listája.

Example

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

Eredményként kapott konfiguráció

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

--fields.include

A közzéteendő mezők vesszővel tagolt listája.

Example

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

Eredményként kapott konfiguráció

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

--graphql

A GraphQL expozíciójának szabályozása.

Example

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

Eredményként kapott konfiguráció

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

--graphql.operation

Csak tárolt eljárások. GraphQL-művelet típusa. Az alapértelmezett érték mutation.

Example

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

Eredményként kapott konfiguráció

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

--permissions

Szerepkör→kontraszt párokat definiál. Több szerepkörhöz használjon ismétlődő jelölőket.

Example

dab add Book --source dbo.Books --permissions "anonymous:read" --permissions "authenticated:create,read,update,delete"

Eredményként kapott konfiguráció

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

--policy-database

Adatbázisszintű szabályzat.

Example

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

Eredményként kapott konfiguráció

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

--policy-request

Kérelemszintű szabályzat.

Example

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

Eredményként kapott konfiguráció

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

--rest

A REST expozíció szabályozása.

Example

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

Eredményként kapott konfiguráció

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

--rest.methods

Csak tárolt eljárások. A végrehajtáshoz engedélyezett HTTP-parancsok. Alapértelmezés szerint POST. A táblák/nézetek figyelmen kívül hagyva.

Example

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

Eredményként kapott konfiguráció

{
  "entities": {
    "BookProc": {
      "source": { "type": "stored-procedure", "object": "dbo.MyProc" },
      "permissions": [
        { "role": "admin", "actions": [ "execute" ] }
      ],
      "rest": {
        "path": "BookProc",
        "methods": [ "GET", "POST" ]
      }
    }
  }
}

-s, --source

Szükséges. Az adatbázis-objektum neve: tábla, nézet vagy tárolt eljárás.

Example

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

Eredményként kapott konfiguráció

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

--source.key-fields

Megtekintésekhez szükséges. A lekövethető PK nélküli táblákhoz is szükséges. Tárolt eljárások esetében nem engedélyezett.

Example

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

Eredményként kapott konfiguráció

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

--source.params

Csak tárolt eljárások. Vesszővel tagolt name:value párok. Táblákhoz és nézetekhez nem engedélyezett.

Example

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

Eredményként kapott konfiguráció

{
  "entities": {
    "BookProc": {
      "source": {
        "type": "stored-procedure",
        "object": "dbo.MyProc",
        "params": {
          "year": 2024,
          "active": true
        }
      },
      "permissions": [
        { "role": "admin", "actions": [ "execute" ] }
      ]
    }
  }
}

--source.type

Az adatbázis-objektum típusa. Alapértelmezett: table.

Example

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

Eredményként kapott konfiguráció

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