#azure-functions
#azure-функции
Вопрос:
Я пытаюсь развернуть функциональное приложение Azure (.NET Core, functions v3) с MSDeploy с использованием шаблона ARM, и я продолжаю получать эту ошибку почти каждый раз. Это удается только изредка. В моем функциональном приложении есть 5 функций, основанных на таймере, которые выполняются каждую секунду. В настоящее время я использую слоты развертывания, и для моих функций установлено значение disabled, когда они находятся в промежуточном слоте (с помощью параметра DisabledAttribute и параметра, зависящего от конкретного слота).
Шаблон ARM, который я использую для развертывания:
{
"apiVersion": "2018-02-01",
"name": "[concat(variables('webAppName'), '/staging')]",
"type": "Microsoft.Web/sites/slots",
"kind": "app",
"location": "[resourceGroup().location]",
"resources": [
{
"apiVersion": "2015-02-01",
"type": "Extensions",
"name": "MSDeploy",
"dependsOn": [
"[concat(resourceId('Microsoft.Web/Sites/', variables('webAppName')), '/slots/staging')]"
],
"properties": {
"packageUri": "[parameters('packageUrl')]"
}
}
]
}
ARM-MSDeploy Deploy Failed: 'Microsoft.Web.Deployment.DeploymentDetailedUnauthorizedAccessException: Unable to perform the operation ("Delete File") for the specified directory ("D:homesitewwwrootbinMyAssembly.dll"). This can occur if the server administrator has not authorized this operation for the user credentials you are using. Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER. ---amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;> Microsoft.Web.Deployment.DeploymentException: The error code was 0x80070005. ---amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;> System.UnauthorizedAccessException: Access to the path 'D:homesitewwwrootbinMyAssembly.dll' is denied.
Как мне предотвратить возникновение этой ошибки?
Комментарии:
1. Добро пожаловать в Stackoverflow. Вы можете получить лучшие ответы, сделав свой вопрос более конкретным.
Ответ №1:
Пожалуйста, обратитесь к этой теме для решения аналогичной проблемы.
Вам нужно добавить параметр appOfline и установить для него значение true, как указано в этой статье
{
"apiVersion": "2016-08-01",
"name": "MSDeploy",
"type": "Extensions",
"properties": {
"packageUri": "https://storage.blob.core.windows.net/artifacts/package.zip",
"appOffline": true
}
Надеюсь, вышесказанное поможет решить вашу проблему.
Комментарии:
1. Спасибо! Похоже, это помогло. При первой попытке моего развертывания всегда происходит сбой, но вторая попытка, похоже, завершилась успешно. Лучше, чем 99% сбоев, как раньше 🙂