Удаление приложения Azure Functionapp и связанной с ним учетной записи хранения с помощью powershell - PullRequest
0 голосов
/ 03 января 2019

У меня есть несколько служб приложений Azure Function, которые мне нужно удалить вместе со связанными учетными записями хранилища.Каждая функция имеет свою учетную запись хранения, которая используется только этой функцией.Я использовал команду PowerShell, которая удалила функцию, но она оставляет за собой учетную запись хранения.Есть ли способ использовать PowerShell, чтобы сначала запросить функцию, чтобы получить имя учетной записи хранения, чтобы затем я мог использовать аналогичную команду для удаления учетной записи?

Вот команда PowerShell, которую я использовал для удаления функции:

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

1 Ответ

0 голосов
/ 03 января 2019

Можно проанализировать строку подключения для учетной записи хранения, которая хранится в настройках приложения 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"
...