Create a Device Group
Function
This API is used by an application to create a device group. Up to 1000 device groups, including parent device groups and child device groups, can be created in a Huawei Cloud account. The maximum number of group levels is five. It means that the relationship tree of groups can have up to five levels.
Debugging
You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.
Authorization Information
Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions.
- If you are using role/policy-based authorization, see Permissions Policies and Supported Actions for details on the required permissions.
- If you are using identity policy-based authorization, the following identity policy-based permissions are required.
Action
Access Level
Resource Type (*: required)
Condition Key
Alias
Dependencies
iotda:group:create
Write
app *
-
-
-
-
g:EnterpriseProjectId
URI
POST /v5/iot/{project_id}/device-group
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| project_id | Yes | String | Parameter description: project ID. For details about how to obtain the project ID, see Obtaining a Project ID. |
Request Parameters
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| Instance-Id | No | String | Parameter description: instance ID. Unique identifier of each instance in the physical multi-tenant scenario. Mandatory for professional editions and recommended in other cases. Log in to the IoTDA console and choose Overview in the navigation pane to view the instance ID. For details, see Viewing Instance Details. |
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| name | No | String | Parameter description: device group name, which must be unique in a single resource space. Value: The value can contain a maximum of 64 characters. Only letters, digits, underscores (_), and question marks (?) are allowed. '#().,& %@!-. |
| description | No | String | Parameter description: device group description. Value: The value can contain a maximum of 64 characters. Only letters, digits, underscores (_), and question marks (?) are allowed. '#().,& %@!-. |
| super_group_id | No | String | ** Parameter description**: parent device group ID. If this parameter is carried, a child device group is created in the device group. Dynamic groups do not support this parameter. Value: The value can contain a maximum of 36 characters, including hexadecimal strings and hyphens (-). |
| app_id | No | String | Parameter description: resource space ID. This parameter is optional. If you have multiple resource spaces, you can use this parameter to specify the resource space to which the device group to create will belong. If this parameter is not specified, the device group to create will belong to the default resource space. Value: The value can contain a maximum of 36 characters. Only letters, digits, underscores (_), and hyphens (-) are allowed. |
| group_type | No | String | Parameter description: device group type. A static device group is used by default. When a dynamic device group is used, enter the dynamic device group rule. Range:
|
| dynamic_group_rule | No | String | Parameter description: The syntax of the dynamic device group rule must be the same as that of Query Device List Flexibly. You only need to enter the where clause. |
Response Parameters
Status code: 201
| Parameter | Type | Description |
|---|---|---|
| group_id | String | Device group ID. The ID is unique and is allocated by the platform during device group creation. |
| name | String | Device group name, which must be unique in a single resource space. |
| description | String | Device group description. |
| super_group_id | String | ID of the parent device group. |
| group_type | String | Parameter description: device group type. A static device group is used by default. When a dynamic device group is used, enter the dynamic device group rule. Range:
|
| dynamic_group_rule | String | Dynamic device group rule. |
Example Requests
-
Creates a static device group named GroupA.
POST https://{endpoint}/v5/iot/{project_id}/device-group { "name" : "GroupA", "description" : "GroupA", "super_group_id" : "04ed32dc1b0025b52fe3c01a27c2b0a8", "app_id" : "jeQDJQZltU8iKgFFoW060F5SGZka", "group_type" : "STATIC" } -
Creates a dynamic device group named GroupA.
POST https://{endpoint}/v5/iot/{project_id}/device-group { "name" : "GroupA", "description" : "GroupA", "app_id" : "jeQDJQZltU8iKgFFoW060F5SGZka", "dynamic_group_rule" : "product_id = '63fef97897bacf7a56438cba'", "group_type" : "DYNAMIC" }
Example Responses
Status code: 201
Created
{
"group_id" : "04ed32dc1b0025b52fe3c01a27c2babc",
"name" : "GroupA",
"description" : "GroupA",
"super_group_id" : "04ed32dc1b0025b52fe3c01a27c2b0a8",
"group_type" : "STATIC",
"dynamic_group_rule" : null
} Status Codes
| Status Code | Description |
|---|---|
| 201 | Created |
| 400 | Bad Request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |
| 500 | Internal Server Error |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot