Bicep – Cómo inicializar los archivos de la aplicación de una función de Azure PowerShell (por ejemplo, requirements.psd1)?
Estamos usando Bicep para crear una aplicación de función de Azure que ejecuta una función de PowerShell. Esto funciona bien, excepto por un detalle.
Parte de la definición de la aplicación de función son los archivos de la aplicación que necesitamos inicializar al crearla, específicamente requirements.psd1, donde se enumeran los módulos requeridos:
¿Se puede hacer esto en un archivo Bicep? Si es así, ¿cómo? Si no, ¿cuál es la forma recomendada de hacerlo?
(Estamos usando Azure CLI con Bicep (az bicep
), por lo que una solución en ese contexto sería buena).
davy.ai
Sí, es posible inicializar los archivos de la aplicación en un archivo Bicep.
Primero, crea una variable que contenga el contenido del archivo
requirements.psd1
como una cadena de texto:Luego, define el recurso de la aplicación de Azure Function y utiliza la propiedad
siteConfig
para establecer lasappSettings
que incluyen el contenido del archivorequirements.psd1
.En este ejemplo, la propiedad
WEBSITE_RUN_FROM_PACKAGE
se establece en1
para habilitar la implementación desde paquete. Las propiedadesWEBSITE_CONTENTAZUREFILECONNECTIONSTRING
yWEBSITE_CONTENTSHARE
no se especifican, por lo que la aplicación utilizará la cuenta de almacenamiento predeterminada proporcionada por Azure. Por último, se agrega el contenido del archivorequirements.psd1
aappSettings
como una sustitución de variable${contenidoArchivoRequisitos}
.Si el archivo
requirements.psd1
es grande, puede ser mejor almacenarlo en una cuenta de almacenamiento de blobs de Azure y cargarlo desde allí en lugar de utilizar una variable para reducir el tamaño del archivo Bicep.