如何在 curl 请求中指明需要在 Azure IoT 中心使用的路由?

jab*_*ena 0 azure azure-iot-hub

我正在阅读有关 Azure IoT 中心路由的多个文档:

但是,当您添加有关“路由查询”的部分: level="storage" 并创建路由时,如何在 curl 请求中指示您需要使用的路由。

目前,我与 curl 一起使用的请求是:

  curl --request POST \
    --url "https://${IOT_HUB}.azure-devices.net/devices/${DEVICE}/messages/events?api-version=2018-06-30" \
    --header "Accept: application/json" \
    --header "Content-Type: application/json;charset=utf-8" \
    --header "Authorization: ${SAS_TOKEN}" \
    --data "{ \"field1\" : \"value\", \"field2\" : \"value\" }" \
    --verbose
Run Code Online (Sandbox Code Playgroud)

如何添加路由 level="storage" 的信息?

提前谢谢了

胡安·安东尼奥

Mat*_*eer 5

Microsoft 文档中的路由示例都显示了使用 SDK 的示例,您需要在消息的 appProperties 部分添加一个项目。但是,如果您需要使用 HTTP 端点,则可以通过包含以“iothub-app-”为前缀的标头来添加 appProperties。所以你需要在 curl 命令中添加的标题是

--header "iothub-app-level: storage" \
Run Code Online (Sandbox Code Playgroud)

此处查找文档

编辑:我看到罗曼比我快了半分钟。

  • 是的,你可以这么做。您可以将其命名为任何您想要的名称,并在 IoT 中心路由查询中使用它。您还可以应用布尔逻辑来组合多个属性甚至消息正文。这里有一些很好的例子:https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-routing-query-syntax#message-routing-query-based-on-message-properties (3认同)