다음을 통해 공유


데이터 API 작성기 명령줄 인터페이스 참조

데이터 API 작성기 CLI(명령줄 인터페이스)(dab CLI 또는 dab)는 데이터 API 작성기를 사용하는 애플리케이션에 대한 로컬 개발 환경을 간소화하는 명령줄 도구입니다.

데이터 API 작성기 CLI에는 통합 도움말 시스템이 함께 제공됩니다. 사용할 수 있는 명령 목록을 얻으려면 --help 명령에서 dab 옵션을 사용합니다.

dab --help

특정 명령에 대한 도움말을 보려면 --help 옵션을 사용합니다. 예를 들어 init 명령에 대해 자세히 알아보려면 다음을 수행합니다.

dab init --help

명령줄 동사 및 옵션

init

Data API Builder 런타임 엔진에 대한 런타임 구성을 초기화합니다. 옵션으로 제공되는 속성을 사용하여 새 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 ✔️ 예 을 ✔️ 예 문자열 NoSql용 Cosmos DB의 데이터베이스 이름입니다.
--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 ❌ 아니요 ✔️ 예 문자열 JWT(Json Web Token)가 의도한 받는 사람을 식별합니다.
--auth.issuer ❌ 아니요 ✔️ 예 문자열 JWT 토큰을 발급한 당사자를 지정합니다.
-c,--config ❌ 아니요 dab-config.json ✔️ 예 문자열 구성 파일의 경로입니다.

1 이 옵션은 --database-typecosmosdb_nosql설정된 경우에만 필요합니다.

add

구성 파일에 새 데이터베이스 엔터티를 추가합니다. 이 명령을 실행하기 전에 구성 파일이 이미 있는지 확인합니다. 그렇지 않으면 오류가 반환됩니다.

통사론

dab add [entity-name] [options]

예제

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

옵션

옵션 옵션 필요 기본값 필요한 값 값 형식 묘사
-s,--출처 ✔️ 예 ✔️ 예 문자열 원본 테이블 또는 컨테이너의 이름입니다.
--permissions ✔️ 예 ✔️ 예 문자열 원본 테이블 또는 컨테이너에 액세스하는 데 필요한 권한입니다. 형식: [role]:[actions].
--source.type ❌ 아니요 table ✔️ 예 문자열 데이터베이스 개체의 형식입니다. 지원되는 값: table, view, stored-procedure.
--source.params ❌ 아니요 ✔️ 예, 프롬크에 매개 변수가 있는 경우 문자열 저장 프로시저 매개 변수 및 해당 데이터 형식의 사전입니다. 지원되는 데이터 형식은 string, numberboolean. 매개 변수는 paramName:type형식으로 지정됩니다. 예: --source.params "id:number,isActive:boolean,name:string".
--source.key 필드 ✔️ 예 을 ✔️ 예 문자열 테이블 및 뷰에 대해서만 기본 키로 사용할 하나 이상의 필드입니다. 쉼표로 구분된 값입니다. 예제 --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 ✔️ 예 문자열 구성 파일의 경로입니다.

1 이 옵션은 --source.typeview설정된 경우에만 필요합니다.

update

구성 파일에서 데이터베이스 엔터티의 속성을 업데이트합니다.

메모

dab update dab add지원하는 모든 옵션을 지원합니다. 또한 나열된 옵션도 지원합니다.

통사론

dab update [entity-name] [options]

예제

dab update Publisher --permissions "authenticated:*"

옵션

옵션 옵션 필요 기본값 필요한 값 값 형식 묘사
--relationship ❌ 아니요 ✔️ 예 문자열 두 엔터티 간의 관계를 지정합니다. 관계의 이름을 제공합니다.
--카디널리티 ✔️ 예 을 ✔️ 예 문자열 두 엔터티 간에 카디널리티를 지정합니다. 하나 이상이 될 수 있습니다.
--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,--맵 ❌ 아니요 ✔️ 예 문자열 데이터베이스 필드와 GraphQL 및 REST 필드 간의 매핑을 지정합니다. 형식: --map "backendName1:exposedName1, backendName2:exposedName2,...".

1 이 옵션은 --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

옵션

옵션 옵션 필요 기본값 필요한 값 값 형식 묘사
--자세한 정보 표시 ❌ 아니요 ❌ 아니요 로깅 수준을 정보로 지정합니다.
--LogLevel ❌ 아니요 DebughostMode=developmentErrorHostMode=Production ✔️ 예 문자열 제공된 값으로 로깅 수준을 지정합니다. 예: 디버그, 오류, 정보 등
--no-https-redirect ❌ 아니요 ✔️ 예 - 자동 https 리디렉션을 사용하지 않도록 설정합니다.
-c,--config ❌ 아니요 dab-config.json ✔️ 예 문자열 구성 파일의 경로입니다.

메모

