All Products
Search
Document Center

ApsaraMQ for MQTT:Manage rules for client status notifications

Last Updated:Mar 18, 2024

When an ApsaraMQ for MQTT client comes online or goes offline, the ApsaraMQ for MQTT broker pushes a client status notification to an Alibaba Cloud service based on the rule that you configured. Backend service applications deployed on Elastic Compute Service (ECS) instances can subscribe to client status notifications from the Alibaba Cloud service to receive notifications when ApsaraMQ for MQTT clients come online or go offline.

Process

上下线事件流出

Limits

Item

Limit

Description

Number of rules for a single instance

100

If the default value does not meet your business requirements, join DingTalk group 35228338 to contact the ApsaraMQ for MQTT technical support.

Rule deduplication

Only one rule of the same type can be created for each internal resource.

For example, you can create only one rule for client status notification for each group ID, and one data inbound rule and one data outbound rule for each topic on ApsaraMQ for MQTT.

Limits on regions

You cannot create rules across regions. The instances to which the data source and data destination in a rule belong must reside in the same region.

For example, if you create a data outbound rule in which the data source is specified as ApsaraMQ for MQTT in the China (Hangzhou) region, you can select only an ApsaraMQ for RocketMQ instance in the China (Hangzhou) region as the data destination.

ApsaraMQ for MQTT instance version

You can create rules for only instances whose kernel version is V3.x.x.

You can view the kernel version of an ApsaraMQ for MQTT instance in the instance list or on the Instance Details page in the ApsaraMQ for MQTT console.

ApsaraMQ for RocketMQ instance version

Only ApsaraMQ for RocketMQ 4.0 instances are supported.

When you exchange data between ApsaraMQ for MQTT and ApsaraMQ for RocketMQ by using a data inbound rule or a data outbound rule, you can use only ApsaraMQ for RocketMQ 4.0 instances.

Create a rule for client status notifications

  1. Log on to the ApsaraMQ for MQTT console. In the left-side navigation pane, click Instances.

  2. In the top navigation bar, select the region where the instance that you want to manage resides. On the Instances page, click the instance name to go to the Instance Details page.

  3. In the left-side navigation pane, click Rules. In the upper-left corner of the Rules page, click Create Rule.

  4. On the Create Rule page, perform the following steps:

    1. In the Configure Basic Information step, configure the following parameters and click Next.

      Parameter

      Example

      Description

      Rule ID

      111111

      The ID of the rule. An ID is a globally unique identifier of a rule.

      • A rule ID can contain only letters, digits, hyphens (-), and underscores (_) and must contain at least one letter or digit.

      • A rule ID must be 3 to 64 characters in length. If the value contains more than 64 characters, it is automatically truncated.

      • The ID of a rule cannot be updated after the rule is created.

      Description

      migrate from rocketmq

      The description of the rule.

      Status

      Enable

      Specifies whether to enable the current rule. Valid values:

      • Enable

      • Disable

      Rule Type

      Client Status Notification

      The type of the rule. Valid values:

    2. In the Configure Rule Source step, specify the data source and click Next.

      Parameter

      Example

      Description

      Group ID

      GID_Client_Status

      The group ID of the devices from which the event data is exported. For information about group IDs, see Terms.

    3. In the Configure Rule Destination step, specify the destination to which the data is forwarded and click Create.

      Parameter

      Example

      Description

      Destination Service Type

      Message Queue for Apache RocketMQ

      The cloud service to which you want to forward the event data of a ApsaraMQ for MQTT client.

      Note

      Only ApsaraMQ for RocketMQ is supported.

      Message Queue for Apache RocketMQ Instance

      MQ_INST_13801563067*****_BbyOD2jQ

      The ID of the ApsaraMQ for RocketMQ instance to which the data is forwarded.

      Note

      You can select only an instance that resides in the same region as the ApsaraMQ for MQTT instance.

      Topic

      TopicB

      The ApsaraMQ for RocketMQ topic to which the data is forwarded. In this example, the notifications about the online or offline events of a ApsaraMQ for MQTT client are forwarded to Topic B.

    You can view the client status notification rule that you create on Rules page.

Note For more information about the message structure mappings between ApsaraMQ for MQTT and ApsaraMQ for RocketMQ, see Message structure mappings between Message Queue for MQTT and Message Queue for Apache RocketMQ.

Edit a rule for client status notifications

  1. In the rule list, find the rule that you want to edit. In the Actions column, choose More > Edit.

  2. On the Edit Rule page, you can change all parameter values except the rule ID.

  3. After you change the parameter values, click Save in the Configure Rule Destination step.

Delete a rule for client status notifications

  1. In the rule list, find the rule that you want to delete. In the Actions column, choose More > Delete.

  2. In the message that appears, click OK.

Enable a rule for client status notifications

  1. In the rule list, find the rule that you want to enable. In the Actions column, choose More > Enable.

  2. In the message that appears, click OK.

Disable a rule for client status notifications

  1. In the rule list, find the rule that you want to disable. In the Actions column, choose More > Disable.

  2. In the message that appears, click OK.