Sdílet prostřednictvím


update příkaz

Aktualizujte existující definici entity v konfiguračním souboru Tvůrce rozhraní Data API. Tento příkaz slouží k úpravě zdrojových metadat, oprávnění, expozice (REST/GraphQL), zásad, ukládání do mezipaměti, relací, mapování a popisných metadat po přidání entity.

Návod

Slouží dab add k vytváření nových entit a dab update k jejich vývoji. Přemapování názvu pole (--map) je k dispozici pouze v update, nikoli v add.

Syntaxe

dab update <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í rozlišení se použije, pokud je vynecháno.
--description Nahraďte popis entity.

Cache

Možnost Shrnutí
--cache.enabled Povolte nebo zakažte ukládání entit do mezipaměti.
--cache.ttl Ukládání do mezipaměti v sekundách

Fields

Možnost Shrnutí
--fields.exclude Seznam vyloučených polí oddělených čárkami
--fields.include Čárkami oddělený seznam zahrnutých polí (* = vše).
-m, --map Dvojice name:aliasmapování polí . Nahradí celou sadu.

GraphQL

Možnost Shrnutí
--graphql Expozice GraphQL: false, true, singularnebo singular:plural.
--graphql.operation Uložené procedury: query nebo mutation (výchozí mutaci).

Oprávnění a zásady

Možnost Shrnutí
--permissions Jeden nebo více role:actions dvojic. Nahradí existující seznam.
--policy-database Filtr ve stylu OData vložený do dotazu databáze
--policy-request Filtr požadavků před databází

Relationships

Možnost Shrnutí
--relationship Název relace Používá se s možnostmi relací.
--relationship.fields Mapování polí pro přímé relace

REST

Možnost Shrnutí
--rest Expozice REST: false, truenebo vlastní cesta.
--rest.methods Uložené procedury. Nahraďte povolené příkazy HTTP.

Zdroj

Možnost Shrnutí
-s, --source Název základního databázového objektu
--source.key-fields Vyžaduje se pro zobrazení nebo tabulky, které nejsou pk.
--source.params Uložené procedury. Nahraďte výchozí parametry.
--source.type Typ zdroje: table, viewnebo stored-procedure.

--cache.enabled

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

Example

dab update Book --cache.enabled true

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "cache": {
        "enabled": true
      }
    }
  }
}

--cache.ttl

Nastavte dobu mezipamětí v sekundách. Platí pouze v případě, že je povolené ukládání do mezipaměti.

Example

dab update Book --cache.ttl 600

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "cache": {
        "ttl-seconds": 600
      }
    }
  }
}

Poznámka:

Zadávání hodnoty TTL, pokud je mezipaměť zakázaná, nemá žádný vliv, dokud se ukládání do mezipaměti nepovolí.

--description

Nahraďte popis entity.

Example

dab update Book --description "Updated description"

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "description": "Updated description"
    }
  }
}

--fields.exclude

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

Example

dab update Book --fields.exclude "internal_flag,secret_note"

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "graphql": {
        "fields": {
          "exclude": [ "internal_flag", "secret_note" ]
        }
      }
    }
  }
}

--fields.include

Seznam polí oddělených čárkami, která se mají zahrnout. * obsahuje všechna pole. Nahradí existující seznam zahrnutí.

Example

dab update Book --fields.include "id,title,author"

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "graphql": {
        "fields": {
          "include": [ "id", "title", "author" ]
        }
      }
    }
  }
}

--graphql

Řízení expozice GraphQL

Example

dab update Book --graphql book:books

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "graphql": {
        "singular": "book",
        "plural": "books"
      }
    }
  }
}

--graphql.operation

Uložené procedury. Nastaví typ operace. Výchozí hodnota je mutation.

Example

dab update RunReport --graphql.operation query

Výsledná konfigurace

{
  "entities": {
    "RunReport": {
      "graphql": {
        "operation": "query"
      }
    }
  }
}

Poznámka:

--graphql.operation Zadávání tabulek nebo zobrazení se ignoruje.

-m, --map

Mapovat pole databáze na vystavené názvy Nahradí celou sadu mapování.

Example

dab update Book --map "id:bookId,title:bookTitle"

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "mappings": {
        "id": "bookId",
        "title": "bookTitle"
      }
    }
  }
}

