当前位置: 首页 > 知识库问答 >
问题:

将Azure功能连接到Iot中心云到设备反馈endpoint

尹承泽
2023-03-14

是否可以以某种方式将Azure Function连接到Iot Hub云到设备反馈终结点?此终结点似乎与Azure事件中心不兼容。

写自定义事件触发器?

我使用C#Azure函数。

共有2个答案

岳凯康
2023-03-14

目前,云到设备反馈终结点不支持直接订阅Azure功能。

通常情况下,我们应该在发送C2D消息后立即处理反馈。这是由IoT中心服务SDK通过ServiceClient实现的。GetFeedback().有关处理C2D消息的反馈的更多详细信息,您可以参考接收传递反馈。

如果您还希望处理来自Azure功能的这些反馈,您可以使用HTTP请求从您的ServiceClient转发它,您可以在其中发送C2D消息。然后您可以创建一个带有Http触发器的Azure函数来接收它。

如果您对Azure IoT Hub有任何想法和反馈,可以从这里提交。

堵琨
2023-03-14

是的,您可以为物联网中心创建自定义功能。每当IoT集线器为与事件集线器兼容的endpoint发送新消息时,将运行此功能。您可以按照以下步骤操作:

{
  "frameworks": {
    "net46":{
      "dependencies": {
        "Microsoft.Azure.Devices": "1.4.1"
      }
    }
   }
}

将run.csx修改为以下代码

#r "Microsoft.ServiceBus"

using System.Configuration;
using System.Text;
using System.Net;
using Microsoft.Azure.Devices;
using Microsoft.ServiceBus.Messaging;
using Newtonsoft.Json;

static Microsoft.Azure.Devices.ServiceClient client =     ServiceClient.CreateFromConnectionString(ConfigurationManager.AppSettings["iothubConnectionstring"]);

public static async void Run(EventData myIoTHubMessage, TraceWriter log)
{
    log.Info($"{myIoTHubMessage.SystemProperties["iothub-connection-device-id"]}");
    var deviceId = myIoTHubMessage.SystemProperties["iothub-connection-device-id"].ToString();
    var msg = JsonConvert.SerializeObject(new { temp = 20.5 });
    var c2dmsg = new Microsoft.Azure.Devices.Message(Encoding.ASCII.GetBytes(msg));

    await client.SendAsync(deviceId, c2dmsg);
}

保存并运行该功能后,如果IoT Hub发送新消息,该功能将被触发,并在该功能中发送云到设备消息。

 类似资料:
  • 如何使用AZURE函数将遥测消息从Azure IOT中心路由到Data Lake存储。

  • 什么是反馈中心反馈中心是百度搜索资源平台开放给站长的沟通反馈渠道,站长管理的站点在百度网页搜索、移动搜索、新闻搜索中遇到问题,或是在使用百度搜索资源平台工具时遇到问题,可以通过反馈中心提交反馈。 如何使用反馈中心当站点遇到问题时,首先请通过搜索资源平台工具或学院文章,对网站进行自查。若自查后无法解决,请在反馈中心选择遇到问题的站点,之后选择产品分类,即网站是在网页搜索、移动搜索、新闻搜索或站长工具

  • 是否可以将Azure服务总线添加到云到设备消息队列中?当我收到消息时,我必须确保所有消息都以相同的顺序到达IoTHub。我找不到IoTHub中的标准队列是否提供它。我想使用ServiceBus的第二个原因是过期时间也更长,IoTHub只提供48小时的消息。我知道通过在IoTHub配置中添加endpoint和路由,我可以很容易地在设备消息中使用ServiceBus,但是C2D消息呢?

  • 我们目前正在迁移到一个新的Azure订阅,在执行Azure功能时出现问题,这些功能在我们的旧Azure订阅中按预期工作。我们的旧订阅和新订阅之间的主要区别在于,我们已经建立了一个具有子网的虚拟网络,并在子网后面部署了我们的资源。 我们还必须从旧订阅中的Azure应用服务迁移到新订阅中的Azure应用环境。 我们的Azure环境包括: 应用服务环境 应用服务计划I1 Azure应用环境和存储容器位于

  • 我有一个节点。使用Azure Iot Hub服务与Iot设备通信的js服务器应用程序。 当我检查Azure存储库中关于云到设备消息的示例代码时。我看到了一个客户。如果有多个设备和多条消息要发送到多个设备,创建多个Iot hub客户端可以吗,还是应该坚持使用一个客户端解决方案。两种方法的利弊是什么?