次の方法で共有


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

The Data API builder command-line interface (CLI) (dab CLI or dab) is a command line tool that streamlines the local development experience for applications using Data API builder.

Tip

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

dab --help

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

dab init --help

init

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

Syntax

dab init [options]

Examples

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

オプション

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

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

add

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

Syntax

dab add [entity-name] [options]

Examples

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

オプション

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

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

update

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

Note

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

Syntax

dab update [entity-name] [options]

Examples

dab update Publisher --permissions "authenticated:*"

オプション

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

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

export

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

Syntax

dab export [options]

Examples

dab export --graphql -o ./schemas

オプション

オプション Option Required Default Value Value Required Value Type Description
--graphql ❌ いいえ false ❌ いいえ GraphQL スキーマをエクスポートします。
-o,--output ✔️ Yes ✔️ Yes 文字列 スキーマ ファイルを保存するディレクトリを指定します。
-g,--graphql-schema-file ❌ いいえ schema.graphql ✔️ Yes 文字列 Graphql スキーマ ファイルの名前を指定します。
-c,--config ❌ いいえ dab-config.json ✔️ Yes 文字列 構成ファイルへのパス。

start

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

Syntax

dab start [options]

Examples

dab start

オプション

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

Note

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

validate

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

Syntax

dab validate [options]

Examples

dab validate

オプション

オプション Option Required Default Value Value Type Description
-c,--config ❌ いいえ dab-config.json 文字列 検証の対象となる構成ファイルへのパス。

configure

dab configure コマンドは、data-sourceおよびruntime構成プロパティの更新を簡略化するように設計されています。 entities セクションでは、dab update コマンドを使用します。

Syntax

dab configure [options] [value]

データ ソースのオプション

Section データ ソースの構成 タイプ
Core --data-source.database-type リスト
Core --data-source.connection-string 文字列
オプション --data-source.options.database 文字列
オプション --data-source.options.container 文字列
オプション --data-source.options.schema 文字列
オプション --data-source.options.set-session-context boolean (true, false)

Example

dab configure --data-source.database-type mssql
dab configure --data-source.database-type "mssql"

Runtime options

Section Runtime Configuration タイプ
REST --runtime.rest.enabled boolean (true, false)
REST --runtime.rest.path 文字列
REST --runtime.rest.request-body-strict boolean (true, false)
GraphQL --runtime.graphql.enabled boolean (true, false)
GraphQL --runtime.graphql.path 文字列
GraphQL --runtime.graphql.depth-limit 整数
GraphQL --runtime.graphql.allow-introspection boolean (true, false)
GraphQL --runtime.graphql.multiple-mutations.create.enabled boolean (true, false)
Host --runtime.host.mode リスト
Host --runtime.host.cors.origins 文字列の配列
Host --runtime.host.cors.allow-credentials boolean (true, false)
Host --runtime.host.authentication.provider リスト
Host --runtime.host.authentication.jwt.audience 文字列の配列
Host --runtime.host.authentication.jwt.issuer 文字列
Cache --runtime.cache.enabled boolean (true, false)
Cache --runtime.cache.ttl-seconds 整数

Example

dab configure --runtime.rest.enabled true
dab configure --runtime.rest.enabled "true"