我有以下代码来捕获所有到达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:找不到消息传递实体“ iothub-ns-testhub-945897-3a6f492cc4:eventhub:lctesthub〜8191 | ConfigurationConsumerGroup”。
答案 0 :(得分:0)
使用ConsumerGroup = "%ConfigurationConsumerGroup%"
从local.settings.json中读取设置。检查doc。请注意,触发器和绑定的连接属性是一种特殊情况,它会自动将值解析为应用程序设置,而没有百分号。