Docs Menu
Docs Home
/ /
Archivos de configuración de la aplicación

Crear configuraciones de plantillas con expansiones

Atlas App Services admite un operador de reemplazo (%()) que resuelve dinámicamente expansiones JSON como %%environment en tus archivos de configuración. Al crear una aplicación con archivos de configuración que incluyen expansiones (ya sea con la CLI de App Services o a través de GitHub), App Services resuelve automáticamente las expansiones y usa los archivos de configuración resueltos para crear la aplicación.

Los archivos de configuración que utilizan el operador de reemplazo son plantillas. Al crear una aplicación a partir de una plantilla, esta utiliza una copia de los archivos de configuración que reflejan los valores resueltos en el momento de su creación. Puede usar la misma plantilla para crear varias aplicaciones con diferentes configuraciones.

Importante

Actualmente, el operador de reemplazo solo se admite en campos de configuración con valores de cadena. No se pueden usar expansiones para valores booleanos, numéricos, de objeto ni de matriz.

Por ejemplo, puede utilizar expansiones para crear la plantilla del campo clusterName:

Configuración válida de la fuente de datos de plantilla
{
"name": "mongodb-atlas",
"type": "mongodb-atlas",
"config": {
"clusterName": "%(%%environment.values.clusterName)",
"readPreference": "primaryPreferred",
"wireProtocolEnabled": false
}
}

Pero no puedes usar expansiones para crear la plantilla del campo wireProtocolEnabled porque tiene un valor booleano:

Configuración de fuente de datos de plantilla no válida
{
"name": "mongodb-atlas",
"type": "mongodb-atlas",
"config": {
"clusterName": "Cluster0",
"readPreference": "primaryPreferred",
"wireProtocolEnabled": %(%%environment.values.wireProtocolEnabled)
}
}
1

Puedes usar expansiones para crear plantillas para cualquier entorno. Para cada entorno que uses, define valores a los que hagas referencia en tus archivos de configuración.

Ejemplo

Los siguientes entornos configuran diferentes nombres de clúster de MongoDB Atlas:

entornos/desarrollo.json
{
"values": {
"clusterName": "atlas-development"
}
}
entornos/producción.json
{
"values": {
"clusterName": "atlas-production"
}
}
2

Puede hacer referencia a cualquier valor de entorno de un archivo de configuración con el %() operador de reemplazo y la %%environment expansión. Defina expansiones para cada archivo de configuración que desee usar como plantilla.

Ejemplo

El siguiente archivo de configuración de plantilla para la fuente de datos mongodb-atlas utiliza expansiones para resolver dinámicamente clusterName según el entorno:

fuentes_de_datos/mongodb-atlas/config.json
{
"name": "mongodb-atlas",
"type": "mongodb-atlas",
"config": {
"clusterName": "%(%%environment.values.clusterName)",
"readPreference": "primaryPreferred",
"wireProtocolEnabled": true
}
}
3

Elija en qué entorno implementar su aplicación y luego actualice la configuración de la aplicación con el nombre del entorno:

root_config.json
{
"name": "MyApp",
"environment": "development",
"deployment_model": "LOCAL",
"location": "aws-us-east-1"
}

Tip

Si no especifica un entorno, %%environment expansiones se resuelven en valores en environments/no-environment.json.

4

Ahora puede utilizar sus archivos de configuración con plantilla para crear una nueva aplicación en el entorno elegido.

Ejemplo

App Services utiliza la configuración de la plantilla para generar archivos de configuración nuevos y resueltos durante la importación:

appservices push
fuentes_de_datos/mongodb-atlas/config.json
{
"name": "mongodb-atlas",
"type": "mongodb-atlas",
"config": {
"clusterName": "atlas-development",
"readPreference": "primaryPreferred",
"wireProtocolEnabled": true
}
}

Puedes usar expansiones de configuración para cualquier aplicación, pero el caso más útil es para equipos que desarrollan una aplicación de producción con archivos de código fuente almacenados en un sistema de control de versiones externo como GitHub. Puedes crear aplicaciones independientes para desarrollar funciones o probar cambios y usar expansiones para personalizarlas según su entorno.

  1. Crea una copia de la plantilla común con el entorno establecido development en. Si usas Git, crea una nueva rama en GitHub y extrae una copia local.

  2. Realiza cambios y pruébalos localmente en la aplicación de desarrollo. Cualquier cambio que realices en la aplicación no afectará a la aplicación de producción, aunque es posible que aún puedan leer y guardar fuentes de datos y servicios de producción, a menos que configures alternativas.

  3. Confirme la confirmación de cambios e intégralos nuevamente en producción. Puede configurar una pipeline de CI/CD, que puede crear una aplicación en el entorno test por sí misma, para validar y fusionar tus cambios en la rama de producción.

  4. Una vez fusionados los cambios, puedes eliminar de forma segura la aplicación de desarrollo y limpiar cualquier otro servicio asociado.

Volver

Values

En esta página