Vista general de variables de entorno Power Platform
Las variables de entorno habilitan el escenario básico de administración del ciclo de vida de la aplicación (ALM) de mover una aplicación entre entornos de Power Platform. En este escenario, la aplicación permanece exactamente igual excepto por algunas referencias clave de aplicaciones externas (como tablas, conexiones y claves) que son diferentes entre el entorno de origen y el entorno de destino. La aplicación requiere que la estructura de las tablas o conexiones sea exactamente la misma entre los entornos de origen y destino, con algunas diferencias. Las variables de entorno le permiten especificar cuál de estas distintas referencias externas debe actualizarse a medida que la aplicación se mueva entre entornos.
Las variables de entorno almacenan las claves y los valores de los parámetros, que luego sirven como entrada para otros objetos de la aplicación. Separar los parámetros de los objetos consumidores le permite cambiar los valores dentro del mismo entorno o cuando migra soluciones a otros entornos. La alternativa es dejar valores de parámetros codificados de forma rígida en los componentes que los utilizan. Esto suele ser problemático; especialmente cuando los valores deben cambiarse durante las operaciones ALM. Dado que las variables de entorno son componentes de la solución, puede transportar las referencias (claves) y cambiar los valores cuando las soluciones se migran a otros entornos.
Nota
Se están implementando nuevas capacidades para los orígenes de datos y es posible que aún no estén disponibles en su región.
Beneficios de usar variables de entorno:
- Proporcione nuevos valores de parámetro mientras importa soluciones en otros entornos.
- Almacene la configuración de los orígenes de datos utilizados en aplicaciones de lienzo y flujos. Por ejemplo, los parámetros de listas y sitios de SharePoint Online se pueden almacenar como variables de entorno; por lo tanto, le permiten conectarse con diferentes sitios y listas en diferentes entornos sin necesidad de modificar las aplicaciones y los flujos.
- Empaquete y transporte su personalización y configuración juntas y adminístrelas en una sola ubicación.
- Empaquete y transporte sus secretos, como las credenciales utilizadas por diferentes componentes, separadas de los componentes que las utilizan.
- Se puede usar una variable de entorno en muchos componentes de solución diferentes, ya sean el mismo tipo de componente o diferentes. Por ejemplo, una aplicación de lienzo y un flujo pueden usar la misma variable de entorno. Cuando el valor de la variable de entorno necesita cambiar, solo es necesario cambiar un valor.
- Además, si necesita retirar un origen de datos en entornos de producción, puede actualizar los valores de la variable de entorno con información para el nuevo origen de datos. Las aplicaciones y los flujos no requieren modificación y comenzarán a usar el nuevo origen de datos.
- Con ayuda de las herramientas SolutionPackager y DevOps habilite la integración continua y la entrega continua (CI/CD).
- Las variables de entorno se pueden descomprimir y almacenar en el control de código origen. También podría almacenar diferentes archivos de valores de variables de entorno para la configuración separada necesaria en diferentes entornos. Solution Packager puede aceptar el archivo correspondiente al entorno al que se importará la solución.
¿Cómo funcionan las variables de entorno?
Se pueden crear y modificar variables de entorno en la interfaz de la solución moderna, crearse automáticamente al conectarse a determinados orígenes de datos en aplicaciones de lienzo o usando código. También se pueden importar a un entorno a través de soluciones. Una vez que hay variables de entorno presentes en un entorno, se pueden usar como entradas al crear aplicaciones de lienzo, flujos de Power Automate, al desarrollar complementos, así como en muchos otros lugares, como al agregar un panel de control de Power BI a una aplicación basada en modelo. Cuando estos tipos de objetos utilizan variables de entorno, los valores se calculan de las variables de entorno y se pueden cambiar cuando se importan soluciones a otros entornos.
Crear una variable de entorno en una solución
- Inicie sesión en Power Apps (make.powerapps.com) y, en el panel izquierdo, seleccione Soluciones. Si el elemento no se encuentra en el panel lateral, seleccione …Más y, a continuación, el elemento que desee.
- Abra la solución que desee o cree una nueva.
- En la barra de comandos, seleccione Nuevo>Más y, a continuación, Variable de entorno.
- En el panel derecho, complete las siguientes columnas y luego seleccione Guardar:
Nombre para mostrar. Escriba un nombre para la variable de entorno.
Nombre. El nombre único se genera automáticamente a partir de Nombre para mostrar, pero puede cambiarlo.
Tipo de datos. Seleccione Número decimal, Texto, JSON, Dos opciones, Origen de datos o Secreto.
Nota
- Si Origen de datos es el tipo seleccionado, también deberá seleccionar el conector, una conexión válida para el conector seleccionado y el tipo de parámetro. Sin embargo, la conexión no se almacena como parte de la variable de entorno. La conexión solo se utiliza para recuperar valores de parámetros disponibles, como los sitios de SharePoint a los que tiene acceso o las listas asociadas con un sitio. Para ciertos parámetros como listas de SharePoint, también deberá seleccionar una variable de entorno de origen de datos principal como sitio de SharePoint. Una vez guardados, estos se relacionarán en la base de datos.
- Si Secreto es el tipo seleccionado, se necesita información adicional para instalar y configurar Azure Key Vault para permitir que Power Platform acceda al secreto.
Current Value. También se conoce como valor. Esta propiedad es opcional y forma parte de la tabla de valores de variables de entorno. Cuando hay un valor presente, se utilizará, aunque también esté presente un valor predeterminado. Quite el valor de la solución si no desea usarlo en el siguiente entorno. Los valores también se separan en archivos JSON separados en el archivo solution.zip exportado y se pueden editar sin conexión. Más información: ¿Cómo elimino un valor de una variable de entorno?
Valor predeterminado. Esta columna es parte de la tabla de definición de variables de entorno y no es obligatoria. El valor predeterminado se utiliza si no hubiera un valor actual.
La separación del valor predeterminado y el valor actual le permite mantener la definición y el valor predeterminado por separado del valor. Por ejemplo, un editor de aplicaciones puede publicar su oferta en AppSource con un valor predeterminado. Opcionalmente, el cliente podrá proporcionar un nuevo valor. Cuando el editor de aplicaciones publique actualizaciones para la aplicación, el valor establecido por el cliente no se sobrescribirá.
Nota
Un valor no puede existir sin una definición. La interfaz sólo permite la creación de un valor por definición.
Introduzca nuevos valores al importar soluciones
La interfaz de importación de la solución moderna incluye la capacidad de introducir valores para variables de entorno. Esto establece la propiedad de valor en la tabla environmentvariablevalue
.
A partir de una actualización del 7 de diciembre de 2023, todos los valores de las variables de entorno son visibles al importar soluciones (o al usar canalizaciones para implementar). A las variables de entorno sin un valor o valor predeterminado se les solicitará un valor, pero aquellas que de otro modo se rellenan previamente con una etiqueta debajo del área de texto que indica el origen del valor: valor de la solución, valor del entorno de destino o valor predeterminado.
Nota
- En algunos casos, para valores de variable de datos de origen de datos específicos, puede aparecer una advertencia Acceso denegado si el fabricante importador no tiene acceso a la conexión u origen utilizado para la variable de entorno. Esta es una advertencia sin bloqueo, pero es algo a tener en cuenta dependiendo de cómo planee usar la variable de entorno en el entorno de destino.
- Puede eliminar el valor de su solución antes de exportar la solución. Esto garantiza que el valor existente permanecerá en su entorno de desarrollo, pero no se exportará a la solución. Este enfoque permite proporcionar un nuevo valor al importar la solución a otros entornos. Más información: ¿Cómo elimino un valor de una variable de entorno?
Notificaciones
Se muestra una notificación cuando las variables de entorno no tienen valores. Este es un recordatorio para establecer los valores para que los componentes que dependen de las variables del entorno no fallen.
Seguridad
La tabla environmentvariabledefinition
es propiedad del usuario o del equipo. Al crear una aplicación que utilice variables de entorno, asegúrese de asignar a los usuarios el nivel de privilegio adecuado para esta tabla. El permiso para la tabla environmentvariablevalue
se hereda de la tabla environmentvariabledefinition
primaria y, por lo tanto, no requiere privilegios aparte. Los privilegios para environmentvariabledefinition
las tablas se incluyen en los roles de seguridad de creador de entornos y usuario básico de forma predeterminada. Más información: Seguridad en Dataverse.
Convenciones de nomenclatura
Asegúrese de que los nombres de las variables de entorno sean únicos para que se puedan hacer referencia a ellas con precisión. Los nombres de visualización de variables de entorno duplicados dificultan la diferenciación y el uso de las variables de entorno. Asegúrese de que los nombres de las variables de entorno sean únicos para que se puedan hacer referencia a ellas con precisión. Los nombres $authentication y $connection son parámetros especialmente reservados para los flujos y deben evitarse. El guardado de flujo se bloqueará si se utilizan variables de entorno con esos nombres. Si se usa una variable de entorno en un flujo y se cambia el nombre de la variable de entorno, entonces el diseñador mostrará los tokens nombre antiguos y nuevos para ayudar con la identificación. Al actualizar el flujo, recomendamos que elimine la referencia de la variable de entorno y agregarla nuevamente.
Limitaciones actuales
- La validación de los valores de las variables de entorno se produce en las interfaces de usuario y en los componentes que los utilizan, pero no en Dataverse. Por lo tanto, asegúrese de establecer los valores adecuados si se modifican a través del código.
- Las tareas de Build Tools de Power Platform aún no están disponibles para administrar variables de entorno de origen de datos. Sin embargo, esto no bloquea su uso en las herramientas proporcionadas por Microsoft y en los sistemas de control de origen.
- La interacción con las variables de entorno a través de código personalizado requiere una llamada API para obtener los valores; no hay un caché expuesto para que el código no de Microsoft lo use.
- Para utilizar con éxito variables de entorno con listas de SharePoint, nombre y el nombre lógico de cada columna correspondiente en los entornos de origen y de destino deben coincidir.
- Las variables de entorno están limitadas a un máximo de 2000 caracteres.
Preguntas frecuentes
¿Por qué no puedo ver el valor para mi variable de entorno?
Si la variable de entorno está en una solución administrada, no podrá ver el valor a menos que mire dentro de la Solución predeterminada. Este comportamiento es por diseño, ya que el valor de la variable de entorno es una personalización no administrada.
¿Cómo puedo ver dónde se utilizan las variables de entorno?
Seleccionando Mostrar dependencias en la interfaz de la solución, mientras crea componentes, o en el control de código origen y en el archivo de la solución viendo los metadatos de la aplicación o del flujo.
¿Las variables de entorno origen de datos son las mismas que las conexiones?
No. Aunque están relacionadas, una conexión representa una credencial o autenticación necesaria para interactuar con el conector. Las variables de entorno origen de datos almacenan parámetros que son requeridos por una o más acciones en el conector y estos parámetros a menudo varían según la acción. Por ejemplo, una conexión de SharePoint Online no almacena información sobre sitios, listas o bibliotecas de documentos. Por lo tanto, llamar al conector requiere tanto una conexión válida como algunos parámetros adicionales.
¿Se pueden usar las variables de entorno de origen de datos con conexiones compartidas como SQL Server con autenticación SQL?
Generalmente no. Las conexiones compartidas con SQL Server almacenan los parámetros necesarios para conectarse a los datos dentro de la conexión. Por ejemplo, se proporcionan el nombre del servidor y la base de datos al crear la conexión y, por lo tanto, siempre se derivan de la conexión.
Las variables de entorno origen de datos se utilizan para conectores que dependen de la autenticación basada en el usuario, como Microsoft Entra ID, porque los parámetros no se pueden derivar de la conexión. Por estos motivos, la autenticación con SQL Server, que es una conexión compartida, no utilizará las variables de entorno de origen de datos.
¿Puede mi canalización de ALM automatizada usar archivos de valores diferentes para diferentes entornos?
Sí. El empaquetador de soluciones acepta el nombre del archivo como parámetros de entrada para que su canalización pueda empaquetar un archivo de valores diferentes en la solución según el tipo de entorno en el que se está ejecutando.
¿Debo incluir el valor en mi solución?
No. Las variables de entorno están destinadas a ser utilizadas por aplicaciones que necesitan tener valores diferentes en los distintos entornos donde se despliega la solución. Las definiciones de las variables de entorno deben incluirse en su solución, pero los valores deben ser proporcionados para el entorno de destino durante el despliegue. Este comportamiento da como resultado que la definición de la variable de entorno sea un objeto de solución gestionado en el entorno de destino, mientras que la variable de entorno es un registro no gestionado.
¿Por qué no puedo eliminar un valor en mi entorno?
Si el valor se incluyó en un solución administrada, la única forma de eliminar el valor es actualizar la solución en la fuente ambiente para excluir el valor y luego exportar una nueva versión de la solución. Esta nueva versión puede ser importada al entorno utilizando una operación de actualización (no una actualización), lo que resulta en la eliminación del registro de valor.
¿Qué pasa si alguien elimina un valor sin darse cuenta?
Si aún no lo ha impedido el sistema de dependencia, el tiempo de ejecución utilizará el último valor conocido como reserva.
Si se cambia un valor, ¿cuándo se usa el nuevo valor en aplicaciones de lienzo y flujos de nube?
La publicación completa de las variables de entorno actualizadas puede tardar hasta una hora porque el valor se inserta en las aplicaciones y fluye de forma asincrónica.
¿Se requieren licencias Premium?
No. Si bien ALM requiere Dataverse (o aplicaciones Dynamics 365), no se requiere el uso de conectores premium. La única salvedad es si está utilizando el conector de Dataverse para interactuar con variables de entorno como lo haría con otros registros de datos como cuentas o contactos. Anteriormente, esta era la única forma de utilizar variables de entorno en flujos y aplicaciones de lienzo.
¿Hay un límite en el número de variables de entorno que puedo tener?
No. Sin embargo, el tamaño máximo de una solución es de 95 MB. Más información: Crear una solución
¿Se pueden localizar los nombres para mostrar y las descripciones de las variables de entorno?
Sí.
¿Debería usar variables de entorno en lugar de almacenar datos de configuración en tablas personalizadas?
Sí, si sus datos de configuración no son relacionales. Las variables de entorno deben usarse para pares clave-valor y cuando el valor probablemente necesite ser diferente en otros entornos. Otras herramientas, como la utilidad de migración de la configuración, son más adecuadas para la migración de datos de configuración relacionales almacenados en tablas personalizadas. A diferencia de otros datos de configuración, las variables de entorno se migran dentro de las soluciones y, por lo tanto, son mucho más sencillas de administrar y más eficaces de importar.
¿Por qué no se guarda mi conexión para las variables origen de datos ambiente?
Las conexiones solo se utilizan para generar la interfaz de usuario. Por ejemplo, para recuperar nombres descriptivos para las listas de SharePoint asociadas a un sitio. Al editar una variable origen de datos ambiente, asegúrese de Seleccionar una conexión con acceso a origen de datos. Si ya no tiene acceso a la conexión, puede ingresar un valor manualmente. Por ejemplo, introduzca la URL del sitio SharePoint o el identificador único (GUID) para una lista.
Cuando hay varias conexiones disponibles para una sola variable (tipo de fuente de datos) ambiente, hay una implementación por diseño para Seleccionar la primera conexión en la lista de conexiones. Debido a que generalmente solo hay una conexión asociada con una variable de entorno, esto no es algo que generalmente deba validarse. Además, con los cambios recientes en la visibilidad del valor de las variables de entorno, esto es más fácil de validar al momento de la importación.
¿Cómo elimino un valor de una variable de entorno?
Es posible que desee eliminar el valor de una variable de entorno de su solución antes de exportar la solución. Entonces, el valor existente permanecerá en su entorno de desarrollo, pero no se exportará a la solución. Este enfoque permite proporcionar un nuevo valor al importar la solución a otro entorno.
Para quitar el valor, siga estos pasos:
En la solución donde se encuentra la variable de entorno, seleccione la variable de entorno para mostrar las propiedades.
En Valor actual, seleccione ...>Eliminar de esta solución.
¿Puedo utilizar variables de entorno en conectores personalizados?
Sí. Compatibilidad con variables de entorno en conectores personalizados
Consulte también
Usar variables de entorno de origen de datos en aplicaciones de lienzo
Utilizar variables de entorno en flujos de nube de la solución de Power Automate
Referencia de tabla/entidad EnvironmentVariableDefinition
Ejemplos de la API web
Usar variables de entorno de origen de datos en aplicaciones Canvas
Usar variables de entorno en flujos de solución en la nube Power Automate
Usar secretos de Azure Key Vault
Soporte de variables de entorno en conectores personalizados
Power AppsBlog: ¡Variables de entorno disponibles en versión preliminar!