--verbose--LogLevel 동시에 사용할 수 없습니다. 다른 로깅 수준에 대한 자세한 내용은.NET 로그 수준 참조하세요.

validate

Data API Builder 런타임 엔진에서 사용하는 런타임 구성 파일의 유효성을 검사합니다. 유효성 검사 프로세스는 구성 파일이 스키마를 준수하고 런타임 엔진이 올바르게 작동하는 데 필요한 모든 정보를 포함하도록 합니다.

통사론

dab validate [options]

예제

dab validate

옵션

옵션 옵션 필요 기본값 필요한 값 값 형식 묘사
-c,--config ❌ 아니요 dab-config.json ✔️ 예 문자열 유효성 검사 대상인 구성 파일의 경로입니다.

configure

dab configure 명령은 엔터티 섹션 외부에서 구성 속성 업데이트를 간소화하도록 설계되었습니다. 이 문서에서는 dab 구성 명령의 디자인, 기능 및 구현 세부 정보를 간략하게 설명합니다. 런타임 구성의 데이터 원본 및 런타임 섹션에서 구성 속성에 대한 CLI 편집을 지원합니다.

메모

dab configure 구성의 데이터 원본 및 런타임 섹션을 업데이트하기 위한 것입니다. 엔터티 섹션의 경우 dab 업데이트 명령이 이미 있습니다.

통사론

dab configure [options] [value]

예제

dab configure --runtime.rest.enabled true

옵션

구성 파일 속성 CLI 플래그 데이터 형식 Nullable 묘사
데이터 원본입니다.
database-type
--data-source.database-type 문자열: MSSQL, PostgreSQL, CosmosDB_NoSQL, MySQL 이 값은 데이터베이스 형식을 나타냅니다.
데이터 원본입니다.
connection-string
--data-source.connection-string 문자열 데이터 원본에 대한 연결 문자열을 참조합니다.
데이터 원본입니다.
options.database
--data-source.options.database 문자열 NoSql용 Cosmos DB의 데이터베이스 이름을 참조합니다.
데이터 원본입니다.
options.container
--data-source.options.container 문자열 NoSql용 Cosmos DB의 컨테이너 이름을 참조합니다.
데이터 원본입니다.
options.schema
--data-source.options.schema 문자열 NoSql용 Cosmos DB에 대한 스키마 경로를 제공합니다.
데이터 원본입니다.
options.set-session-context
--data-source.options.set-session-context 부울: true, false(기본값: true) 세션 컨텍스트를 사용하도록 설정할지 여부입니다.
런타임.
rest.enabled
--runtime.rest.enabled 부울: true, false(기본값: true) DAB의 REST 엔드포인트를 사용하도록 설정할지 여부를 의미합니다.
런타임.
rest.path
--runtime.rest.path 문자열(기본값: /api) DAB의 REST 엔드포인트 경로를 사용자 지정합니다. 조건: '/'이 있는 접두사, 공백 없음 및 예약 문자 없음
런타임.
rest.request-body-strict
--runtime.rest.request-body-strict 부울: true, false(기본값: true) 불필요한 REST 요청 본문 필드를 허용/금지합니다.
런타임.
graphql.enabled
--runtime.graphql.enabled 부울: 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 부울: true, false(기본값: true) GraphQL 스키마에서 GraphQL 내성 요청을 허용/거부합니다.
런타임.
graphql.multiple-mutations.create.enabled
--runtime.graphql.multiple-mutations.create.enabled 부울: true, false(기본값: true) DAB의 생성된 GraphQL 스키마에서 다중 변형 만들기 작업을 사용하거나 사용하지 않도록 설정합니다.
런타임.
host.mode
--runtime.host.mode 문자열: Development, Production 기본값: Development 개발 또는 프로덕션에서 DAB의 호스트 실행 모드를 설정합니다.
런타임.
host.cors.origins
--runtime.host.cors.origins 문자열 배열 CORS에서 허용되는 원본을 덮어쓰려면 이 옵션을 사용합니다. 기본값: [] (공백으로 구분된 문자열 배열).
런타임.
host.cors.allow-credentials
--runtime.host.cors.allow-credentials 부울: true, false(기본값: false) --host.cors.allow-credentials에서 Access-Control Allow-Credentials 헤더에 대한 값을 설정합니다.
런타임.
host.authentication.provider
--runtime.host.authentication.provider 문자열: StaticWebApps, AppService, AzureAD, Jwt 인증 공급자의 이름을 구성합니다. 기본값: 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 부울: true, false(기본값: false) DAB의 캐시를 전역적으로 사용/사용하지 않도록 설정합니다. (또한 각 엔터티의 캐시를 별도로 사용하도록 설정해야 합니다.).
런타임.
cache.ttl-seconds
--runtime.cache.ttl-seconds 정수(기본값: 5) DAB 캐시의 전역 기본 시간(초)을 사용자 지정합니다.