删除损坏的 Azure Functions 应用程序

Delete a corrupted Azure Functions App

我创建了一个函数应用程序,然后创建了一个函数,函数名称默认为 TriggerCSharp1 或类似名称。

添加代码后,我想知道如何更改函数名称,所以我尝试 Ftp 进入函数应用程序并手动更改文件夹名称 TriggerCSharp1。我返回到 Azure 门户,现在当我单击函数应用程序时出现错误 The access token is invalid.,并且下面没有任何内容,请参阅下面的 screen-shot。

我不确定现在如何删除这个功能应用程序,因为我无法进入它 blade。我现在唯一能想到的方法就是删除包含此功能应用程序的资源组,但这不是我能做的,因为我还有大量其他资源。

编辑: 正如 David 所建议的,resources.azure.com 更简单并且不需要客户端位。


使用 Azure-CLI 和命令 azure site delete <site name>

解决了

如果您想在 PowerShell 中执行此操作,类似下面的内容应该可以工作...

Login-AzureRmAccount  #Enter your username / pw
$funcApp = Get-AzureRmWebApp -Name "Your Function App Name"
Remove-AzureRmWebApp -WebApp $funcApp

如果您有多个订阅,请确保您使用的是正确的订阅。如果您不想要检查提示,您还可以在删除命令中添加 -Confirm:$true。

一个功能应用程序可能包含多个功能,因此如果只有一个功能被破坏,则删除整个功能应用程序可能有点矫枉过正。对于处于这种情况的用户,删除 Kudu console/using powershell 中的函数文件夹是更好的方法。

使用 KUDU 控制台

  1. 转到https://<yourFunctionApp>.scm.azurewebsites.net
  2. 单击 DEBUG(top bar) -> CMD,然后在出现的新页面中导航至 site -> wwwroot
  3. 在那里找到您的函数并将其删除(单击 Edit/pencil 图标右侧的图标)

使用 POWERSHELL (基于 this

    $username = '<publish username>' #IMPORTANT: use single quotes as username may contain $
    $password = "<publish password>"
    $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username,$password)))
    $commandBody = @{
        command = "rm -d -r myAzureFunction"
        dir = "site\wwwroot" 
    }
    $deleteUrl = "https://<myFunctionApp>.scm.azurewebsites.net/api/command"
    Invoke-RestMethod -Uri $deleteUrl -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method POST `
    -ContentType "application/json" -Body (ConvertTo-Json $commandBody) 

发布用户名和发布密码可以获取详细here

    $creds = Invoke-AzureRmResourceAction -ResourceGroupName YourResourceGroup -ResourceType Microsoft.Web/sites/config -ResourceName YourWebApp/publishingcredentials -Action list -ApiVersion 2015-08-01 -Force

    $username = $creds.Properties.PublishingUserName
    $password = $creds.Properties.PublishingPassword