Chỉnh sửa

configure command

Configure runtime and data source properties that aren't entity-specific in an existing Data API builder configuration file. Unspecified options leave existing values unchanged. If any provided option is invalid, the entire update fails (all-or-nothing).

Acronyms used in this reference: Model Context Protocol (MCP), data manipulation language (DML), time to live (TTL), JSON Web Token (JWT), release candidate (RC), data collection rule (DCR), and data collection endpoint (DCE).

Note

This command doesn't alter the entities section. Use dab update for entity changes.

Syntax

dab configure [options]

Important

OpenTelemetry and Application Insights settings are configured with dab add-telemetry, not dab configure. See concept/monitor/open-telemetry.md and concept/monitor/application-insights.md.

Quick glance

Option Summary
-c, --config Path to the config file (default dab-config.json).

Data source section

Option Summary
--data-source.database-type Set the database type.
--data-source.connection-string Set the database connection string.
--data-source.options.database Database name for Cosmos DB for NoSql.
--data-source.options.container Container name for Cosmos DB for NoSql.
--data-source.options.schema Schema path for Cosmos DB for NoSql.
--data-source.options.set-session-context Enable or disable session context. Default: false.
--data-source.health.enabled Enable or disable the data source health check.
--data-source.health.name Identifier for data source in health check report.
--data-source.health.threshold-ms Health check query threshold in milliseconds.
--data-source.user-delegated-auth.enabled Enable OBO user-delegated authentication.
--data-source.user-delegated-auth.provider Set the OBO identity provider.
--data-source.user-delegated-auth.database-audience Target audience for the downstream SQL token.
--data-source-files Reference additional data source config files.

GraphQL section

Option Summary
--runtime.graphql.depth-limit Limit maximum query depth.
--runtime.graphql.enabled Enable or disable GraphQL endpoint.
--runtime.graphql.path Customize the GraphQL endpoint path.
--runtime.graphql.allow-introspection Allow or deny GraphQL introspection.
--runtime.graphql.multiple-mutations.create.enabled Enable multiple-create mutations.

REST section

Option Summary
--runtime.rest.enabled Enable or disable REST endpoint.
--runtime.rest.path Customize the REST endpoint path.
--runtime.rest.request-body-strict Enforce strict REST request body validation.

Pagination section

Option Summary
--runtime.pagination.max-page-size Maximum page size for paginated results.
--runtime.pagination.default-page-size Default page size for paginated results.
--runtime.pagination.next-link-relative Use relative URLs in REST pagination next links.

MCP section

Option Summary
--runtime.mcp.enabled Enable or disable MCP endpoint.
--runtime.mcp.path Customize the MCP endpoint path.
--runtime.mcp.description Set the MCP server description.
--runtime.mcp.dml-tools Enable or disable all MCP DML tools.
--runtime.mcp.dml-tools.describe-entities Enable or disable the describe-entities tool.
--runtime.mcp.dml-tools.create-record Enable or disable the create-record tool.
--runtime.mcp.dml-tools.read-records Enable or disable the read-records tool.
--runtime.mcp.dml-tools.update-record Enable or disable the update-record tool.
--runtime.mcp.dml-tools.delete-record Enable or disable the delete-record tool.
--runtime.mcp.dml-tools.execute-entity Enable or disable the execute-entity tool.
--runtime.mcp.dml-tools.aggregate-records Enable or disable the aggregate-records tool.
--runtime.mcp.dml-tools.aggregate-records.query-timeout Execution timeout in seconds for aggregate-records.

Cache section

Option Summary
--runtime.cache.enabled Enable or disable global cache.
--runtime.cache.ttl-seconds Global cache TTL in seconds.
--runtime.compression.level Set HTTP response compression level.

Host section

