我有一个 CDN 端点,我们已经设置了它来提供 Web 内容(主要是 js 脚本和图像)。该站点正在使用 Azure DevOps 进行部署。一切都过去了。
我们现在有一个主要的网站版本升级,并进行了大量的脚本更新。但是,我们注意到 CDN 提供的文件的版本没有改变。因此,我在 Azure DevOps 管道中添加了 Azure Powershell 清除任务以删除文件(使用 Az)。我使用以下命令:
[string[]]$purge = @(“/lib/app/Controllers/file1.js", “/lib/app/Controllers/files2.js", “/lib/app/Controllers/billingController.js", “/lib/app/Controllers/file3.js", “/lib/app/Controllers/file4.js"");
Unpublish-AzCdnEndpointContent -ResourceGroupName ${{parameters.resourceGroup}} -ProfileName application$(environment) -EndpointName application$(environment) -PurgeContent $purge;
我可以看到命令正在运行,并且在检查端点上的活动日志时,我看到清除已成功提交:
但是,当我尝试浏览缓存文件时,它仍然是旧版本。我们特意在每个脚本文件的顶部放置了一个日期横幅,以便我们可以跟踪更新,但是我们在缓存文件中没有看到这一点。我还通过存储帐户 URL 导航到了一些文件,我可以看到这些文件已按预期更新。
另外一点,我尝试使用 / 发出上述 powershell 命令。 /folder/,但这些似乎都不起作用。这很困难,因为我们看不到 CDN 的内容,以了解为什么它没有按预期清除
我也尝试过使用 az cli。这似乎也不起作用。无论如何可以帮忙吗?
答案 0 :(得分:0)
我通过使用 Standard_Microsoft 作为 CDN 提供商而不是我之前在 Azure 中使用的 Standard_Akamai 解决了这个问题。
这有额外的好处,通配符参数 '/*' 也可以使用