Manage CloudMonitor (CMS) dataset resources — list, inspect, create, update, delete datasets and execute dataset-level queries — using the aliyun CLI.
Architecture: CMS Workspace + Dataset (Schema + Fields) + ExecuteQuery
Run aliyun version to verify if version >= 3.3.3. If not installed or outdated, follow the doc references/cli-installation-guide.md to install or update.
> [MUST] run aliyun configure set --auto-plugin-install true to enable automatic plugin installation.
> [MUST] run aliyun plugin update to ensure that any existing plugins are always up-to-date.
> At the start of the Core Workflow (before any CLI invocation):
> [MUST] Enable AI-Mode — AI-mode is required for Agent Skill execution.
> ```bash
> aliyun configure ai-mode enable
> aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-cms-dataset"
> ```
> [MUST] Disable AI-Mode at EVERY exit point — Before delivering the final response for ANY reason, always disable AI-mode first. This applies to ALL exit paths: workflow success, workflow failure, error/exception, user cancellation, session end, or any other scenario where no further CLI commands will be executed.
> ```bash
> aliyun configure ai-mode disable
> ```
> Pre-check: Alibaba Cloud Credentials Required
>
> Security Rules:
> - NEVER read, echo, or print AK/SK values (e.g., echo $ALIBABA_CLOUD_ACCESS_KEY_ID is FORBIDDEN)
> - NEVER ask the user to input AK/SK directly in the conversation or command line
> - NEVER use aliyun configure set with literal credential values
> - ONLY use aliyun configure list to check credential status
>
> ```bash
> aliyun configure list
> ```
> Check the output for a valid profile (AK, STS, or OAuth identity).
>
> If no valid profile exists, STOP here.
> 1. Obtain credentials from Alibaba Cloud Console
> 2. Configure credentials outside of this session (via aliyun configure in terminal or environment variables in shell profile)
> 3. Return and re-run after aliyun configure list shows a valid profile
See references/ram-policies.md for the full permission list.
Minimum required actions: cms:ListDatasets, cms:GetDataset, cms:CreateDataset, cms:UpdateDataset, cms:DeleteDataset, cms:ExecuteQuery.
> [MUST] Permission Failure Handling: When any command or API call fails due to permission errors at any point during execution, follow this process:
> 1. Read references/ram-policies.md to get the full list of permissions required by this SKILL
> 2. Use ram-permission-diagnose skill to guide the user through requesting the necessary permissions
> 3. Pause and wait until the user confirms that the required permissions have been granted
> IMPORTANT: Parameter Confirmation — Before executing any command or API call,
> ALL user-customizable parameters (e.g., RegionId, instance names, CIDR blocks,
> passwords, domain names, resource specifications, etc.) MUST be confirmed with the
> user. Do NOT assume or use default values without explicit user approval.
| Parameter | Required/Optional | Description | Default Value |
|---|---|---|---|
| --- | --- | --- | --- |
workspace | Required | CMS workspace ID | — |
dataset-name | Required (except ListDatasets) | Dataset name (4-63 chars) | — |
region | Optional | Region ID | CLI profile region |
schema | Required (CreateDataset) | Schema JSON object | — |
description | Optional | Dataset description | — |
query | Required (ExecuteQuery) | Query text | — |
type | Auto-filled (ExecuteQuery) | Query type placeholder. Always SQL, do not ask user | SQL |
max-results | Optional (ListDatasets) | Max results per page | — |
next-token | Optional (ListDatasets) | Pagination token for next page | — |
Dataset names and schema field names must satisfy:
Regex: ^a-z[a-z0-9_]{2,61}[a-z0-9]$
Invalid names must NOT be silently normalized. Ask the user for a valid replacement.
> [CRITICAL] Product Binding: All dataset operations in this skill use the cms product ONLY.
> The correct command pattern is aliyun cms .
> DO NOT use any other product for dataset operations — dataworks, adb, sls, maxcompute, opensearch, pai, dashvector, or any other service are WRONG for this scenario.
> If a command fails, check parameters and permissions — do NOT switch to a different product.
All commands use --api-version 2024-03-30. Do not pass --endpoint by default. Use --region (not --region-id) when specifying a region.
> [MUST] Before executing any dataset operation, call get-workspace to verify the workspace exists. Do NOT skip this step or use ListDatasets to infer workspace existence.
aliyun cms get-workspace --api-version 2024-03-30 \
--workspace <workspace>
If the workspace does not exist (returns error), create it via put-workspace:
aliyun cms put-workspace --api-version 2024-03-30 \
--workspace-name <workspace> \
--sls-project <sls-project>
--sls-project is required. If the user does not specify one, use the same value as the workspace name.
aliyun cms list-datasets --api-version 2024-03-30 \
--workspace <workspace> \
[--dataset-name <filter>] \
[--max-results <n>] \
[--next-token <token>]
aliyun cms get-dataset --api-version 2024-03-30 \
--workspace <workspace> \
--dataset-name <dataset-name>
Safety: Before creating, check whether the dataset already exists via ListDatasets. If the dataset already exists, inform the user and ask whether to proceed (the API will return an error for duplicates). Always call CreateDataset when the user requests creation — do not silently skip it.
Pass the schema JSON directly as a single-quoted string:
aliyun cms create-dataset --api-version 2024-03-30 \
--workspace <workspace> \
--dataset-name <dataset-name> \
--schema '{"message_text":{"type":"text","chn":true,"embedding":"text-embedding-v4"},"service_name":{"type":"text","chn":false}}' \
[--description "<description>"]
Schema rules:
--schema value is the field definitions object directly (not wrapped in an API body).type, optional chn, optional embedding, optional jsonKeys.type: "text" fields may enable embedding. Reject embedding on non-text fields.jsonKeys defines nested JSON key structures. Nested keys support type and chn only (no embedding):{
"event_data": {
"type": "text",
"chn": false,
"jsonKeys": {
"source": {
"type": "text",
"chn": false
},
"message": {
"type": "text",
"chn": true
}
}
}
}
Safety: Read and show the current description before updating.
Limitation: UpdateDataset can only modify the description. Schema cannot be updated through this API. If the user needs to change the schema, they must delete and recreate the dataset.
# Show current state
aliyun cms get-dataset --api-version 2024-03-30 \
--workspace <workspace> --dataset-name <dataset-name>
# Update after user confirms
aliyun cms update-dataset --api-version 2024-03-30 \
--workspace <workspace> \
--dataset-name <dataset-name> \
--description "<new-description>"
Safety: Read and show the dataset, then ask for explicit confirmation identifying workspace and dataset name before deleting.
# Show dataset to confirm
aliyun cms get-dataset --api-version 2024-03-30 \
--workspace <workspace> --dataset-name <dataset-name>
# Delete after explicit confirmation
aliyun cms delete-dataset --api-version 2024-03-30 \
--workspace <workspace> \
--dataset-name <dataset-name>
Safety: When possible, inspect the dataset schema first via GetDataset so field names come from the actual schema.
aliyun cms execute-query --api-version 2024-03-30 \
--workspace <workspace> \
--dataset-name <dataset-name> \
--type SQL \
--query '<query>'
--type is a required placeholder. Always pass SQL.See references/verification-method.md for step-by-step verification commands for each operation.
To remove a dataset created during this session:
aliyun cms delete-dataset --api-version 2024-03-30 \
--workspace <workspace> \
--dataset-name <dataset-name>
See references/related-commands.md for the full command reference.
| Command | Description |
|---|---|
| --- | --- |
aliyun cms get-workspace | Verify workspace exists |
aliyun cms put-workspace | Create or update a workspace |
aliyun cms list-datasets | List datasets in a workspace |
aliyun cms get-dataset | Get dataset details and schema |
aliyun cms create-dataset | Create a new dataset with schema |
aliyun cms update-dataset | Update dataset description |
aliyun cms delete-dataset | Delete a dataset |
aliyun cms execute-query | Execute a query against a dataset |
--api-version 2024-03-30 — the default CMS version (2019-01-01) does not support dataset operations.--region (not --region-id) when specifying a region explicitly.--endpoint unless explicitly required; if needed, use cms..aliyuncs.com .--type SQL as a required placeholder.--schema to avoid temporary file management.cms command fails, debug parameters/permissions — do not try dataworks, adb, sls, maxcompute, or other products. The "workspace" in this skill is a CMS workspace, not a DataWorks/SLS/MaxCompute project.--read-timeout 30 --connect-timeout 10 for metadata operations (list/get/create/update/delete). For ExecuteQuery use --read-timeout 120 --connect-timeout 10 as queries may take longer.| Reference | Description |
|---|---|
| --- | --- |
| references/ram-policies.md | RAM permission requirements |
| references/related-commands.md | Full CLI command reference |
| references/verification-method.md | Success verification steps |
| references/acceptance-criteria.md | Correct/incorrect pattern examples |
| references/cli-installation-guide.md | CLI installation guide |
共 1 个版本