Option Summary
--runtime.host.mode Set host mode: Development or Production.
--runtime.host.max-response-size-mb Maximum response size in megabytes.
--runtime.host.cors.origins Allowed CORS origins.
--runtime.host.cors.allow-credentials Set CORS allow-credentials.
--runtime.host.authentication.provider Authentication provider.
--runtime.host.authentication.jwt.audience JWT audience claim.
--runtime.host.authentication.jwt.issuer JWT issuer claim.

Health section

Option Summary
--runtime.health.enabled Enable or disable the global health endpoint.
--runtime.health.cache-ttl-seconds Cache TTL for health check reports.
--runtime.health.max-query-parallelism Maximum concurrent health check queries.
--runtime.health.roles Roles allowed to view comprehensive health results.

Effective permissions

Option Summary
--show-effective-permissions Display resolved permissions for all entities.

Key Vault section

Option Summary
--azure-key-vault.endpoint Azure Key Vault base endpoint.
--azure-key-vault.retry-policy.mode Retry policy mode.
--azure-key-vault.retry-policy.max-count Max retry attempts.
--azure-key-vault.retry-policy.delay-seconds Delay between retries.
--azure-key-vault.retry-policy.max-delay-seconds Max delay for exponential retries.
--azure-key-vault.retry-policy.network-timeout-seconds Time out for network calls.

Telemetry section

Option Summary
--runtime.telemetry.log-level Configure logging verbosity by namespace.
--runtime.telemetry.azure-log-analytics.enabled Enable Azure Log Analytics telemetry.
--runtime.telemetry.azure-log-analytics.dab-identifier Distinguish log origin.
--runtime.telemetry.azure-log-analytics.flush-interval-seconds Flush cadence in seconds.
--runtime.telemetry.azure-log-analytics.auth.custom-table-name Custom table name.
--runtime.telemetry.azure-log-analytics.auth.dcr-immutable-id Data Collection Rule ID.
--runtime.telemetry.azure-log-analytics.auth.dce-endpoint Data Collection Endpoint.
--runtime.telemetry.file.enabled Enable file sink telemetry.
--runtime.telemetry.file.path Path to log file.
--runtime.telemetry.file.rolling-interval Rolling interval.
--runtime.telemetry.file.retained-file-count-limit Max number of files retained.
--runtime.telemetry.file.file-size-limit-bytes Max size per file before rolling.

-c, --config

Path to the config file. Defaults to dab-config.json unless dab-config.<DAB_ENVIRONMENT>.json exists, where DAB_ENVIRONMENT is an environment variable.

Example

dab configure \
  --config ./dab-config.json \
  --runtime.rest.enabled true

--data-source.database-type

Database type.

Allowed values:

  • MSSQL
  • DWSQL
  • PostgreSQL
  • CosmosDB_PostgreSQL
  • CosmosDB_NoSQL
  • MySQL

Example

dab configure \
  --data-source.database-type PostgreSQL

Resulting config

{
  "data-source": {
    "database-type": "postgresql"
  }
}

--data-source.connection-string

Connection string for the data source.

Example

dab configure \
  --data-source.connection-string "Server=myserver;Database=mydb;User Id=myuser;Password=mypassword;"

Resulting config

{
  "data-source": {
    "connection-string": "Server=myserver;Database=mydb;User Id=myuser;Password=mypassword;"
  }
}

--data-source-files

Reference additional data source configuration files from the root configuration file.

Example

dab configure \
  --data-source-files ./dab-config.sales.json

Resulting config

{
  "data-source-files": [
    "./dab-config.sales.json"
  ]
}

--data-source.options.database

Database name for Cosmos DB for NoSql.

Example

dab configure \
  --data-source.options.database MyCosmosDatabase

Resulting config

{
  "data-source": {
    "options": {
      "database": "MyCosmosDatabase"
    }
  }
}

--data-source.options.container

Container name for Cosmos DB for NoSql.

Example

dab configure \
  --data-source.options.container MyCosmosContainer

Resulting config

{
  "data-source": {
    "options": {
      "container": "MyCosmosContainer"
    }
  }
}

--data-source.options.schema

Schema path for Cosmos DB for NoSql.

