我需要删除几个Azure Function应用程序服务以及它们关联的存储帐户。每个功能都有其自己的存储帐户,该帐户仅由该功能使用。我使用了PowerShell命令删除了该功能,但它留下了存储帐户。是否可以使用PowerShell首先查询该函数以获取其存储帐户名,以便随后可以使用类似的命令删除该帐户?
这是我用来删除功能的PowerShell命令:
Remove-AzureRmWebApp -ResourceGroupName "myResGrp" -Name "myFuncName"
答案 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"