Конечная точка Azure Akamai CDN не удаляет содержимое

#powershell #azure-cdn #azure-storage-account

Вопрос:

У меня есть конечная точка CDN, которую мы настроили для обслуживания веб-контента (в основном сценариев и изображений js). Сайт развертывается с помощью Azure DevOps. Все хорошо работало в прошлом.

Теперь у нас есть крупное обновление версии веб-сайта и сделано много обновлений сценариев. Однако мы заметили, что версия файлов, обслуживаемых CDN, не меняется. Поэтому я добавил задачу очистки Azure Powershell в наш конвейер Azure DevOps для удаления файлов (с помощью 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; 

Я вижу, как работает команда, и, проверив журнал действий на конечной точке, я вижу, что очистка была успешно отправлена:

деятельность по очистке ;pg

однако, когда я пытаюсь просмотреть кэшированный файл, в нем все еще есть старая версия. Мы намеренно поместили баннер с датой в верхнюю часть каждого файла сценария, чтобы мы могли отслеживать обновление, но мы не видим этого в кэшированных файлах. Я также перешел к некоторым файлам по URL-адресам учетной записи хранения и вижу, что файлы были обновлены, как и ожидалось.

В отдельном пункте я попытался выполнить приведенную выше команду powershell с помощью /. /папка/, но ни один из них, похоже, не работает. Это затрудняет, потому что мы не можем видеть содержимое CDN, чтобы узнать, почему оно не очищается должным образом

Я также пробовал использовать интерфейс командной строки az. Похоже, это тоже не работает. В любом случае, не могли бы вы помочь, пожалуйста?

Ответ №1:

Я обошел это, используя Standard_Microsoft в качестве поставщика CDN, а не Standard_Akamai, который я использовал раньше в Azure.

Это имеет дополнительное преимущество в том, что параметр подстановочного знака ‘/*’ также работает