Partager via


Commande init

Initialisez un nouveau fichier config du générateur d’API de données. Le json résultant capture les détails de la source de données, les points de terminaison activés (REST, GraphQL, MCP), l’authentification et les comportements d’exécution.

Syntaxe

dab init [options]

Si le fichier de configuration cible existe déjà, la commande la remplace. Il n’y a pas de fusion. Utilisez le contrôle de version ou les sauvegardes si vous devez conserver le fichier précédent.

Aperçu rapide

Choix Résumé
-c, --config Nom du fichier de configuration de sortie (dab-config.jsonpar défaut)

Section Authentification

Choix Résumé
--auth.audience Revendication d’audience JSON Web Token (JWT)
--auth.issuer Revendication de l’émetteur JSON Web Token (JWT)
--auth.provider Fournisseur d’identité (par défaut Unauthenticated)

Section Source de données

Choix Résumé
--connection-string Chaîne de connexion de base de données (prend en charge @env())
--cosmosdb_nosql-container Nom du conteneur NoSQL Cosmos DB (facultatif)
--cosmosdb_nosql-database Nom de la base de données NoSQL Cosmos DB (obligatoire pour cosmosdb_nosql)
--database-type Type de base de données : mssql, , mysqlpostgresql, cosmosdb_postgresqlcosmosdb_nosql
--set-session-context Activer le contexte de session SQL Server (mssql uniquement)

Section GraphQL

Choix Résumé
--graphql.disabled Deprecated. Désactive GraphQL (utilisation --graphql.enabled false)
--graphql.enabled Activer GraphQL (valeur true par défaut)
--graphql.multiple-create.enabled Autoriser plusieurs mutations de création (false par défaut)
--graphql.path Préfixe de point de terminaison GraphQL (par défaut /graphql)
--graphql-schema Chemin d’accès au schéma GraphQL (requis pour cosmosdb_nosql)

Section Hôte et authentification

Choix Résumé
--host-mode Mode hôte : Développement ou production (production par défaut)
--cors-origin Liste des origines autorisées (séparées par des virgules)
--runtime.base-route Préfixe global pour tous les points de terminaison

Section MCP

Choix Résumé
--mcp.aggregate-records.query-timeout Délai d’expiration de l’outil d’enregistrements agrégés en secondes (valeur par défaut 30, plage 1 à 600)
--mcp.disabled Deprecated. Désactive MCP (utilisation --mcp.enabled false)
--mcp.enabled Activer MCP (valeur true par défaut)
--mcp.path Préfixe de point de terminaison MCP (par défaut /mcp)

Note

La fonctionnalité MCP est disponible dans la version 1.7 et les versions ultérieures.

Section REST

Choix Résumé
--rest.disabled Deprecated. Désactive REST (utiliser --rest.enabled false)
--rest.enabled Activer REST (true par défaut, préférer )--rest.disabled
--rest.path Préfixe de point de terminaison REST (par défaut /api, ignoré pour cosmosdb_nosql)
--rest.request-body-strict Appliquer la validation stricte du corps de la demande (valeur false par défaut, ignorée pour cosmosdb_nosql)

Important

Ne mélangez pas les nouveaux --*.enabled indicateurs et les indicateurs hérités --*.disabled pour le même sous-système dans la même commande. Préférez le --*.enabled modèle ; les --rest.disabledavertissements du journal des --graphql.disabledoptions et --mcp.disabled les options seront supprimés dans les versions ultérieures.

-c, --config

Nom du fichier de configuration de sortie. La valeur par défaut est dab-config.json.

Example

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

Configuration résultante

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

--auth.audience

Revendication d’audience JSON Web Token (JWT).

Example

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

Configuration résultante

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

--auth.issuer

Revendication de l’émetteur JSON Web Token (JWT).

Example

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

Configuration résultante

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

--auth.provider

Fournisseur d’identité. La valeur par défaut est Unauthenticated.

Lorsqu’il Unauthenticated est actif, DAB n’inspecte ni ne valide aucun JWT. Toutes les requêtes s’exécutent en tant que anonymous. Un autre service peut authentifier ou filtrer les demandes avant d’atteindre DAB, mais DAB autorise toujours uniquement en tant que anonymous. Pour utiliser un autre fournisseur, définissez-le explicitement.

