データ 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 | ✔️ はい | ✔️ はい | 糸 | 接続するデータベースの種類。 サポートされる値: mssql 、cosmosdb_nosql 、cosmosdb_postgresql 、mysql 、postgresql 。 |
|
--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-type
が cosmosdb_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 |
✔️ はい | 糸 | データベース オブジェクトの型。 サポートされている値: table 、view 、stored-procedure 。 |
--source.params | ❌ いいえ | ✔️ はい。proc にパラメーターがある場合 | 糸 | ストアド プロシージャ パラメーターとそのデータ型のディクショナリ。 サポートされているデータ型は、string 、number 、および 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 操作。 サポートされている値: query 、mutation 。 |
--fields.include | ❌ いいえ | ✔️ はい | 糸 | アクセス許可を持つフィールド。 | |
--fields.exclude | ❌ いいえ | ✔️ はい | 糸 | アクション リストから除外されるフィールド。 | |
--policy-database | ❌ いいえ | ✔️ はい | 糸 | データベースに送信されるクエリに挿入される OData スタイルフィルタールールを指定します。 | |
-c,--config | ❌ いいえ | dab-config.json |
✔️ はい | 糸 | 構成ファイルへのパス。 |
¹ このオプションは、--source.type
が view
に設定されている場合にのみ必要です。
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 |
|
文字列: MSSQL 、PostgreSQL 、CosmosDB_NoSQL 、MySQL |
❌ | この値は、データベースの種類を示します。 |
データ ソース。 connection-string |
|
糸 | ❌ | データ ソースの接続文字列を参照します。 |
データ ソース。 options.database |
|
糸 | ✅ | Cosmos DB for NoSql のデータベース名を参照します。 |
データ ソース。 options.container |
|
糸 | ✅ | Cosmos DB for NoSql のコンテナー名を参照します。 |
データ ソース。 options.schema |
|
糸 | ✅ | Cosmos DB for NoSql のスキーマ パスを提供します。 |
データ ソース。 options.set-session-context |
|
Boolean: true , false (既定値: true ) |
✅ | セッション コンテキストを有効にするかどうかを指定します。 |
実行中。 rest.enabled |
|
Boolean: true , false (既定値: true ) |
❌ | DAB の REST エンドポイントを有効にするかどうかを示します。 |
実行中。 rest.path |
|
文字列 (既定値: /api ) |
❌ | DAB の REST エンドポイント パスをカスタマイズします。 条件: プレフィックスに '/' を付けます。スペースがなく、予約文字もありません。 |
実行中。 rest.request-body-strict |
|
Boolean: true , false (既定値: true ) |
✅ | 余分な REST 要求本文フィールドを許可/禁止します。 |
実行中。 graphql.enabled |
|
Boolean: true , false (既定値: true ) |
❌ | DAB の GraphQL エンドポイントを有効または無効にします。 |
実行中。 graphql.path |
|
文字列 (既定値: /graphql ) |
❌ | DAB の GraphQL エンドポイント パスをカスタマイズします。 条件: プレフィックスに '/' を付けます。スペースがなく、予約文字もありません。 |
実行中。 graphql.depth-limit |
|
整数 | ✅ | これは、graphQL の入れ子になったクエリの最大許容深度を指します。 使用できる値: (0,2147483647] を含む)。 既定値は無限大です。 制限を削除するには、-1 を使用します。 |
実行中。 graphql.allow-introspection |
|
Boolean: true , false (既定値: true ) |
✅ | GraphQL スキーマでの GraphQL イントロスペクション要求の許可/拒否。 |
実行中。 graphql.multiple-mutations.create.enabled |
|
Boolean: true , false (既定値: true ) |
✅ | DAB で生成された GraphQL スキーマに対する複数の変更作成操作を有効または無効にします。 |
実行中。 host.mode |
|
String: Development , Production Default: Development |
❌ | 開発または運用で DAB のホスト実行モードを設定します。 |
実行中。 host.cors.origins |
|
文字列の配列 | ✅ | CORS で許可されている配信元を上書きする場合に使用します。 既定値: [] (文字列のスペース区切り配列)。 |
実行中。 host.cors.allow-credentials |
|
Boolean: true , false (既定値: false ) |
✅ | --host.cors.allow-credentials 内の Access-Control Allow-Credentials ヘッダーの値を設定します。 |
実行中。 host.authentication.provider |
|
文字列: StaticWebApps 、AppService 、AzureAD 、Jwt |
✅ | 認証プロバイダーの名前を構成します。 既定値: StaticWebApps 。 |
実行中。 host.authentication.jwt.audience |
|
文字列の配列 | ✅ | これを使用して、Jwt トークンの目的の受信者を構成します。 |
実行中。 host.authentication.jwt.issuer |
|
糸 | ✅ | これは、Jwt トークンを発行したエンティティを指します。 |
実行中。 cache.enabled |
|
Boolean: true , false (既定値: false ) |
✅ | DAB のキャッシュをグローバルに有効または無効にします。 (各エンティティのキャッシュを個別に有効にする必要もあります)。 |
実行中。 cache.ttl-seconds |
|
整数 (既定値: 5 ) |
✅ | DAB キャッシュのグローバルな既定の時刻を秒単位で有効にカスタマイズします。 |