Мне удалось использовать хранилище ключей внутри приложения функций , как описано здесь , но когда я попытался использовать хранилище ключей для хранения строки подключения функции с помощью триггера очереди, у меня возникли проблемы с Строка подключения учетной записи хранения. Кажется, функция находит параметр, который я предоставляю, но либо не возвращает секрет, либо не любит информацию, когда выдает ошибку No valid combination of account information found
.
Моя функция определена как:
[FunctionName("ReadQueueForMessage")]
public static async Task Run([QueueTrigger("%AzureQueueTrigger%", Connection = "AzureWebJobsStorage")] string myQueueItem,
Binder binderinputblob,
ILogger log)
Это прекрасно работает, если я просто определяю строку подключения в моем local.settings.json
. То, что я пытаюсь сделать, это вместо того, чтобы просто вставить строку подключения в файл json, я хочу указать функцию на хранилище ключей с помощью следующего синтаксиса:
"AzureWebJobsStorage": "@Microsoft.KeyVault(SecretUri=https://myappkeyvault.vault.azure.net/secrets/myapp-AzureWebJobsStorage-Queue/the-guid-of-secret)",
Я сделал go в хранилище ключей и обновите политики доступа, включив в него приложение-функцию, чтобы оно могло читать / перечислять секреты. В документации здесь показано, как выполнить обновление конфигурации после ее развертывания на Azure. Я пытаюсь проверить сначала в Visual Studio. Может в этом проблема? Или вообще невозможно использовать секрет таким образом?