具有AzureWebJobStorage应用程序设置的多个Azure函数,是否具有相同的KeyVault?

问题描述

我有两个共享单个keyvault的Azure功能。这两个函数都使用local.settings.json中的keyvault 引用,而不是明文秘密。每个功能使用一个不同内部Azure存储帐户(AzureWebJobStorage)。

  • 如何使用一个keyvault引用两个不同的AzureWebJobStorage应用设置?
  • 是否可以将其中一项设置更改为AzureWebJobStorage1

解决方法

据我所知,将Azure Key Vault引用与Azure Functions一起使用不支持在本地使用。有关更多详细信息,请参阅此post

以下答案基于Azure门户上的功能

如何使用一个KeyVault引用两个不同的AzureWebJobStorage应用设置?

您需要将所需的存储connect string添加到Azure门户上的key vault,它将生成相应的Secret Identifier

enter image description here

enter image description here

您可以生成符合以下语法的引用:

@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931)

然后将这两个引用添加到应用设置

enter image description here

是否可以将其中一项设置更改为AzureWebJobStorage1等?

当然,如果您在app setting中配置密钥库引用,则可以将变量名定义为AzureWebJobStorage1

enter image description here

blob trigger function为例,您可以在AzureWebJobStorage1文件中使用function.json来获取存储连接。

enter image description here

,

我很傻。密钥保管库密钥的名称无关紧要。 AzureWebJobsStorage名称在每个功能中保持不变,但是可以在Key Vault中称为任何名称。