Example

dab configure \
  --data-source.options.schema ./schema.gql

Resulting config

{
  "data-source": {
    "options": {
      "schema": "./schema.gql"
    }
  }
}

--data-source.options.set-session-context

Enable session context.

Allowed values:

  • true
  • false (default)

Example

dab configure \
  --data-source.options.set-session-context false

Resulting config

{
  "data-source": {
    "options": {
      "set-session-context": false
    }
  }
}

--data-source.health.enabled

Enable or disable the health check for the data source. Default is true.

Example

dab configure \
  --data-source.health.enabled false

Resulting config

{
  "data-source": {
    "health": {
      "enabled": false
    }
  }
}

--data-source.health.name

Identifier for data source in health check report.

Example

dab configure \
  --data-source.health.name my-sql-health

Resulting config

{
  "data-source": {
    "health": {
      "name": "my-sql-health"
    }
  }
}

--data-source.health.threshold-ms

Maximum duration in milliseconds for the data source health check query. Default is 1000.

Example

dab configure \
  --data-source.health.threshold-ms 750

Resulting config

{
  "data-source": {
    "health": {
      "threshold-ms": 750
    }
  }
}

--data-source.user-delegated-auth.enabled

Enable or disable On-Behalf-Of (OBO) user-delegated authentication. Supported only for mssql data sources.

Note

The Data API builder 2.0 functionality described in this section is currently in preview and might change before general availability. For more information, see What's new in version 2.0.

Example

dab configure \
  --data-source.user-delegated-auth.enabled true

Resulting config

{
  "data-source": {
    "user-delegated-auth": {
      "enabled": true
    }
  }
}

--data-source.user-delegated-auth.provider

Set the identity provider for On-Behalf-Of (OBO) user-delegated authentication. Currently, only EntraId is supported.

Note

The Data API builder 2.0 functionality described in this section is currently in preview and might change before general availability. For more information, see What's new in version 2.0.

Example

dab configure \
  --data-source.user-delegated-auth.provider EntraId

Resulting config

{
  "data-source": {
    "user-delegated-auth": {
      "provider": "EntraId"
    }
  }
}

--data-source.user-delegated-auth.database-audience

Set the target audience for the downstream SQL token when OBO is enabled.

Example

dab configure \
  --data-source.user-delegated-auth.database-audience "https://database.windows.net"

Resulting config

{
  "data-source": {
    "user-delegated-auth": {
      "database-audience": "https://database.windows.net"
    }
  }
}

--runtime.graphql.depth-limit

Max allowed depth of the nested query.

Allowed values:

  • $(0,2147483647]$ (inclusive)
  • -1 to remove limit

Example

dab configure \
  --runtime.graphql.depth-limit 3

Resulting config

{
  "runtime": {
    "graphql": {
      "depth-limit": 3
    }
  }
}

--runtime.graphql.enabled

Enable DAB's GraphQL endpoint.

Example

dab configure \
  --runtime.graphql.enabled false

Resulting config

{
  "runtime": {
    "graphql": {
      "enabled": false
    }
  }
}

--runtime.graphql.path

Customize DAB's GraphQL endpoint path. Prefix path with /.

Example

dab configure \
  --runtime.graphql.path /graphql

Resulting config

{
  "runtime": {
    "graphql": {
      "path": "/graphql"
    }
  }
}

--runtime.graphql.allow-introspection

Allow or deny GraphQL introspection requests.

Example

dab configure \
  --runtime.graphql.allow-introspection false

Resulting config

{
  "runtime": {
    "graphql": {
      "allow-introspection": false
    }
  }
}

--runtime.graphql.multiple-mutations.create.enabled

Enable or disable multiple-mutation create operations in the generated GraphQL schema.

Example

dab configure \
  --runtime.graphql.multiple-mutations.create.enabled true

Resulting config

{
  "runtime": {
    "graphql": {
      "multiple-mutations": {
        "create": {
          "enabled": true
        }
      }
    }
  }
}

