问题描述
我有两个共享单个keyvault的Azure功能。这两个函数都使用local.settings.json
中的keyvault 引用,而不是明文秘密。每个功能使用一个不同内部Azure存储帐户(AzureWebJobStorage
)。
解决方法
据我所知,将Azure Key Vault引用与Azure Functions一起使用不支持在本地使用。有关更多详细信息,请参阅此post。
以下答案基于Azure门户上的功能
如何使用一个KeyVault引用两个不同的AzureWebJobStorage应用设置?
您需要将所需的存储connect string
添加到Azure门户上的key vault
,它将生成相应的Secret Identifier
。
您可以生成符合以下语法的引用:
@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931)
然后将这两个引用添加到应用设置
是否可以将其中一项设置更改为AzureWebJobStorage1等?
当然,如果您在app setting
中配置密钥库引用,则可以将变量名定义为AzureWebJobStorage1
。
以blob trigger function
为例,您可以在AzureWebJobStorage1
文件中使用function.json
来获取存储连接。
我很傻。密钥保管库密钥的名称无关紧要。 AzureWebJobsStorage
名称在每个功能中保持不变,但是可以在Key Vault中称为任何名称。