次の方法で共有


データ API ビルダーのコマンド ライン インターフェイス リファレンス

Data API Builder コマンド ライン インターフェイス (CLI) (dab CLI または dab) は、Data API Builder を使用してアプリケーションのローカル開発エクスペリエンスを効率化するコマンド ライン ツールです。

先端

Data API Builder CLI には、統合されたヘルプ システムが付属しています。 使用可能なコマンドの一覧を取得するには、--help コマンドの dab オプションを使用します。

dab --help

特定のコマンドに関するヘルプを表示するには、--help オプションを使用します。 たとえば、init コマンドの詳細については、次を参照してください。

dab init --help

コマンド ライン動詞とオプション

init

データ API ビルダー ランタイム エンジンのランタイム構成を初期化します。 オプションとして指定されたプロパティを使用して、新しい JSON ファイルが作成されます。

構文

dab init [options]

dab init --config "dab-config.mssql.json" --database-type mssql --connection-string "@env('SQL_CONNECTION_STRING')"
dab init --database-type mysql --connection-string "@env('MYSQL_CONNECTION_STRING')" --graphql.multiple-create.enabled true

オプション

オプション オプション必須 既定値 必要な値 値の型 形容
--database-type ✔️ はい ✔️ はい 接続するデータベースの種類。 サポートされる値: mssqlcosmosdb_nosqlcosmosdb_postgresqlmysqlpostgresql
--connection-string ❌ いいえ "" ✔️ はい データベースに接続するための接続の詳細。
--cosmosdb_nosql-database ✔️ はい ¹ ✔️ はい Cosmos DB for NoSql のデータベース名。
--cosmosdb_nosql-container ❌ いいえ ✔️ はい NoSql 用 Cosmos DB のコンテナー名。
--graphql-schema ✔️ はい ¹ ✔️ はい GraphQL スキーマパス
--set-session-context ❌ いいえ false ❌ いいえ セッション コンテキストを使用して MsSql へのデータの送信を有効にします。
--host-mode ❌ いいえ production ✔️ はい ホスト モード (開発または運用) を指定する
--cors-origin ❌ いいえ "" ✔️ はい 許可される配信元の一覧を指定します。
--auth.provider ❌ いいえ StaticWebApps ✔️ はい ID プロバイダーを指定します。
--rest.path ❌ いいえ /api ✔️ はい REST エンドポイントのプレフィックスを指定します。
--rest.enabled ❌ いいえ true ✔️ はい ブーリアン すべてのエンティティに対して REST エンドポイントを有効にします。
--rest.request-body-strict ❌ いいえ true ✔️ はい 要求本文で余分なフィールドを許可しません。
--graphql.path ❌ いいえ /graphql ✔️ はい GraphQL エンドポイントのプレフィックスを指定します。
--graphql.enabled ❌ いいえ true ✔️ はい ブーリアン すべてのエンティティに対して GraphQL エンドポイントを有効にします。
--graphql.multiple-create.enabled ❌ いいえ false ✔️ はい GraphQL で複数の作成機能を有効にします。
--auth.audience ❌ いいえ ✔️ はい Json Web トークン (JWT) の対象となる受信者を識別します。
--auth.issuer ❌ いいえ ✔️ はい JWT トークンを発行したパーティを指定します。
-c,--config ❌ いいえ dab-config.json ✔️ はい 構成ファイルへのパス。

¹ このオプションは、--database-typecosmosdb_nosqlに設定されている場合にのみ必要です。

add

新しいデータベース エンティティを構成ファイルに追加します。 このコマンドを実行する前に構成ファイルが既にあることを確認してください。それ以外の場合はエラーが返されます。

構文

dab add [entity-name] [options]

dab add Book -c "dab-config.MsSql.json" --source dbo.books --permissions "anonymous:*"

オプション

