es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Puedo utilizar una cadena de conexión diferente de Blob Storage en mi función de Azure (c#) dependiendo si estoy en desarrollo o producción?

Construí una función de Azure que obtiene un archivo XML mediante una solicitud POST, lo convierte a JSON y lo carga en un contenedor de almacenamiento de blobs de Azure. Actualmente, tengo la cadena de conexión al contenedor codificada directamente en mi función. Sin embargo, el problema es que el archivo debe cargarse en un contenedor diferente dependiendo de si se está utilizando la versión de desarrollo o producción de la función.

Sé que puedo almacenar la cadena de conexión en un archivo local.settings.json y acceder a ella en el código, pero eso sería solo para uno de los entornos. Entonces me pregunto si es posible sobrescribir la variable de entorno local a través de Azure para cada entorno o algo similar.

Gracias de antemano por cualquier consejo.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible sobrescribir la variable de entorno local a través de Azure para cada entorno. Puedes utilizar las Configuraciones de Aplicación de Azure para almacenar valores específicos del entorno, como cadenas de conexión, y luego leer el valor de la configuración adecuada en tiempo de ejecución según el entorno.

    Para hacer esto, primero necesitas crear una Configuración de Aplicación para cada entorno en tu aplicación de Azure Function, especificando el valor correcto de la cadena de conexión para cada entorno. Puedes hacer esto a través del Portal de Azure o utilizando comandos de Azure CLI o PowerShell.

    Luego, en el código de tu Azure Function, puedes utilizar el siguiente fragmento de código para leer el valor de la cadena de conexión de las Configuraciones de Aplicación:

    var connectionString = Environment.GetEnvironmentVariable("ConnectionString");
    

    Esto obtendrá el valor de la Configuración de Aplicación “ConnectionString” para el entorno actual. Puedes personalizar los nombres de las Configuraciones de Aplicación en función de los nombres de tus entornos (por ejemplo, DevConnectionString, ProdConnectionString, etc.).

    Finalmente, puedes implementar tu aplicación de Azure Function en cada entorno con las Configuraciones de Aplicación adecuadas, y la función leerá el valor correcto de la cadena de conexión para el entorno en el que se está ejecutando.

Comments are closed.