我为EventHubTrigger
. 这是基本代码:
public static class MyEventHubTriggerFunction
{
[FunctionName("MyEventHubTriggerFunction")]
public static async Task Run([EventHubTrigger("EventHubName",
Connection = "EventHubConnectionString")]
string[] eventHubMessages,
TraceWriter log,
ExecutionContext context)
{ ... }
}
这是我的 local.settings.json 文件:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"AzureWebJobsDashboard": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"EventHubName": "<myEventHubName>",
"EventHubConnectionString": "<myEventHubConnectionString>"
}
}
在部署此应用程序时,它可以在机器或 Azure 上正常运行。这里必须将 EventHubConnectionString 粘贴到 json 文件中。
有没有办法使用 MSI 身份验证从 KeyVault 机密中获取该值,并且它应该自动用于实例化EventHubTrigger
实例中的 Run 方法参数?
我知道如何在函数范围内获取机密,KeyVaultClient
但这里的函数触发run
方法本身需要连接字符串,因此我需要一种方法来使用 KeyVault 机密覆盖它。