Compartir a través de


Comando init

Inicializa un nuevo archivo de configuración del generador de API de datos. El JSON resultante captura los detalles del origen de datos, los puntos de conexión habilitados (REST, GraphQL, MCP), la autenticación y los comportamientos en tiempo de ejecución.

Syntax

dab init [options]

Si el archivo de configuración de destino ya existe, el comando lo sobrescribe. No hay ninguna combinación. Use el control de versiones o las copias de seguridad si necesita conservar el archivo anterior.

Vista rápida

Opción Resumen
-c, --config Nombre del archivo de configuración de salida (valor predeterminado dab-config.json)

Sección Autenticación

Opción Resumen
--auth.audience Notificación de audiencia de JSON Web Token (JWT)
--auth.issuer Notificación del emisor json Web Token (JWT)
--auth.provider Proveedor de identidades (valor predeterminado Unauthenticated)

Sección Origen de datos

Opción Resumen
--connection-string Cadena de conexión de base de datos (admite @env())
--cosmosdb_nosql-container Nombre de contenedor noSQL de Cosmos DB (opcional)
--cosmosdb_nosql-database Nombre de base de datos NoSQL de Cosmos DB (necesario para cosmosdb_nosql)
--database-type Tipo de base de datos: mssql, mysql, postgresql, , cosmosdb_postgresqlcosmosdb_nosql
--set-session-context Habilitar el contexto de sesión de SQL Server (solo mssql)

Sección graphQL

Opción Resumen
--graphql.disabled Deprecated. Deshabilita GraphQL (usar --graphql.enabled false)
--graphql.enabled Habilitar GraphQL (valor predeterminado true)
--graphql.multiple-create.enabled Permitir varias mutaciones de creación (valor predeterminado false)
--graphql.path Prefijo de punto de conexión de GraphQL (predeterminado /graphql)
--graphql-schema Ruta de acceso al esquema graphQL (necesario para cosmosdb_nosql)

Sección host y autenticación

Opción Resumen
--host-mode Modo de host: desarrollo o producción (producción predeterminada)
--cors-origin Lista de orígenes permitidos (separados por comas)
--runtime.base-route Prefijo global para todos los puntos de conexión

Sección MCP

Opción Resumen
--mcp.aggregate-records.query-timeout Tiempo de espera de la herramienta de registros agregados en segundos (valor predeterminado 30, intervalo de 1 a 600)
--mcp.disabled Deprecated. Deshabilita MCP (use --mcp.enabled false)
--mcp.enabled Habilitar MCP (valor predeterminado true)
--mcp.path Prefijo de punto de conexión de MCP (predeterminado /mcp)

Nota:

La funcionalidad MCP está disponible en la versión 1.7 y versiones posteriores.

Sección REST

Opción Resumen
--rest.disabled Deprecated. Deshabilita REST (use --rest.enabled false)
--rest.enabled Habilitar REST (el valor predeterminado es true, prefiere más que --rest.disabled)
--rest.path Prefijo de punto de conexión REST (predeterminado /api, omitido para cosmosdb_nosql)
--rest.request-body-strict Exigir la validación estricta del cuerpo de la solicitud (valor predeterminado false, omitido para cosmosdb_nosql)

Importante

No mezcle las nuevas --*.enabled marcas y las marcas heredadas --*.disabled para el mismo subsistema en el mismo comando. Prefiere el --*.enabled patrón; las --rest.disabledopciones , --graphql.disabledy --mcp.disabled registran advertencias y se quitarán en versiones futuras.

-c, --config

Nombre del archivo de configuración de salida. El valor predeterminado es dab-config.json.

Example

dab init \
  --database-type mssql \
  --config dab-config.local.json

Configuración resultante

{
  "data-source": {
    "database-type": "mssql",
    "connection-string": ""
  }
}

--auth.audience

Notificación de audiencia de JSON Web Token (JWT).

Example

dab init \
  --database-type mssql \
  --auth.audience "https://example.com/api"

Configuración resultante

{
  "runtime": {
    "host": {
      "authentication": {
        "jwt": {
          "audience": "https://example.com/api"
        }
      }
    }
  }
}

--auth.issuer

Notificación del emisor json Web Token (JWT).

Example

dab init \
  --database-type mssql \
  --auth.issuer "https://login.microsoftonline.com/{tenant-id}/v2.0"

Configuración resultante

{
  "runtime": {
    "host": {
      "authentication": {
        "jwt": {
          "issuer": "https://login.microsoftonline.com/{tenant-id}/v2.0"
        }
      }
    }
  }
}

--auth.provider

Proveedor de identidades. El valor predeterminado es Unauthenticated.

Cuando Unauthenticated está activo, DAB no inspecciona ni valida ningún JWT. Todas las solicitudes se ejecutan como anonymous. Otro servicio puede autenticar o filtrar solicitudes antes de que lleguen a DAB, pero DAB todavía autoriza solo como anonymous. Para usar otro proveedor, establézcalo explícitamente.

Para obtener instrucciones de configuración, consulte Configuración del proveedor no autenticado.

Nota:

La funcionalidad de Data API Builder 2.0 descrita en esta sección se encuentra actualmente en versión preliminar y podría cambiar antes de la disponibilidad general. Para obtener más información, consulte Novedades de la versión 2.0.

Valores válidos: Unauthenticated, StaticWebApps, EntraIDAzureAD, AppService, , Simulator, . Custom

Importante

Los proveedores distintos de Unauthenticated, y requieren --auth.audience y --auth.issuerSimulatorStaticWebApps.

Example

dab init \
  --database-type mssql \
  --auth.provider AzureAD \
  --auth.audience "https://example.com/api" \
  --auth.issuer "https://login.microsoftonline.com/{tenant-id}/v2.0"

