【问题标题】:Stop-AzureWebsiteJob results in "Not Found"Stop-AzureWebsiteJob 导致“未找到”
【发布时间】:2022-03-30 08:30:24
【问题描述】:

所以我在 VSO 中设置了构建/部署,我想在部署之前停止网站和 Web 作业(因为否则文件被锁定)。 powershell 脚本主要包含:

Stop-AzureWebsite -Name $website # 这个可行,网站停止后

$jobs = Get-AzureWebsiteJob -Name $website # 这个可行,包含作业列表

停止-AzureWebsiteJob -Name $website -JobName $job -PassThru

最后一行失败,使用前面调用返回的名称,我得到一个无用的“未找到”。这不是帐户/订阅的事情,因为前面的行很愉快,有人有什么想法吗?

提前致谢

【问题讨论】:

    标签: powershell azure-devops


    【解决方案1】:

    解决方案是 Remove-AzureWebsiteJob。

    关于 Stop-AzureWebsiteJob 命令,启动和停止 Web Jobs 是一种仅对连续 Web Jobs 有效的操作。

    根据调试日志(在命令中添加 -Debug),它正在尝试停止连续作业 https://[sitename].scm.azurewebsites.net/api/jobs/continuous/[jobname]/stop。

    根据您的要求,您可以尝试通过Kudu API 停止工作。

    有一个使用 Azure App Service Kudu REST API 的示例,您可以参考: Samples for using the Azure App Service Kudu REST API to programmatically manage files in your site

    相关话题:Azure Stop a Triggered Web Job

    【讨论】:

    • 谢谢,我使用了它,结合 Remove-AzureWebsiteJob 解决了我的问题(这是文件锁搞砸了部署)。非常有能力
    • 酷,这是票,也是*有义务的;)
    【解决方案2】:

    这是一个简单的命令:

    Invoke-AzResourceAction -ResourceGroupName <RG-NAME> -ResourceType Microsoft.Web/sites/continuouswebjobs -ResourceName <APP-SERVICE/WebJobName> -Action stop -ApiVersion 2018-02-01 -Force
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-14
      • 2016-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-20
      相关资源
      最近更新 更多