为了账号安全,请及时绑定邮箱和手机立即绑定

Azure IoTHub DeviceMessage,消息正文上的路由过滤器不起作用

Azure IoTHub DeviceMessage,消息正文上的路由过滤器不起作用

凤凰求蛊 2021-09-03 13:45:27
我正在按照https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-monitoring-notifications-with-azure- 中所述的说明使用 Azure 逻辑应用程序创建 IoT 远程监控和通知-逻辑应用程序。遥测模拟器(Java 使用 com.microsoft.azure.sdk.iot -> iot-device-client -> 1.14.0 版本)public class SimulatedDevice {    // The device connection string to authenticate the device with your IoT hub.    // Using the Azure CLI:    // az iot hub device-identity show-connection-string --hub-name {YourIoTHubName}    // --device-id MyJavaDevice --output table    private static String connString = "#ConnectionString";    private static IotHubClientProtocol protocol = IotHubClientProtocol.AMQPS;    private static DeviceClient client;    // Specify the telemetry to send to your IoT hub.    private static class TelemetryDataPoint {        public double temperature;        public double humidity;        public String isTrue = "true";        // Serialize object to JSON format.        public String serialize() {            Gson gson = new Gson();            return gson.toJson(this);        }    }    // Print the acknowledgement received from IoT Hub for the telemetry message    // sent.    private static class EventCallback implements IotHubEventCallback {        public void execute(IotHubStatusCode status, Object context) {            System.out.println("IoT Hub responded to message with status: " + status.name());            if (context != null) {                synchronized (context) {                    context.notify();                }            }        }    }对于 QueryString - temperatureAlert = "true" - 一切正常。但是对于查询字符串 - $body.temperature > 30 - 那么我没有收到任何消息。
查看完整描述

1 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

为了让 IoT 中心知道消息是否可以根据其正文内容进行路由,该消息必须包含描述其正文内容和编码的特定标头。特别是,消息必须具有以下两个标头才能在消息正文上路由才能工作:

  1. “应用程序/json”的内容类型

  2. 内容编码必须匹配以下之一:

    • “utf-8”

    • “utf-16”

    • “utf-32”

在创建 Message 对象的语法下方添加以下两行:

msg.setContentEncoding("utf-8");
msg.setContentType("application/json");


查看完整回答
反对 回复 2021-09-03
  • 1 回答
  • 0 关注
  • 206 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信