Iot Hub Resource - Test All Routes

Test all routes configured in this Iot Hub

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall?api-version=2023-06-30

URI Parameters

Name In Required Type Description
iotHubName
path True

string

IotHub to be tested

resourceGroupName
path True

string

resource group which Iot Hub belongs to

subscriptionId
path True

string

The subscription identifier.

api-version
query True

string

The version of the API.

Request Body

Name Type Description
message

RoutingMessage

Routing message

routingSource

RoutingSource

Routing source

twin

RoutingTwin

Routing Twin Reference

Responses

Name Type Description
200 OK

TestAllRoutesResult

OK

Other Status Codes

ErrorDetails

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_TestAllRoutes

Sample request

POST https://management.azure.com/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/routing/routes/$testall?api-version=2023-06-30

{
  "routingSource": "DeviceMessages",
  "message": {
    "body": "Body of message",
    "appProperties": {
      "key1": "value1"
    },
    "systemProperties": {
      "key1": "value1"
    }
  }
}

Sample response

{
  "routes": [
    {
      "properties": {
        "name": "Routeid",
        "source": "DeviceMessages",
        "endpointNames": [
          "id1"
        ],
        "isEnabled": true
      }
    }
  ]
}

Definitions

Name Description
ErrorDetails

Error details.

MatchedRoute

Routes that matched

Properties
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

TestAllRoutesInput

Input for testing all routes

TestAllRoutesResult

Result of testing all routes

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.

MatchedRoute

Routes that matched

Name Type Description
properties

RouteProperties

Properties of routes that matched

Properties

Name Type Description
desired

object

Twin desired properties

reported

object

Twin desired properties

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

RoutingSource

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
DeviceConnectionStateEvents

string

DeviceJobLifecycleEvents

string

DeviceLifecycleEvents

string

DeviceMessages

string

Invalid

string

TwinChangeEvents

string

RoutingTwin

Twin reference input parameter. This is an optional parameter

Name Type Description
properties

Properties

tags

object

Twin Tags

TestAllRoutesInput

Input for testing all routes

Name Type Description
message

RoutingMessage

Routing message

routingSource

RoutingSource

Routing source

twin

RoutingTwin

Routing Twin Reference

TestAllRoutesResult

Result of testing all routes

Name Type Description
routes

MatchedRoute[]

JSON-serialized array of matched routes