Iot Hub Resource - Test Route

Test the new route
Test the new route for this Iot Hub

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew?api-version=2018-04-01

URI Parameters

Name In Required Type Description
subscriptionId
path True
  • string

The subscription identifier.

resourceGroupName
path True
  • string

resource group which Iot Hub belongs to

iotHubName
path True
  • string

IotHub to be tested

api-version
query True
  • string

The version of the API.

Request Body

Name Required Type Description
message

Routing message

route True

Route properties

twin

Routing Twin Reference

Responses

Name Type Description
200 OK

OK

Other Status Codes

DefaultErrorResponse

Security

azure_auth

Azure Active Directory OAuth2 Flow

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Name Description
user_impersonation impersonate your user account

Examples

IotHubResource_TestRoute

Sample Request

POST https://management.azure.com/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/routing/routes/$testnew?api-version=2018-04-01
{
  "message": {
    "body": "Body of message",
    "appProperties": "App Properties",
    "systemProperties": "System Properties"
  },
  "route": {
    "name": "Routeid",
    "source": "DeviceMessages",
    "endpointNames": [
      "id1"
    ],
    "isEnabled": true
  }
}

Sample Response

{
  "result": "false",
  "details": {
    "compilationErrors": [
      {
        "message": "string response",
        "severity": "error",
        "location": {
          "start": {
            "line": 12,
            "column": 12
          },
          "end": {
            "line": 12,
            "column": 24
          }
        }
      }
    ]
  }
}

Definitions

ErrorDetails

Error details.

Properties
RouteCompilationError

Compilation error when evaluating route

RouteErrorPosition

Position where the route error happened

RouteErrorRange

Range of route errors

RouteErrorSeverity

Severity of the route error

RouteProperties

The properties of a routing rule that your IoT hub uses to route messages to endpoints.

RoutingMessage

Routing message

RoutingSource

The source that the routing rule is to be applied to, such as DeviceMessages.

RoutingTwin

Twin reference input parameter. This is an optional parameter

TestResultStatus

Result of testing route

TestRouteInput

Input for testing route

TestRouteResult

Result of testing one route

TestRouteResultDetails

Detailed result of testing a route

ErrorDetails

Error details.

Name Type Description
code
  • string

The error code.

details
  • string

The error details.

httpStatusCode
  • string

The HTTP status code.

message
  • string

The error message.

Properties

Name Type Description
desiredProperties
  • object

Twin desired properties

reportedProperties
  • object

Twin desired properties

RouteCompilationError

Compilation error when evaluating route

Name Type Description
location

Location where the route error happened

message
  • string

Route error message

severity

Severity of the route error

RouteErrorPosition

Position where the route error happened

Name Type Description
column
  • integer

Column where the route error happened

line
  • integer

Line where the route error happened

RouteErrorRange

Range of route errors

Name Type Description
end

End where the route error happened

start

Start where the route error happened

RouteErrorSeverity

Severity of the route error

Name Type Description
error
  • string
warning
  • string

RouteProperties

The properties of a routing rule that your IoT hub uses to route messages to endpoints.

Name Type Description
condition
  • string

The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language

endpointNames
  • string[]

The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed.

isEnabled
  • boolean

Used to specify whether a route is enabled.

name
  • string

The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.

source

The source that the routing rule is to be applied to, such as DeviceMessages.

RoutingMessage

Routing message

Name Type Description
appProperties
  • object

App properties

body
  • string

Body of routing message

systemProperties
  • object

System properties

RoutingSource

The source that the routing rule is to be applied to, such as DeviceMessages.

Name Type Description
DeviceJobLifecycleEvents
  • string
DeviceLifecycleEvents
  • string
DeviceMessages
  • string
Invalid
  • string
TwinChangeEvents
  • string

RoutingTwin

Twin reference input parameter. This is an optional parameter

Name Type Description
properties
tags
  • object

Twin Tags

TestResultStatus

Result of testing route

Name Type Description
false
  • string
true
  • string
undefined
  • string

TestRouteInput

Input for testing route

Name Type Description
message

Routing message

route

Route properties

twin

Routing Twin Reference

TestRouteResult

Result of testing one route

Name Type Description
details

Detailed result of testing route

result

Result of testing route

TestRouteResultDetails

Detailed result of testing a route

Name Type Description
compilationErrors

JSON-serialized list of route compilation errors