--runtime.rest.enabled

Enable DAB's REST endpoint.

Example

dab configure \
  --runtime.rest.enabled false

Resulting config

{
  "runtime": {
    "rest": {
      "enabled": false
    }
  }
}

--runtime.rest.path

Customize DAB's REST endpoint path. Prefix path with /.

Example

dab configure \
  --runtime.rest.path /myapi

Resulting config

{
  "runtime": {
    "rest": {
      "path": "/myapi"
    }
  }
}

--runtime.rest.request-body-strict

Prohibit extraneous REST request body fields.

Example

dab configure \
  --runtime.rest.request-body-strict true

Resulting config

{
  "runtime": {
    "rest": {
      "request-body-strict": true
    }
  }
}

--runtime.pagination.max-page-size

Maximum page size for paginated results. Default is 100000. Minimum is 1.

Example

dab configure \
  --runtime.pagination.max-page-size 50000

Resulting config

{
  "runtime": {
    "pagination": {
      "max-page-size": 50000
    }
  }
}

--runtime.pagination.default-page-size

Default page size for paginated results. Default is 100. Minimum is 1.

Example

dab configure \
  --runtime.pagination.default-page-size 50

Resulting config

{
  "runtime": {
    "pagination": {
      "default-page-size": 50
    }
  }
}

Use relative URLs instead of absolute URLs in REST pagination nextLink values. Default is false.

Example

dab configure \
  --runtime.pagination.next-link-relative true

Resulting config

{
  "runtime": {
    "pagination": {
      "next-link-relative": true
    }
  }
}

--runtime.mcp.enabled

Enable DAB's MCP endpoint.

Note

This option is available in the Data API builder 2.0 preview CLI. Install the latest prerelease with dotnet tool install microsoft.dataapibuilder --prerelease.

Example

dab configure \
  --runtime.mcp.enabled false

Resulting config

{
  "runtime": {
    "mcp": {
      "enabled": false
    }
  }
}

--runtime.mcp.path

Customize DAB's MCP endpoint path. Prefix path with /.

Note

This option is available in the Data API builder 2.0 preview CLI. Install the latest prerelease with dotnet tool install microsoft.dataapibuilder --prerelease.

Example

dab configure \
  --runtime.mcp.path /mcp2

Resulting config

{
  "runtime": {
    "mcp": {
      "path": "/mcp2"
    }
  }
}

--runtime.mcp.description

Set the MCP server description to be exposed in the initialized response.

Note

This option is available in the Data API builder 2.0 preview CLI. Install the latest prerelease with dotnet tool install microsoft.dataapibuilder --prerelease.

Example

dab configure \
  --runtime.mcp.description "My MCP Server"

Resulting config

{
  "runtime": {
    "mcp": {
      "description": "My MCP Server"
    }
  }
}

--runtime.mcp.dml-tools

Enable DAB's MCP DML tools endpoint.

Note

This option is available in the Data API builder 2.0 preview CLI. Install the latest prerelease with dotnet tool install microsoft.dataapibuilder --prerelease.

For more information on MCP DML tools, see SQL MCP Server data manipulation language tools.

Example

dab configure \
  --runtime.mcp.dml-tools false

Resulting config

{
  "runtime": {
    "mcp": {
      "dml-tools": false
    }
  }
}

--runtime.mcp.dml-tools.describe-entities

Enable DAB's MCP describe entities tool.

Note

This option is available in the Data API builder 2.0 preview CLI. Install the latest prerelease with dotnet tool install microsoft.dataapibuilder --prerelease.

Example

dab configure \
  --runtime.mcp.dml-tools.describe-entities false

Resulting config

{
  "runtime": {
    "mcp": {
      "dml-tools": {
        "describe-entities": false
      }
    }
  }
}

--runtime.mcp.dml-tools.create-record

Enable DAB's MCP create record tool.

Note

