2017-09-13 31 views
1

我已将路由设置为更新双端口,并选择端点作为Iot集线器支持的事件(默认),但它不起作用。如何实现Azure Iot-Hub中Twin Change的路由功能?

下面是截图

screenshot

难道我做错了什么或缺少的东西? 任何意见或引用其他材料,将不胜感激。

+0

你如何接收这些事件?你能显示你的代码吗? –

+0

@Rita Hab对于接收事件,我使用azure函数并尝试了EventHubTrigger和IoT Hub(EventHub) - JavaScript模板。这里是如下: 'module.exports = function(context,IoTHubMessages){ context.log('JavaScript eventhub trigger function called for message array $ {IoTHubMessages}'); IoTHubMessages.forEach(message => {context.log('Processed message $ {JSON.stringify(message)}'); }); context.done(); };' –

+0

@Rita Han在函数json绑定: {“bindings”:[{“type”:“eventHubTrigger”,“name”:“IoTHubMessages”,“direction”:“in”,“path”: “iothub-ehub-HUBNAME-192805-73caa1654c”,“connection”:“HUBNAME_events_IOTHUB”,“cardinality”:“many”,“consumerGroup”:“myconsumer”}],“disabled”:false} –

回答

0

最后,我得到了解决办法,我只需切换到从头它工作完全正常的另一个帐户和设置的一切。

我注意到的唯一区别是在美国西部我的旧帐户中的位置,并在美国中部地区新帐户的位置。我没有找到确切的解决方案,但它为我工作。但我仍然想知道是基于位置的问题还是其他?

0

您的路线设置是正确的。我猜测问题出在Azure IoT Hub事件的客户端(缺省端点)上。您可以使用Device Explorer工具进行测试。下面的屏幕片段展示了我的例子:

DeviceExplorer

其他快速选择消费这些事件是创造一个蔚蓝的功能

using System; 

public static void Run(string myIoTHubMessage, TraceWriter log) 
{ 
    log.Info($"C# IoT Hub trigger function processed a message: {myIoTHubMessage}"); 
} 

function.json文件:

{ 
    "bindings": [ 
    { 
     "type": "eventHubTrigger", 
     "name": "myIoTHubMessage", 
     "direction": "in", 
     "path": "myPath", 
     "connection": "myevents_IOTHUB", 
     "consumerGroup": "$Default", 
     "cardinality": "many" 
    } 
    ], 
    "disabled": true 
} 
  • 还有一件事,你可以按下按钮运行测试比赛。应显示结果:比赛
+0

我创建了Azure函数来使用Azure IoT Hub事件(默认端点),但是我没有提到得到任何双胞胎更新触发器,我唯一得到的是从设备SDK发送的iot-hub消息。 –

+0

我也独立地测试路由功能,结果是我也得到了结果:匹配 –

+0

对于更新设备孪生我更新了设备孪生从iot-hub门户的期望值,并且还改变了来自设备侧SDK的报告值,但是对于两种方式都没有触发发生。 –