Důležité

Všechna existující mapování se přepíší. Přehodnocujte všechna mapování, která chcete zachovat.

--permissions

Nahraďte všechna oprávnění novými sadami rolí nebo akcí. Opakujte příznak pro více rolí.

Example

dab update Book --permissions "anonymous:read" --permissions "authenticated:create,read,update"

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "permissions": [
        {
          "role": "anonymous",
          "actions": [ "read" ]
        },
        {
          "role": "authenticated",
          "actions": [ "create", "read", "update" ]
        }
      ]
    }
  }
}

Důležité

Oprávnění nahrazují existující seznam. Předchozí oprávnění se zahodí.

--policy-database

Filtr ve stylu OData připojený k dotazu databáze.

Example

dab update Book --policy-database "region eq 'US'"

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "policies": {
        "database": "region eq 'US'"
      }
    }
  }
}

--policy-request

Zásady na úrovni požadavku se vyhodnocovaly před dosažením databáze.

Example

dab update Book --policy-request "@claims.role == 'admin'"

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "policies": {
        "request": "@claims.role == 'admin'"
      }
    }
  }
}

--relationship

Definujte nebo aktualizujte relaci. Používá se s dalšími možnostmi relace.

Example

dab update Book --relationship publisher --cardinality one --target.entity Publisher --relationship.fields "publisher_id:id"

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "relationships": {
        "publisher": {
          "cardinality": "one",
          "target.entity": "Publisher",
          "fields": {
            "publisher_id": "id"
          }
        }
      }
    }
  }
}

--relationship.fields

Mapování polí oddělených dvojtečkami pro přímé relace

Example

dab update Book --relationship author --cardinality one --target.entity Author --relationship.fields "author_id:id"

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "relationships": {
        "author": {
          "cardinality": "one",
          "target.entity": "Author",
          "fields": {
            "author_id": "id"
          }
        }
      }
    }
  }
}

--rest

Řízení expozice REST

Example

dab update Book --rest BooksApi

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "rest": {
        "path": "BooksApi"
      }
    }
  }
}

--rest.methods

Uložené procedury. Nahraďte povolené metody HTTP. Výchozí hodnota je POST.

Example

dab update RunReport --rest true --rest.methods GET,POST

Výsledná konfigurace

{
  "entities": {
    "RunReport": {
      "rest": {
        "path": "RunReport",
        "methods": [ "GET", "POST" ]
      }
    }
  }
}

Poznámka:

--rest.methods Zadávání v době, kdy je rest zakázáno, nemá žádný vliv.

-s, --source

Aktualizujte podkladový databázový objekt.

Example

dab update Book --source dbo.Books

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "source": {
        "type": "table",
        "object": "dbo.Books"
      }
    }
  }
}

--source.key-fields

Pro zobrazení nebo tabulky bez odvozené pk. Nahradí existující klíče. Není platné pro uložené procedury.

Example

dab update SalesSummary --source.type view --source.key-fields "year,region"

Výsledná konfigurace

{
  "entities": {
    "SalesSummary": {
      "source": {
        "type": "view",
        "object": "SalesSummary",
        "keyFields": [ "year", "region" ]
      }
    }
  }
}

Poznámka:

Použití --source.key-fields s uloženými procedurami není povoleno.

--source.params

Uložené procedury. Nahraďte výchozí hodnoty parametrů.

Example

dab update RunReport --source.type stored-procedure --source.params "year:2024,region:west"

Výsledná konfigurace

{
  "entities": {
    "RunReport": {
      "source": {
        "type": "stored-procedure",
        "object": "RunReport",
        "params": {
          "year": 2024,
          "region": "west"
        }
      }
    }
  }
}

Poznámka:

Použití --source.params s tabulkami nebo zobrazeními není povoleno.

--source.type

Změňte typ zdrojového objektu.

Example

dab update Book --source.type view

Výsledná konfigurace

{
  "entities": {
    "Book": {
      "source": {
        "type": "view",
        "object": "Book"
      }
    }
  }
}

Důležité

Změna typu zdroje může zneplatnit jiné vlastnosti. Zobrazení například vždy vyžadují pole klíče; uložené procedury nemohou definovat pole klíč-pole.