This option is available in the Data API builder 2.0 preview CLI. Install the latest prerelease with dotnet tool install microsoft.dataapibuilder --prerelease.

Example

dab configure \
  --runtime.mcp.dml-tools.create-record false

Resulting config

{
  "runtime": {
    "mcp": {
      "dml-tools": {
        "create-record": false
      }
    }
  }
}

--runtime.mcp.dml-tools.read-records

Enable DAB's MCP read record tool.

Note

This option is available in the Data API builder 2.0 preview CLI. Install the latest prerelease with dotnet tool install microsoft.dataapibuilder --prerelease.

Example

dab configure \
  --runtime.mcp.dml-tools.read-records false

Resulting config

{
  "runtime": {
    "mcp": {
      "dml-tools": {
        "read-records": false
      }
    }
  }
}

--runtime.mcp.dml-tools.update-record

Enable DAB's MCP update record tool.

Note

This option is available in the Data API builder 2.0 preview CLI. Install the latest prerelease with dotnet tool install microsoft.dataapibuilder --prerelease.

Example

dab configure \
  --runtime.mcp.dml-tools.update-record false

Resulting config

{
  "runtime": {
    "mcp": {
      "dml-tools": {
        "update-record": false
      }
    }
  }
}

--runtime.mcp.dml-tools.delete-record

Enable DAB's MCP delete record tool.

Note

This option is available in the Data API builder 2.0 preview CLI. Install the latest prerelease with dotnet tool install microsoft.dataapibuilder --prerelease.

Example

dab configure \
  --runtime.mcp.dml-tools.delete-record false

Resulting config

{
  "runtime": {
    "mcp": {
      "dml-tools": {
        "delete-record": false
      }
    }
  }
}

--runtime.mcp.dml-tools.execute-entity

Enable DAB's MCP execute entity tool.

Note

This option is available in the Data API builder 2.0 preview CLI. Install the latest prerelease with dotnet tool install microsoft.dataapibuilder --prerelease.

Example

dab configure \
  --runtime.mcp.dml-tools.execute-entity false

Resulting config

{
  "runtime": {
    "mcp": {
      "dml-tools": {
        "execute-entity": false
      }
    }
  }
}

--runtime.mcp.dml-tools.aggregate-records

Enable DAB's MCP aggregate records tool.

Note

This option is available in the Data API builder 2.0 preview CLI. Install the latest prerelease with dotnet tool install microsoft.dataapibuilder --prerelease.

Example

dab configure \
  --runtime.mcp.dml-tools.aggregate-records false

Resulting config

{
  "runtime": {
    "mcp": {
      "dml-tools": {
        "aggregate-records": false
      }
    }
  }
}

--runtime.mcp.dml-tools.aggregate-records.query-timeout

Set the execution timeout in seconds for the aggregate-records MCP tool.

Default: 30. Range: 1–600.

Note

This option is available in the Data API builder 2.0 preview CLI. Install the latest prerelease with dotnet tool install microsoft.dataapibuilder --prerelease.

Example

dab configure \
  --runtime.mcp.dml-tools.aggregate-records.query-timeout 60

Resulting config

{
  "runtime": {
    "mcp": {
      "dml-tools": {
        "aggregate-records": {
          "enabled": true,
          "query-timeout": 60
        }
      }
    }
  }
}

--runtime.cache.enabled

Enable DAB's cache globally. You must also enable caching for each entity.

Example

dab configure \
  --runtime.cache.enabled true

Resulting config

{
  "runtime": {
    "cache": {
      "enabled": true
    }
  }
}

--runtime.cache.ttl-seconds

Customize the DAB cache's global default time to live in seconds.

Example

dab configure \
  --runtime.cache.ttl-seconds 30

Resulting config

{
  "runtime": {
    "cache": {
      "enabled": false,
      "ttl-seconds": 30
    }
  }
}

--runtime.compression.level

Note

The Data API builder 2.0 functionality described in this section is currently in preview and might change before general availability. For more information, see What's new in version 2.0.