オプション オプション必須 既定値 必要な値 値の型 形容
-s,--source ✔️ はい ✔️ はい ソース テーブルまたはコンテナーの名前。
--permissions ✔️ はい ✔️ はい ソース テーブルまたはコンテナーにアクセスするために必要なアクセス許可。 形式: [role]:[actions].
--source.type ❌ いいえ table ✔️ はい データベース オブジェクトの型。 サポートされている値: tableviewstored-procedure
--source.params ❌ いいえ ✔️ はい。proc にパラメーターがある場合 ストアド プロシージャ パラメーターとそのデータ型のディクショナリ。 サポートされているデータ型は、stringnumber、および booleanです。 パラメーターは、paramName:type形式で指定します。 例: --source.params "id:number,isActive:boolean,name:string".
--source.key フィールド ✔️ はい ¹ ✔️ はい テーブルとビューのみの主キーとして使用する 1 つ以上のフィールド。 コンマ区切りの値。 --source.key-fields "id,name,type"の例
--rest ❌ いいえ 大文字と小文字 区別されるエンティティ名の ✔️ はい REST API のルート。 例: --rest: false -> このエンティティの REST API 呼び出しを無効にします。 --rest: true - エンティティ名> 残りのパスになります。 --rest: "customPathName" -> 指定された customPathName が REST パスになります。
--rest.methods ❌ いいえ post ✔️ はい ストアド プロシージャでサポートされる HTTP アクション。 アクションをコンマ区切りリストとして指定します。 有効な HTTP アクションは次のとおりです:[get, post, put, patch, delete]。
--graphql ❌ いいえ 大文字と小文字 区別されるエンティティ名の ✔️ はい Bool/String GraphQL 用に公開されているエンティティ型。 例: --graphql: false -> は、このエンティティの graphql 呼び出しを無効にします。 --graphql: true -> GraphQL のエンティティを既定の名前で公開します。 エンティティ名の単一の形式は、クエリ名とミューテーション名と見なされます。 --graphql: "customQueryName" -> 明示的に単数形の値を設定し、DAB はクエリと変更に対して指定された値を複数形化します。 --graphql: "singularName:pluralName" -> クエリと変更に使用される単数形と複数形の値 (コロン :で区切られた値) の両方を設定します。
--graphql.operation ❌ いいえ mutation ✔️ はい ストアド プロシージャでサポートされる GraphQL 操作。 サポートされている値: querymutation
--fields.include ❌ いいえ ✔️ はい アクセス許可を持つフィールド。
--fields.exclude ❌ いいえ ✔️ はい アクション リストから除外されるフィールド。
--policy-database ❌ いいえ ✔️ はい データベースに送信されるクエリに挿入される OData スタイルフィルタールールを指定します。
-c,--config ❌ いいえ dab-config.json ✔️ はい 構成ファイルへのパス。

¹ このオプションは、--source.typeviewに設定されている場合にのみ必要です。

update

構成ファイル内の任意のデータベース エンティティのプロパティを更新します。

手記

dab update では、dab addでサポートされているすべてのオプションがサポートされます。 さらに、一覧表示されているオプションもサポートしています。

構文

dab update [entity-name] [options]

dab update Publisher --permissions "authenticated:*"

オプション

オプション オプション必須 既定値 必要な値 値の型 形容
--relationship ❌ いいえ ✔️ はい 2 つのエンティティ間のリレーションシップを指定します。 リレーションシップの名前を指定します。
--カーディナリティ ✔️ はい ¹ ✔️ はい 2 つのエンティティ間のカーディナリティを指定します。 1 つまたは複数の場合があります。
--target.entity ✔️ はい ¹ ✔️ はい ソース エンティティが関連付けられている別の公開エンティティ。
--linking.object ❌ いいえ ✔️ はい M:N リレーションシップをサポートするために使用されるデータベース オブジェクト。
--linking.source.fields ❌ いいえ ✔️ はい リンク オブジェクト内のデータベース フィールド。ソース エンティティ内の関連アイテムに接続します。 コンマ区切りフィールド。
--linking.target.fields ❌ いいえ ✔️ はい リンク オブジェクト内のデータベース フィールド。ターゲット エンティティ内の関連アイテムに接続します。 コンマ区切りフィールド。
--relationship.fields ❌ いいえ ✔️ はい エンティティのマッピングに使用するフィールドを指定します。 例: --relationship.fields "id:book_id". ここでは、id は sourceEntity の列を表し、targetEntity から book_id します。 指定しない場合は、基になるソース間で外部キーが必要です。
-m,--map ❌ いいえ ✔️ はい データベース フィールドと GraphQL フィールドと REST フィールドの間のマッピングを指定します。 形式: --map "backendName1:exposedName1, backendName2:exposedName2,...".

¹ このオプションは、--relationship オプションを使用する場合にのみ必要です。

export

必要なスキーマをファイルとしてエクスポートし、オプションに基づいてディスクに保存します。

構文

dab export [options]

dab export --graphql -o ./schemas

オプション

オプション オプション必須 既定値 必要な値 値の型 形容
--graphql ❌ いいえ false ❌ いいえ GraphQL スキーマをエクスポートします。
-o,--output ✔️ はい ✔️ はい スキーマ ファイルを保存するディレクトリを指定します。
-g,--graphql-schema-file ❌ いいえ schema.graphql ✔️ はい Graphql スキーマ ファイルの名前を指定します。
-c,--config ❌ いいえ dab-config.json ✔️ はい 構成ファイルへのパス。

start

REST 要求と GraphQL 要求を処理するための指定された構成ファイルを使用してランタイム エンジンを起動します。

構文

dab start [options]

dab start

オプション

オプション オプション必須 既定値 必要な値 値の型 形容
--verbose ❌ いいえ ❌ いいえ 情報としてログ 記録レベルを指定します。
--LogLevel ❌ いいえ Debug時に hostMode=development 時に Error ✔️ はい 指定された値としてログ 記録レベルを指定します。 例: デバッグ、エラー、情報など
--no-https-redirect ❌ いいえ ✔️ はい - https の自動リダイレクトを無効にします。
-c,--config ❌ いいえ dab-config.json ✔️ はい 構成ファイルへのパス。

手記

--verbose--LogLevel を同時に使用することはできません。 さまざまなログ 記録レベルの詳細については、「.NET ログ レベルを参照してください。

validate

