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 | 文字列 | 接続するデータベースの種類。 サポートされる値: mssql 、cosmosdb_nosql 、cosmosdb_postgresql 、mysql 、postgresql 。 |
|
--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-type
が cosmosdb_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 | 文字列 | データベース オブジェクトの型。 サポートされている値: table 、view 、stored-procedure 。 |
--source.params |
❌ いいえ | ✔️ はい。proc にパラメーターがある場合 | 文字列 | ストアド プロシージャ パラメーターとそのデータ型のディクショナリ。 サポートされているデータ型は、string 、number 、および 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 操作。 サポートされている値: query 、mutation 。 |
--fields.include |
❌ いいえ | ✔️ Yes | 文字列 | アクセス許可を持つフィールド。 | |
--fields.exclude |
❌ いいえ | ✔️ Yes | 文字列 | アクション リストから除外されるフィールド。 | |
--policy-database |
❌ いいえ | ✔️ Yes | 文字列 | データベースに送信されるクエリに挿入される OData スタイルフィルタールールを指定します。 | |
-c ,--config |
❌ いいえ | dab-config.json |
✔️ Yes | 文字列 | 構成ファイルへのパス。 |
¹ このオプションは、--source.type
が view
に設定されている場合にのみ必要です。
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"