Set the HTTP response compression level.

Allowed values:

  • optimal—balances compression ratio and speed (default)
  • fastest—prioritizes compression speed over ratio
  • none—disables compression

Example

dab configure \
  --runtime.compression.level optimal

Resulting config

{
  "runtime": {
    "compression": {
      "level": "optimal"
    }
  }
}

--runtime.host.mode

Set the host running mode of DAB.

Allowed values:

  • Development
  • Production

Example

dab configure \
  --runtime.host.mode Development

Resulting config

{
  "runtime": {
    "host": {
      "mode": "development"
    }
  }
}

--runtime.host.max-response-size-mb

Maximum size in megabytes for a database response in a single result. Default is 158.

Example

dab configure \
  --runtime.host.max-response-size-mb 256

Resulting config

{
  "runtime": {
    "host": {
      "max-response-size-mb": 256
    }
  }
}

--runtime.host.cors.origins

Overwrite allowed origins in CORS. Provide values as a space-separated list.

Example

dab configure \
  --runtime.host.cors.origins \
  https://contoso.com \
  https://fabrikam.com

Resulting config

{
  "runtime": {
    "host": {
      "cors": {
        "origins": [
          "https://contoso.com",
          "https://fabrikam.com"
        ]
      }
    }
  }
}

--runtime.host.cors.allow-credentials

Set the value for the Access-Control-Allow-Credentials header.

Example

dab configure \
  --runtime.host.cors.allow-credentials true

Resulting config

{
  "runtime": {
    "host": {
      "cors": {
        "allow-credentials": true
      }
    }
  }
}

--runtime.host.authentication.provider

Configure the name of authentication provider.

Example

dab configure \
  --runtime.host.authentication.provider AppService

Resulting config

{
  "runtime": {
    "host": {
      "authentication": {
        "provider": "AppService"
      }
    }
  }
}

--runtime.host.authentication.jwt.audience

Configure one or more intended recipients of the JWT token.

Example

dab configure \
  --runtime.host.authentication.jwt.audience api://my-app

Resulting config

{
  "runtime": {
    "host": {
      "authentication": {
        "jwt": {
          "audience": "api://my-app"
        }
      }
    }
  }
}

--runtime.host.authentication.jwt.issuer

Configure the entity that issued the JWT token.

Example

dab configure \
  --runtime.host.authentication.jwt.issuer https://login.microsoftonline.com/common/v2.0

Resulting config

{
  "runtime": {
    "host": {
      "authentication": {
        "provider": "AppService",
        "jwt": {
          "audience": "api://my-app",
          "issuer": "https://login.microsoftonline.com/common/v2.0"
        }
      }
    }
  }
}

--runtime.health.enabled

Enable or disable the global health endpoint. Default is true.

Example

dab configure \
  --runtime.health.enabled true

Resulting config

{
  "runtime": {
    "health": {
      "enabled": true
    }
  }
}

--runtime.health.cache-ttl-seconds

Time to live in seconds for cached health check reports. Default is 5. Minimum is 0.

Example

dab configure \
  --runtime.health.cache-ttl-seconds 10

Resulting config

{
  "runtime": {
    "health": {
      "cache-ttl-seconds": 10
    }
  }
}

--runtime.health.max-query-parallelism

Maximum concurrent health check queries. Default is 4. Values are clamped to the supported range of 1 through 8.

Example

dab configure \
  --runtime.health.max-query-parallelism 6

Resulting config

{
  "runtime": {
    "health": {
      "max-query-parallelism": 6
    }
  }
}

--runtime.health.roles

Roles allowed to view comprehensive health results. In production mode, configure at least one role.

Example

dab configure \
  --runtime.health.roles admin support

Resulting config

{
  "runtime": {
    "health": {
      "roles": [ "admin", "support" ]
    }
  }
}

--azure-key-vault.endpoint

Configure the Azure Key Vault endpoint URL.

Example

dab configure \
  --azure-key-vault.endpoint https://my-vault.vault.azure.net