Configuración resultante

{
  "runtime": {
    "host": {
      "authentication": {
        "provider": "AzureAD",
        "jwt": {
          "audience": "https://example.com/api",
          "issuer": "https://login.microsoftonline.com/{tenant-id}/v2.0"
        }
      }
    }
  }
}

--connection-string

Cadena de conexión de base de datos. Admite @env().

Example

dab init \
  --database-type mssql \
  --connection-string "@env('MSSQL_CONNECTION_STRING')"

Configuración resultante

{
  "data-source": {
    "connection-string": "@env('MSSQL_CONNECTION_STRING')"
  }
}

--cors-origin

Lista separada por comas de orígenes permitidos.

Example

dab init \
  --database-type mssql \
  --cors-origin "https://app.example.com,https://admin.example.com"

Configuración resultante

{
  "runtime": {
    "host": {
      "cors": {
        "origins": [ "https://app.example.com", "https://admin.example.com" ]
      }
    }
  }
}

--cosmosdb_nosql-container

Nombre del contenedor NoSQL de Cosmos DB.

Example

dab init \
  --database-type cosmosdb_nosql \
  --cosmosdb_nosql-container MyContainer

Configuración resultante

{
  "data-source": {
    "database-type": "cosmosdb_nosql",
    "options": {
      "container": "MyContainer"
    }
  }
}

--cosmosdb_nosql-database

Nombre de la base de datos NoSQL de Cosmos DB. Necesario para cosmosdb_nosql.

Example

dab init \
  --database-type cosmosdb_nosql \
  --cosmosdb_nosql-database MyDb

Configuración resultante

{
  "data-source": {
    "database-type": "cosmosdb_nosql",
    "options": {
      "database": "MyDb"
    }
  }
}

--database-type

Especifica el motor de base de datos de destino. Valores admitidos: mssql, mysql, postgresql, cosmosdb_postgresql, cosmosdb_nosql.

Example

dab init \
  --database-type mssql

Configuración resultante

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

--graphql.disabled

Deprecated. Deshabilita GraphQL. Prefiere --graphql.enabled false.

--graphql.enabled

Habilite el punto de conexión de GraphQL. El valor predeterminado es true.

Example

dab init \
  --database-type mssql \
  --graphql.enabled false

Configuración resultante

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

--graphql.multiple-create.enabled

Permite crear varias filas en una sola mutación. El valor predeterminado es false.

Example

dab init \
  --database-type mssql \
  --graphql.multiple-create.enabled true

Configuración resultante

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

--graphql.path

Prefijo de punto de conexión de GraphQL. El valor predeterminado es /graphql.

Example

dab init \
  --database-type mssql \
  --graphql.path /gql

Configuración resultante

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

--graphql-schema

Ruta de acceso a un archivo de esquema graphQL. Necesario para cosmosdb_nosql.

Example

dab init \
  --database-type cosmosdb_nosql \
  --graphql-schema ./schema.gql

Configuración resultante

{
  "data-source": {
    "database-type": "cosmosdb_nosql",
    "options": {
      "schema": "./schema.gql"
    }
  }
}

--host-mode

Modo host. El valor predeterminado es Production.

Valores válidos: Development, Production.

Example

dab init \
  --database-type mssql \
  --host-mode development

Configuración resultante

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

--mcp.aggregate-records.query-timeout

Tiempo de espera de ejecución en segundos para la herramienta MCP de registros agregados. El valor predeterminado es 30. Intervalo: 1600.

Example

dab init \
  --database-type mssql \
  --mcp.aggregate-records.query-timeout 60

Configuración resultante

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

--mcp.disabled

Deprecated. Deshabilita MCP. Prefiere --mcp.enabled false.

--mcp.enabled

Habilite el punto de conexión de MCP. El valor predeterminado es true.

Example

dab init \
  --database-type mssql \
  --mcp.enabled false

Configuración resultante

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

--mcp.path

Prefijo de punto de conexión de MCP. El valor predeterminado es /mcp.

Example

dab init \
  --database-type mssql \
  --mcp.path /model

Configuración resultante

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

--rest.disabled

Deprecated. Deshabilita REST. Prefiere --rest.enabled false.

--rest.enabled

Habilite el punto de conexión rest. El valor predeterminado es true.

Example

dab init \
  --database-type mssql \
  --rest.enabled false

Configuración resultante

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

--rest.path

Prefijo de punto de conexión rest. El valor predeterminado es /api.

Nota:

Se omite para cosmosdb_nosql.

Example

dab init \
  --database-type mssql \
  --rest.path /rest

Configuración resultante

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

--rest.request-body-strict

Controla el control de campos adicionales en los cuerpos de solicitud. El valor predeterminado es false.

  • true: rechaza campos extraños (HTTP 400).
  • false: omite campos adicionales.

Nota:

Se omite para cosmosdb_nosql.

Example

dab init \
  --database-type mssql \
  --rest.request-body-strict false

Configuración resultante

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

--runtime.base-route

Prefijo global antepuesto a todos los puntos de conexión. Debe comenzar con /.

Importante

Esta opción requiere que el proveedor de autenticación sea StaticWebApps. Establezca --auth.provider StaticWebApps junto con --runtime.base-route.

Example

dab init \
  --database-type mssql \
  --auth.provider StaticWebApps \
  --runtime.base-route /v1

Configuración resultante

{
  "runtime": {
    "base-route": "/v1"
  }
}

--set-session-context

Habilite el envío de datos a SQL Server mediante el contexto de sesión. Solo es válido para mssql. El valor predeterminado es false.

Example

dab init \
  --database-type mssql \
  --set-session-context true

Configuración resultante

{
  "data-source": {
    "database-type": "mssql",
    "options": {
      "set-session-context": true
    }
  }
}