开发 Azure Function Version 2 时如何在 local.settings.json 中配置“ConsumerGroup”
How do I configure 'ConsumerGroup` in local.settings.json while developing Azure Function Version 2
我有以下代码来捕获到达 IoT Hub
的所有消息
[FunctionName("device-message--funcapp-v2")]
public static void Run([IoTHubTrigger("testhub",
Connection = "IoTHubEventEndPoint",
ConsumerGroup = "ActualConsumerGroup")]EventData message,
ILogger log)
{
log.LogInformation($"C# IoT Hub trigger:
{Encoding.UTF8.GetString(message.Body.Array)}");
}
这按预期工作得很好,但现在我不想对 ConsumerGroup
进行硬编码。所以我在 local.settings.json
中添加了以下配置条目
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"EventHub": "",
"CosmosDb": "",
"ConfigurationConsumerGroup": "ActualConsumerGroup"
}
}
并更改代码如下
[FunctionName("device-message--funcapp-v2")]
public static void Run([IoTHubTrigger("testhub",
Connection = "IoTHubEventEndPoint",
ConsumerGroup = "ConfigurationConsumerGroup")]EventData message,
ILogger log)
但是失败了。
[1/18/2019 9:47:11 AM] Microsoft.Azure.EventHubs: The messaging entity 'iothub-ns-testhub-945897-3a6f492cc4:eventhub:lctesthub~8191|ConfigurationConsumerGroup' could not be found.
使用 ConsumerGroup = "%ConfigurationConsumerGroup%"
从 local.settings.json 读取设置。检查 doc。请注意,触发器和绑定的连接 属性 是一种特殊情况,它会自动将值解析为应用设置,没有百分号。
我有以下代码来捕获到达 IoT Hub
[FunctionName("device-message--funcapp-v2")]
public static void Run([IoTHubTrigger("testhub",
Connection = "IoTHubEventEndPoint",
ConsumerGroup = "ActualConsumerGroup")]EventData message,
ILogger log)
{
log.LogInformation($"C# IoT Hub trigger:
{Encoding.UTF8.GetString(message.Body.Array)}");
}
这按预期工作得很好,但现在我不想对 ConsumerGroup
进行硬编码。所以我在 local.settings.json
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"EventHub": "",
"CosmosDb": "",
"ConfigurationConsumerGroup": "ActualConsumerGroup"
}
}
并更改代码如下
[FunctionName("device-message--funcapp-v2")]
public static void Run([IoTHubTrigger("testhub",
Connection = "IoTHubEventEndPoint",
ConsumerGroup = "ConfigurationConsumerGroup")]EventData message,
ILogger log)
但是失败了。
[1/18/2019 9:47:11 AM] Microsoft.Azure.EventHubs: The messaging entity 'iothub-ns-testhub-945897-3a6f492cc4:eventhub:lctesthub~8191|ConfigurationConsumerGroup' could not be found.
使用 ConsumerGroup = "%ConfigurationConsumerGroup%"
从 local.settings.json 读取设置。检查 doc。请注意,触发器和绑定的连接 属性 是一种特殊情况,它会自动将值解析为应用设置,没有百分号。