Resulting config

{
  "azure-key-vault": {
    "endpoint": "https://my-vault.vault.azure.net"
  }
}

--azure-key-vault.retry-policy.mode

Configure the retry policy mode.

Allowed values:

  • fixed
  • exponential

Example

dab configure \
  --azure-key-vault.retry-policy.mode fixed

Resulting config

{
  "azure-key-vault": {
    "retry-policy": {
      "mode": "fixed"
    }
  }
}

--azure-key-vault.retry-policy.max-count

Configure the maximum number of retry attempts.

Example

dab configure \
  --azure-key-vault.retry-policy.max-count 5

Resulting config

{
  "azure-key-vault": {
    "retry-policy": {
      "max-count": 5
    }
  }
}

--azure-key-vault.retry-policy.delay-seconds

Configure the initial delay between retries in seconds.

Example

dab configure \
  --azure-key-vault.retry-policy.delay-seconds 2

Resulting config

{
  "azure-key-vault": {
    "retry-policy": {
      "delay-seconds": 2
    }
  }
}

--azure-key-vault.retry-policy.max-delay-seconds

Configure the maximum delay between retries in seconds (for exponential mode).

Example

dab configure \
  --azure-key-vault.retry-policy.max-delay-seconds 30

Resulting config

{
  "azure-key-vault": {
    "retry-policy": {
      "max-delay-seconds": 30
    }
  }
}

--azure-key-vault.retry-policy.network-timeout-seconds

Configure the network timeout for requests in seconds.

Example

dab configure \
  --azure-key-vault.retry-policy.network-timeout-seconds 20

Resulting config

{
  "azure-key-vault": {
    "retry-policy": {
      "mode": "fixed",
      "max-count": 5,
      "delay-seconds": 2,
      "max-delay-seconds": 30,
      "network-timeout-seconds": 20
    }
  }
}

--runtime.telemetry.log-level

Configure logging verbosity by namespace. Use default for the global fallback level or specify a namespace or class name after --runtime.telemetry.log-level..

Allowed values: Trace, Debug, Information, Warning, Error, Critical, None.

Example

dab configure \
  --runtime.telemetry.log-level.default Warning \
  --runtime.telemetry.log-level.Azure.DataApiBuilder.Core Information

Resulting config

{
  "runtime": {
    "telemetry": {
      "log-level": {
        "default": "warning",
        "Azure.DataApiBuilder.Core": "information"
      }
    }
  }
}

--runtime.telemetry.azure-log-analytics.enabled

Enable or disable Azure Log Analytics.

Example

dab configure \
  --runtime.telemetry.azure-log-analytics.enabled true

Resulting config

{
  "runtime": {
    "telemetry": {
      "azure-log-analytics": {
        "enabled": true
      }
    }
  }
}

--runtime.telemetry.azure-log-analytics.dab-identifier

Configure a DAB identifier string used in Azure Log Analytics.

Example

dab configure \
  --runtime.telemetry.azure-log-analytics.dab-identifier MyDab

Resulting config

{
  "runtime": {
    "telemetry": {
      "azure-log-analytics": {
        "dab-identifier": "MyDab"
      }
    }
  }
}

--runtime.telemetry.azure-log-analytics.flush-interval-seconds

Configure flush interval in seconds for Azure Log Analytics.

Example

dab configure \
  --runtime.telemetry.azure-log-analytics.flush-interval-seconds 10

Resulting config

{
  "runtime": {
    "telemetry": {
      "azure-log-analytics": {
        "flush-interval-seconds": 10
      }
    }
  }
}

--runtime.telemetry.azure-log-analytics.auth.custom-table-name

Configure custom table name for Azure Log Analytics.

Example

dab configure \
  --runtime.telemetry.azure-log-analytics.auth.custom-table-name MyDabLogs

Resulting config

{
  "runtime": {
    "telemetry": {
      "azure-log-analytics": {
        "auth": {
          "custom-table-name": "MyDabLogs"
        }
      }
    }
  }
}

