Montaje de un recurso compartido de archivos en una aplicación de funciones de Python mediante la CLI de Azure
Este script de ejemplo de Azure Functions crea una aplicación de funciones mediante el plan de consumo y crea un recurso compartido en Azure Files. Luego monta el recurso compartido, con el fin de que sus funciones puedan acceder a los datos.
Nota
La aplicación de funciones creada se ejecuta en la versión 3.9 de Python. Azure Functions también admite las versiones 3.7 y 3.8 de Python.
Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.
Requisitos previos
Use el entorno de Bash en Azure Cloud Shell. Para más información, consulte Inicio rápido para Bash en Azure Cloud Shell.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si utiliza Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor Docker. Para más información, vea Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
Script de ejemplo
Inicio de Azure Cloud Shell
Azure Cloud Shell es un shell interactivo gratuito que puede usar para ejecutar los pasos de este artículo. Tiene las herramientas comunes de Azure preinstaladas y configuradas para usarlas en la cuenta.
Para abrir Cloud Shell, seleccione Pruébelo en la esquina superior derecha de un bloque de código. También puede ir a https://shell.azure.com para iniciar Cloud Shell en una pestaña independiente del explorador.
Cuando se abra Cloud Shell, compruebe que Bash está seleccionado para el entorno. En las sesiones siguientes se usará la CLI de Azure en un entorno de Bash, seleccione Copiar para copiar los bloques de código, péguelos en Cloud Shell y, luego, presione Entrar para ejecutarlos.
Inicio de sesión en Azure
Cloud Shell se autentica de forma automática en la cuenta inicial con la que ha iniciado sesión. Use el script siguiente para iniciar sesión con otra suscripción, y reemplace <Subscription ID>
con el id. de la suscripción de Azure. Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
Para más información, vea Establecimiento de la suscripción activa o Inicio de sesión de forma interactiva
Ejecute el script.
# Function app and storage account names must be unique.
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="eastus"
resourceGroup="msdocs-azure-functions-rg-$randomIdentifier"
tag="functions-cli-mount-files-storage-linux"
export AZURE_STORAGE_ACCOUNT="msdocsstorage$randomIdentifier"
functionApp="msdocs-serverless-function-$randomIdentifier"
skuStorage="Standard_LRS"
functionsVersion="4"
pythonVersion="3.9" #Allowed values: 3.7, 3.8, and 3.9
share="msdocs-fileshare-$randomIdentifier"
directory="msdocs-directory-$randomIdentifier"
shareId="msdocs-share-$randomIdentifier"
mountPath="/mounted-$randomIdentifier"
# Create a resource group
echo "Creating $resourceGroup in "$location"..."
az group create --name $resourceGroup --location "$location" --tags $tag
# Create an Azure storage account in the resource group.
echo "Creating $AZURE_STORAGE_ACCOUNT"
az storage account create --name $AZURE_STORAGE_ACCOUNT --location "$location" --resource-group $resourceGroup --sku $skuStorage
# Set the storage account key as an environment variable.
export AZURE_STORAGE_KEY=$(az storage account keys list -g $resourceGroup -n $AZURE_STORAGE_ACCOUNT --query '[0].value' -o tsv)
# Create a serverless function app in the resource group.
echo "Creating $functionApp"
az functionapp create --name $functionApp --storage-account $AZURE_STORAGE_ACCOUNT --consumption-plan-location "$location" --resource-group $resourceGroup --os-type Linux --runtime python --runtime-version $pythonVersion --functions-version $functionsVersion
# Work with Storage account using the set env variables.
# Create a share in Azure Files.
echo "Creating $share"
az storage share create --name $share
# Create a directory in the share.
echo "Creating $directory in $share"
az storage directory create --share-name $share --name $directory
# Create webapp config storage account
echo "Creating $AZURE_STORAGE_ACCOUNT"
az webapp config storage-account add \
--resource-group $resourceGroup \
--name $functionApp \
--custom-id $shareId \
--storage-type AzureFiles \
--share-name $share \
--account-name $AZURE_STORAGE_ACCOUNT \
--mount-path $mountPath \
--access-key $AZURE_STORAGE_KEY
# List webapp storage account
az webapp config storage-account list --resource-group $resourceGroup --name $functionApp
Limpieza de recursos
Use el comando siguiente para quitar el grupo de recursos y todos los recursos asociados con él mediante el comando az group delete, a menos que tenga una necesidad constante de estos recursos. Algunos de estos recursos pueden tardar un tiempo en crearse, así como en eliminarse.
az group delete --name $resourceGroup
Referencia de ejemplo
Cada comando de la tabla crea un vínculo a documentación específica del comando. Este script usa los siguientes comandos:
Get-Help | Notas |
---|---|
az group create | Crea un grupo de recursos en el que se almacenan todos los recursos. |
az storage account create | Crea una cuenta de Azure Storage. |
az functionapp create | Crea una aplicación de función. |
az storage share create | Crea un recurso compartido de archivos de Azure Files en una cuenta de almacenamiento. |
az storage directory create | Crea un directorio en el recurso compartido de archivos. |
az webapp config storage-account add | Monta el recurso compartido en la aplicación de funciones. |
az webapp config storage-account list | Muestra los recursos compartidos de archivos montados en la aplicación de funciones. |
Pasos siguientes
Para más información sobre la CLI de Azure, consulte la documentación de la CLI de Azure.
Encontrará más ejemplos de scripts de CLI para Azure Functions en la documentación de Azure Functions.