Montare una condivisione file in un'app per le funzioni Python con l'interfaccia della riga di comando di Azure
Questo script di esempio Funzioni di Azure crea un'app per le funzioni usando il piano a consumo e crea una condivisione in File di Azure. Quindi monta la condivisione in modo che i dati possano essere accessibili dalle funzioni.
Nota
L'app per le funzioni creata viene eseguita in Python versione 3.9. Funzioni di Azure supporta anche Python versione 3.7 e 3.8.
Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.
Prerequisiti
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido su Bash in Azure Cloud Shell.
Se si preferisce eseguire i comandi di riferimento dell'interfaccia della riga di comando in locale, installare l'interfaccia della riga di comando di Azure. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere tramite l'interfaccia della riga di comando di Azure.
Quando richiesto, al primo utilizzo installare l'estensione dell'interfaccia della riga di comando di Azure. Per altre informazioni sulle estensioni, vedere Usare le estensioni con l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
Script di esempio
Avviare Azure Cloud Shell
Azure Cloud Shell è una shell interattiva gratuita che può essere usata per eseguire la procedura di questo articolo. Include strumenti comuni di Azure preinstallati e configurati per l'uso con l'account.
Per aprire Cloud Shell, basta selezionare Prova nell'angolo superiore destro di un blocco di codice. È anche possibile avviare Cloud Shell in una scheda separata del browser visitando https://shell.azure.com.
Quando si apre Cloud Shell, verificare che sia selezionato Bash per l'ambiente. Le sessioni successive useranno l'interfaccia della riga di comando di Azure in un ambiente Bash. Selezionare Copia per copiare i blocchi di codice, incollarli in Cloud Shell e premere INVIO per eseguirli.
Accedere ad Azure
Cloud Shell viene autenticato automaticamente con l'account iniziale con cui è stato eseguito l'accesso. Usare lo script seguente per accedere usando una sottoscrizione diversa, sostituendo subscriptionId con l'ID sottoscrizione di Azure.
Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.
subscription="subscriptionId" # Set Azure subscription ID here
az account set -s $subscription # ...or use 'az login'
Per altre informazioni, vedere Impostare una sottoscrizione attiva o accedere in modo interattivo.
Eseguire lo 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
Pulire le risorse
Usare il seguente comando per rimuovere il gruppo di risorse e tutte le risorse associate usando il comando az group delete, a meno che non si abbia una necessità continua di queste risorse. La creazione e l'eliminazione di alcune di queste risorse può richiedere tempo.
az group delete --name $resourceGroup
Informazioni di riferimento per l'esempio
Ogni comando della tabella include collegamenti alla documentazione specifica del comando. Questo script usa i comandi seguenti:
Comando | Note |
---|---|
az group create | Consente di creare un gruppo di risorse in cui sono archiviate tutte le risorse. |
az storage account create | Creare un account di Archiviazione di Azure. |
az functionapp create | Creare un'app per le funzioni. |
az storage share create | Crea una condivisione di File di Azure nell'account di archiviazione. |
az storage directory create | Crea una directory nella condivisione. |
az webapp config storage-account add | Monta la condivisione nell'app per le funzioni. |
az webapp config storage-account list | Mostra le condivisioni file montate nell'app per le funzioni. |
Passaggi successivi
Per altre informazioni sull'interfaccia della riga di comando di Azure, vedere la documentazione sull'interfaccia della riga di comando di Azure.
Altri esempi di script dell'interfaccia della riga di comando di Funzioni di Azure sono disponibili nella documentazione di Funzioni di Azure.