--runtime.telemetry.azure-log-analytics.auth.dcr-immutable-id

Configure DCR immutable ID for Azure Log Analytics.

Example

dab configure \
  --runtime.telemetry.azure-log-analytics.auth.dcr-immutable-id dcr-123

Resulting config

{
  "runtime": {
    "telemetry": {
      "azure-log-analytics": {
        "auth": {
          "dcr-immutable-id": "dcr-123"
        }
      }
    }
  }
}

--runtime.telemetry.azure-log-analytics.auth.dce-endpoint

Configure DCE endpoint for Azure Log Analytics.

Example

dab configure \
  --runtime.telemetry.azure-log-analytics.auth.dce-endpoint https://example.eastus-1.ingest.monitor.azure.com

Resulting config

{
  "runtime": {
    "telemetry": {
      "azure-log-analytics": {
        "enabled": true,
        "auth": {
          "custom-table-name": "MyDabLogs",
          "dcr-immutable-id": "dcr-123",
          "dce-endpoint": "https://example.eastus-1.ingest.monitor.azure.com"
        },
        "dab-identifier": "MyDab",
        "flush-interval-seconds": 10
      }
    }
  }
}

--runtime.telemetry.file.enabled

Enable or disable file sink logging.

Example

dab configure \
  --runtime.telemetry.file.enabled true

Resulting config

{
  "runtime": {
    "telemetry": {
      "file": {
        "enabled": true
      }
    }
  }
}

--runtime.telemetry.file.path

Configure path for file sink logging.

Example

dab configure \
  --runtime.telemetry.file.path C:\\logs\\dab-log.txt

Resulting config

{
  "runtime": {
    "telemetry": {
      "file": {
        "path": "C:\\logs\\dab-log.txt"
      }
    }
  }
}

--runtime.telemetry.file.rolling-interval

Configure rolling interval for file sink logging.

Allowed values:

  • Minute
  • Hour
  • Day
  • Month
  • Year
  • Infinite

Example

dab configure \
  --runtime.telemetry.file.rolling-interval Month

Resulting config

{
  "runtime": {
    "telemetry": {
      "file": {
        "rolling-interval": "Month"
      }
    }
  }
}

--runtime.telemetry.file.retained-file-count-limit

Configure maximum number of retained files.

Example

dab configure \
  --runtime.telemetry.file.retained-file-count-limit 5

Resulting config

{
  "runtime": {
    "telemetry": {
      "file": {
        "retained-file-count-limit": 5
      }
    }
  }
}

--runtime.telemetry.file.file-size-limit-bytes

Configure maximum file size limit in bytes.

Example

dab configure \
  --runtime.telemetry.file.file-size-limit-bytes 2097152

Resulting config

{
  "runtime": {
    "telemetry": {
      "file": {
        "enabled": true,
        "path": "C:\\logs\\dab-log.txt",
        "rolling-interval": "Month",
        "retained-file-count-limit": 5,
        "file-size-limit-bytes": 2097152
      }
    }
  }
}

--show-effective-permissions

Display the resolved permissions for every entity after role inheritance is applied. Use this option to see what each role can actually do without reasoning through the config manually.

Note

The Data API builder 2.0 functionality described in this section is currently in preview and might change before general availability. For more information, see What's new in version 2.0.

Example

dab configure \
  --show-effective-permissions
dab configure \
  --show-effective-permissions --config my-config.json
dab configure ^
  --show-effective-permissions --config my-config.json

Example output

Entity: Book
	Role: anonymous        | Actions: Read
	Role: authenticated    | Actions: Read (inherited from: anonymous)
	Unconfigured roles inherit from: anonymous

Entity: Order
	Role: admin            | Actions: Create, Read, Update, Delete
	Role: anonymous        | Actions: Read
	Role: authenticated    | Actions: Read (inherited from: anonymous)
	Unconfigured roles inherit from: authenticated