データ API ビルダーランタイム エンジンによって使用されるランタイム構成ファイルを検証します。 検証プロセスにより、構成ファイルがスキーマに準拠し、ランタイム エンジンが正しく機能するために必要なすべての情報が含まれていることが保証されます。

構文

dab validate [options]

dab validate

オプション

オプション オプション必須 既定値 必要な値 値の型 形容
-c,--config ❌ いいえ dab-config.json ✔️ はい 検証の対象となる構成ファイルへのパス。

configure

dab configure コマンドは、エンティティ セクションの外部での構成プロパティの更新を簡略化するように設計されています。 このドキュメントでは、dab configure コマンドの設計、機能、実装の詳細について説明します。 ランタイム構成のデータ ソース セクションとランタイム セクションの構成プロパティの CLI の編集がサポートされています。

手記

dab configure は、構成のデータ ソース セクションとランタイム セクションを更新するためだけに使用されます。entities セクションには、dab update コマンドが既に用意されています。

構文

dab configure [options] [value]

dab configure --runtime.rest.enabled true

オプション

構成ファイルのプロパティ CLI フラグ データ型 許容 形容
データ ソース。
database-type
--data-source.database-type 文字列: MSSQLPostgreSQLCosmosDB_NoSQLMySQL この値は、データベースの種類を示します。
データ ソース。
connection-string
--data-source.connection-string データ ソースの接続文字列を参照します。
データ ソース。
options.database
--data-source.options.database Cosmos DB for NoSql のデータベース名を参照します。
データ ソース。
options.container
--data-source.options.container Cosmos DB for NoSql のコンテナー名を参照します。
データ ソース。
options.schema
--data-source.options.schema Cosmos DB for NoSql のスキーマ パスを提供します。
データ ソース。
options.set-session-context
--data-source.options.set-session-context Boolean: true, false (既定値: true) セッション コンテキストを有効にするかどうかを指定します。
実行中。
rest.enabled
--runtime.rest.enabled Boolean: true, false (既定値: true) DAB の REST エンドポイントを有効にするかどうかを示します。
実行中。
rest.path
--runtime.rest.path 文字列 (既定値: /api) DAB の REST エンドポイント パスをカスタマイズします。 条件: プレフィックスに '/' を付けます。スペースがなく、予約文字もありません。
実行中。
rest.request-body-strict
--runtime.rest.request-body-strict Boolean: true, false (既定値: true) 余分な REST 要求本文フィールドを許可/禁止します。
実行中。
graphql.enabled
--runtime.graphql.enabled Boolean: true, false (既定値: true) DAB の GraphQL エンドポイントを有効または無効にします。
実行中。
graphql.path
--runtime.graphql.path 文字列 (既定値: /graphql) DAB の GraphQL エンドポイント パスをカスタマイズします。 条件: プレフィックスに '/' を付けます。スペースがなく、予約文字もありません。
実行中。
graphql.depth-limit
--runtime.graphql.depth-limit 整数 これは、graphQL の入れ子になったクエリの最大許容深度を指します。 使用できる値: (0,2147483647] を含む)。 既定値は無限大です。 制限を削除するには、-1 を使用します。
実行中。
graphql.allow-introspection
--runtime.graphql.allow-introspection Boolean: true, false (既定値: true) GraphQL スキーマでの GraphQL イントロスペクション要求の許可/拒否。
実行中。
graphql.multiple-mutations.create.enabled
--runtime.graphql.multiple-mutations.create.enabled Boolean: true, false (既定値: true) DAB で生成された GraphQL スキーマに対する複数の変更作成操作を有効または無効にします。
実行中。
host.mode
--runtime.host.mode String: Development, Production Default: Development 開発または運用で DAB のホスト実行モードを設定します。
実行中。
host.cors.origins
--runtime.host.cors.origins 文字列の配列 CORS で許可されている配信元を上書きする場合に使用します。 既定値: [] (文字列のスペース区切り配列)。
実行中。
host.cors.allow-credentials
--runtime.host.cors.allow-credentials Boolean: true, false (既定値: false) --host.cors.allow-credentials 内の Access-Control Allow-Credentials ヘッダーの値を設定します。
実行中。
host.authentication.provider
--runtime.host.authentication.provider 文字列: StaticWebAppsAppServiceAzureADJwt 認証プロバイダーの名前を構成します。 既定値: StaticWebApps
実行中。
host.authentication.jwt.audience
--runtime.host.authentication.jwt.audience 文字列の配列 これを使用して、Jwt トークンの目的の受信者を構成します。
実行中。
host.authentication.jwt.issuer
--runtime.host.authentication.jwt.issuer これは、Jwt トークンを発行したエンティティを指します。
実行中。
cache.enabled
--runtime.cache.enabled Boolean: true, false (既定値: false) DAB のキャッシュをグローバルに有効または無効にします。 (各エンティティのキャッシュを個別に有効にする必要もあります)。
実行中。
cache.ttl-seconds
--runtime.cache.ttl-seconds 整数 (既定値: 5) DAB キャッシュのグローバルな既定の時刻を秒単位で有効にカスタマイズします。