使用Powershell删除Azure Functionapp及其关联的存储帐户

时间:2019-01-03 15:19:02

标签: powershell azure-functions

我需要删除几个Azure Function应用程序服务以及它们关联的存储帐户。每个功能都有其自己的存储帐户,该帐户仅由该功能使用。我使用了PowerShell命令删除了该功能,但它留下了存储帐户。是否可以使用PowerShell首先查询该函数以获取其存储帐户名,以便随后可以使用类似的命令删除该帐户?

这是我用来删除功能的PowerShell命令:

Remove-AzureRmWebApp -ResourceGroupName "myResGrp" -Name "myFuncName" 

1 个答案:

答案 0 :(得分:0)

您可以解析AzureWebJobsStorage应用程序设置中存储的存储帐户的连接字符串,例如:

# Untested demonstration code, use with caution.
function Remove-FunctionAppAndStorageAccount
{
    param
    (
        $ResourceGroupName,
        $FunctionName
    )

    # Retrieve the function app
    $app = Get-AzureRmWebApp -ResourceGroupName $ResourceGroupName -Name $FunctionName;

    # Grab the AzureWebJobsStorage app setting
    $azureWebJobsStorageSetting = $app.SiteConfig.AppSettings | Where-Object { $_.Name -eq "AzureWebJobsStorage" };

    # Parse the storage account name
    $accountNamePart = ($azureWebJobsStorageSetting.Value -split ";" | Where-Object { $_ -like "AccountName*" });
    $storageAccountName = ($accountNamePart -split "=")[1]

    # Remove the app
    Remove-AzureRmWebApp -ResourceGroupName $ResourceGroupName -Name $FunctionName;

    # Remove the storage account
    Remove-AzureRmStorageAccount -ResourceGroupName $ResourceGroupName -Name $storageAccountName;
}    

# Remove both function app and storage account in one line
Remove-FunctionAppAndStorageAccount -ResourceGroupName "myResGrp" -FunctionName "myFuncName"