Привет! Я получаю функциональную клавишу и URL-адрес триггера в качестве вывода в нашем шаблоне охраны, используя следующий код.
> "outputs": {
> "Key": {
> "type": "string",
> "value": "[listsecrets(resourceId('Microsoft.Web/sites/functions',
> variables('funcName'),
> parameters('NameOfService')),'2015-08-01').key]"
> },
> "functionUrl": {
> "type": "string",
> "value": "[listsecrets(resourceId('Microsoft.Web/sites/functions',
> variables('funcName'),
> parameters('NameOfService')),'2015-08-01').trigger_url]"
> } }
У нас для параметра 'AzureWebJobsSecretStorageType' установлено значение 'Файлы' в настройках приложения какон не работает без него в Functions v2, когда мы выполняем шаблон ARM, он иногда работает, но иногда выдает следующую ошибку, не зная, в чем его проблема, шаблон ARM действителен, поскольку он работает, и я вижуФункция также успешно развернута на портале Azure, поэтому не знаете, почему именно она не работает, какие-либо подсказки?
[error] BadRequest: {"error": {"code": "BadRequest",«message»: «System.FormatException: не удалось расшифровать CfDJ8AAAAAAAAAAAAAAAAAAAAAB93sc99M4b_klhBWrLMfQYRpSN9, ключ недействителен или неверно задан ---> System.Security.Cryptography.Cryp..CbcAuthenticatedEncryptor.DecryptImpl (Byte * pbCiphertext, UInt32 cbCiphertext, Byte * pbAdditionalAuthenticatedData, UInt32 (cbAdditionalAuthenticatedData) \ r \ n в Microsoft.AspNetCore.DataProtection.Cng.Internal.] protectedData, логическое allowOperationsOnRevokedKeys, UnprotectStatus & status) \ r \ n в Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.DangerousUnprotect (Byte [] protectedData, логическое игнорируемое_каталоговое_окружение_категория_обозначения_объявления с ошибками)«) в C: \ Kudu Files \ Private \ src \ master \ Kudu.Core \ Infrastructure \ SecurityUtility.cs: строка 40 \ r \ n --- Конец внутренней трассировки стека исключений --- \ r \ n в Kudu.Core.Infrastructure.SecurityUtility.DecryptSecretString (содержимое строки) в C: \ Kudu Files \ Private \ src \ master \Kudu.Core \ Infrastructure \ SecurityUtility.cs: строка 45 \ r \ n в Kudu.Core.Functions.FunctionManager.d__9 1.MoveNext()
in C:\\Kudu
Files\\Private\\src\\master\\Kudu.Core\\Functions\\FunctionManager.cs:line
203\r\n--- End of stack trace from previous location where exception
was thrown ---\r\n at
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
task)\r\n at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
task)\r\n at
Kudu.Core.Functions.FunctionManager.<GetFunctionSecretsAsync>d__12.MoveNext()
in C:\\Kudu
Files\\Private\\src\\master\\Kudu.Core\\Functions\\FunctionManager.cs:line
220\r\n--- End of stack trace from previous location where exception
was thrown ---\r\n at
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
task)\r\n at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
task)\r\n at
Kudu.Services.Functions.FunctionController.<GetSecrets>d__12.MoveNext()
in C:\\Kudu
Files\\Private\\src\\master\\Kudu.Services\\Functions\\FunctionController.cs:line
141\r\n--- End of stack trace from previous location where exception
was thrown ---\r\n at
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
task)\r\n at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
task)\r\n at
System.Threading.Tasks.TaskHelpersExtensions.<CastToObject>d__3
1.MoveNext () \ r \ n --- Конец трассировки стека из предыдущего местоположения, где исключениебыл брошен --- \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи) \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача задачи) \ r \ n в System.W.Http.Controllers.ApiControllerActionInvoker.d__0.MoveNext () \ r \ n --- Конец трассировки стека из предыдущего расположения, где было сгенерировано исключение --- \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача)\ r \ n в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача) \ r \ n в System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext () \ r \ n --- Конец трассировки стека отпрочевидное место, где было сгенерировано исключение --- \ r \ n в System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext () \ r \ n --- Конец трассировки стека из предыдущего расположения, где было сгенерировано исключение ---\ r \ n в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача-задача) \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача-задача) \ r \ n в System.WebilThttp..d__0.MoveNext () \ r \ n --- Конец трассировки стека из предыдущего расположения, в котором было сгенерировано исключение --- \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (Task task) \ r \ n atSystem.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача) \ r \ n в System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext () \ r \ n ---Конец трассировки стека из предыдущего местоположения, где было сгенерировано исключение --- \ r \ n в System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext () \ r \ n --- Конец трассировки стека из предыдущего местоположения, где исключениебыл брошен --- \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи) \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача задачи) \ r \ n в System.W.Http.Filters.ActionFilterAttribute.d__0.MoveNext () \ r \ n --- Конец трассировки стека из предыдущего местоположения, где было сгенерировано исключение --- \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача)\ r \ n в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача) \ r \ n в System.Web.Http.Controllers.ActionFilterResult.d__2.MoveNext () \ r \ n --- Конец трассировки стека отпредыдущее местоположение, где было сгенерировано исключение --- \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (Задача) \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача) \ r \ n в System.Web.Http.Controllers.ExceptionFilterResult.d__0.MoveNext () "}