Pour obtenir des conseils de configuration, consultez Configurer le fournisseur non authentifié.

Note

La fonctionnalité 2.0 du Générateur d’API de données décrite dans cette section est actuellement en préversion et peut changer avant la disponibilité générale. Pour plus d’informations, consultez Nouveautés de la version 2.0.

Valeurs valides : Unauthenticated, , StaticWebApps, EntraIDAzureADAppServiceSimulator, , . Custom

Important

Fournisseurs autres que Unauthenticated, StaticWebAppset Simulator nécessitent --auth.audience et --auth.issuer.

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"

Configuration résultante

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

--connection-string

Chaîne de connexion de base de données. Prend en charge @env().

Example

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

Configuration résultante

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

--cors-origin

Liste séparée par des virgules des origines autorisées.

Example

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

Configuration résultante

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

--cosmosdb_nosql-container

Nom du conteneur NoSQL Cosmos DB.

Example

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

Configuration résultante

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

--cosmosdb_nosql-database

Nom de la base de données NoSQL Cosmos DB. Obligatoire pour cosmosdb_nosql.

Example

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

Configuration résultante

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

--database-type

Spécifie le moteur de base de données cible. Valeurs prises en charge : mssql, mysql, postgresql, cosmosdb_postgresql, cosmosdb_nosql.

Example

dab init \
  --database-type mssql

Configuration résultante

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

--graphql.disabled

Deprecated. Désactive GraphQL. Préférer --graphql.enabled false.

--graphql.enabled

Activez le point de terminaison GraphQL. La valeur par défaut est true.

Example

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

Configuration résultante

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

--graphql.multiple-create.enabled

Permet de créer plusieurs lignes dans une seule mutation. La valeur par défaut est false.

Example

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

Configuration résultante

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

--graphql.path

Préfixe de point de terminaison GraphQL. La valeur par défaut est /graphql.

Example

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

Configuration résultante

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

--graphql-schema

Chemin d’accès à un fichier de schéma GraphQL. Obligatoire pour cosmosdb_nosql.

Example

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

Configuration résultante

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

--host-mode

Mode hôte. La valeur par défaut est Production.

Valeurs valides : Development, Production.

Example

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

Configuration résultante

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

--mcp.aggregate-records.query-timeout

Délai d’expiration de l’exécution en secondes pour l’outil MCP d’enregistrements d’agrégation. La valeur par défaut est 30. Plage : 1600.

Example

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

Configuration résultante

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

--mcp.disabled

Deprecated. Désactive MCP. Préférer --mcp.enabled false.

--mcp.enabled

Activez le point de terminaison MCP. La valeur par défaut est true.

Example

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

Configuration résultante

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

--mcp.path

Préfixe du point de terminaison MCP. La valeur par défaut est /mcp.

Example

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

Configuration résultante

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

--rest.disabled

Deprecated. Désactive REST. Préférer --rest.enabled false.

--rest.enabled

Activez le point de terminaison REST. La valeur par défaut est true.

Example

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

Configuration résultante

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

--rest.path

Préfixe de point de terminaison REST. La valeur par défaut est /api.

Note

Ignoré pour cosmosdb_nosql.

Example

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

Configuration résultante

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

--rest.request-body-strict

Contrôle la gestion des champs supplémentaires dans les corps de requête. La valeur par défaut est false.

  • true: rejette les champs superflus (HTTP 400).
  • false: ignore les champs supplémentaires.

Note

Ignoré pour cosmosdb_nosql.

Example

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

Configuration résultante

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

--runtime.base-route

Préfixe global ajouté à tous les points de terminaison. Doit commencer par /.

Important

Cette option nécessite que le fournisseur d’authentification soit StaticWebApps. Ensemble --auth.provider StaticWebApps à côté --runtime.base-routede .

Example

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

Configuration résultante

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

--set-session-context

Activez l’envoi de données à SQL Server à l’aide du contexte de session. Valide uniquement pour mssql. La valeur par défaut est false.

Example

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

Configuration résultante

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