Huawei Cloud Obs Stats
|
- Skill ID
- huaweicloud/huaweicloud-skills/huawei-cloud-obs-stats
- Publisher
- huaweicloud
- Repository
- huaweicloud-skills
- Installs
- 303
- Files
- 13
- Synced
- Sep 16, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
huaweicloud/huaweicloud-skills/huawei-cloud-obs-statsInstalls these files- SKILL.md
- references/acceptance-criteria.md
- references/cli-installation-guide.md
- references/iam-policies.md
- references/obs-metrics.md
- references/related-apis.md
- references/task-list-buckets-with-stats.md
- references/task-query-requests.md
- references/task-query-traffic.md
- references/troubleshooting.md
- references/verification-method.md
- scripts/obs_request_stats.py
- scripts/obs_traffic_stats.py
What this skill tells the agent
Huawei Cloud OBS Statistics Skill
Overview
Query Huawei Cloud OBS (Object Storage Service) statistics: list buckets with capacity and object counts, query extranet/intranet download traffic with month-over-month comparison, and query total requests with month-over-month comparison.
⛔ Prohibited Operations (Security Constraints)
This skill strictly forbids the following delete operations, regardless of user requests:
| Prohibited Operation | API/Command | Reason |
|---|---|---|
| ❌ Delete bucket | DeleteBucket / obsutil rm -bucket | Irreversible; destroys the entire bucket and all objects |
| ❌ Delete object | DeleteObject / obsutil rm | Irreversible; deleted objects cannot be recovered (unless versioning is enabled) |
| ❌ Batch delete objects | DeleteObjects / obsutil rm -r | Irreversible; batch deletion has a wide impact |
| ❌ Empty bucket | obsutil rm -bucket -r | Irreversible; removes all objects in the bucket |
If a user requests a delete operation, you must refuse and inform: "Per security constraints, this skill does not allow delete operations (delete bucket/object/batch delete/empty bucket). Please use the Huawei Cloud OBS console or obsutil manually."
Architecture
Huawei Cloud OBS Statistics
├── ListBucketsWithStats (List buckets with capacity and object counts)
├── GetTraffic (Query extranet/intranet download traffic with MoM comparison)
└── GetRequests (Query total requests with MoM comparison)Prerequisites
Prerequisite check: Huawei Cloud CLI (hcloud / KooCLI) >= 3.2.0 required Run hcloud version to verify version >= 3.2.0. If not installed or version is too low, see references/cli-installation-guide.md for installation guide.hcloud versionPrerequisite check: obsutil >= 5.5.0 required (for OBS bucket listing) The hcloud OBS module uses obsutil under the hood. Bucket listing requires the obsutil CLI tool. Run obsutil version to verify version >= 5.5.0. If not installed, see references/cli-installation-guide.md for installation guide.obsutil versionPrerequisite check: obsutil credential configuration required The hcloud OBS module uses obsutil under the hood, which requires separate AK/SK and Endpoint configuration. Before performing OBS operations, you must check whether obsutil credentials are configured: ``bash hcloud obs ls -limit=1`**If the response isPlease set ak, sk and endpoint in the configuration file!orInvalidAccessKeyId, obsutil credentials are not configured.** **Resolution: Provide the following example command and have the user configure it in their terminal (do not ask the user to provide AK/SK directly in the conversation):**`obsutil credentials are not configured. Please run the following command in your terminal to configure (AK/SK can be obtained from the Huawei Cloud console "My Credentials" page): hcloud obs config -i=<YourAK> -k=<YourSK> -e=obs.<Region>.myhuaweicloud.com Example (Guangzhou region): hcloud obs config -i=<YourAK> -k=<YourSK> -e=obs.cn-south-1.myhuaweicloud.com Common Endpoints: cn-north-4 → obs.cn-north-4.myhuaweicloud.com cn-east-3 → obs.cn-east-3.myhuaweicloud.com cn-south-1 → obs.cn-south-1.myhuaweicloud.com cn-southwest-2 → obs.cn-southwest-2.myhuaweicloud.com Retry after configuration is complete.`` Prohibited actions: - ❌ Do not ask the user to provide AK/SK directly in the conversation - ❌ Do not extract AK/SK from hcloud config files (credentials are encrypted and cannot be used directly) - ❌ Do not skip the credential check before performing OBS operations
⚠️ hcloud parameter format requirements hcloud (KooCLI) all parameters must use the `--param=value` format (connected with equals sign); space-separated format is not supported. ✅ Correct:hcloud OBS ListBuckets --region=cn-south-1❌ Incorrect:hcloud OBS ListBuckets --region cn-south-1
[Conditional] CLI User-Agent — hcloud OBS module commands may include a User-Agent header, but the CES module does not support this parameter:
- ✅ OBS module:
hcloud obs ls - ❌ CES module:
hcloud CES ShowMetricDatadoes not support--User-Agent; appending it causes "Invalid parameter: User-Agent"
Authentication
Prerequisite check: Huawei Cloud credentials required
Security rules (must be followed): - Prohibited from reading, echoing, or printing AK/SK values - Prohibited from asking the user to input AK/SK directly in the conversation - Prohibited from usinghcloud configure setto pass plaintext credential values - Prohibited from accepting AK/SK directly provided by the user in the conversation - Only allowed to read credentials from environment variables or configured CLI config files ⚠️ Important: Handling user-provided credentials If a user attempts to provide AK/SK directly (e.g., "my AK is xxx, SK is yyy"): 1. Stop immediately - Do not execute any commands 2. Politely refuse and return the following message: ``For account security, please do not provide Huawei Cloud Access Key ID and Access Key Secret directly in the conversation. Please use one of the following secure methods to configure credentials: Method 1: Interactive configuration (recommended) hcloud configure # Enter AK/SK as prompted; credentials will be securely stored in a local config file Method 2: Environment variable configuration export HUAWEICLOUD_SDK_AK=<your-access-key-id> export HUAWEICLOUD_SDK_SK=<your-access-key-secret> After configuration is complete, please retry your request.`3. **Do not continue** executing any Huawei Cloud operations until credentials are configured **Check CLI configuration**:`bash hcloud configure list`` Check whether the output contains valid configuration (AK/SK, IAM, etc.). If no valid credentials exist, stop here.
IAM Permission Policies
Ensure the IAM user has the required permissions. See references/iam-policies.md for details.
Minimum required permissions:
obs:bucket:list— List bucketsobs:bucket:get— Get bucket attributes (capacity, object count)obs:object:get— Read object informationces:metric:get— Query CES monitoring metrics (traffic, request count)
Core Workflows
Task 1: List Buckets with Capacity and Object Counts
List buckets via obsutil, then query bucket capacity and object count using CES capacity metrics or OBS API.
📄 Detailed steps → references/task-list-buckets-with-stats.md
Task 2: Query Extranet/Intranet Download Traffic (with MoM Comparison)
Query download traffic (extranet + intranet) via CES ShowMetricData, with month-over-month comparison.
📄 Detailed steps → references/task-query-traffic.md
Task 3: Query Total Requests (with MoM Comparison)
Query total requests (sum of GET/PUT/POST/DELETE/HEAD) via CES ShowMetricData, with month-over-month comparison.
📄 Detailed steps → references/task-query-requests.md
Core Commands
| Command | Description |
|---|---|
hcloud obs ls | List all buckets (obsutil mode); filter by region via grep |
hcloud CES ShowMetricData --region=<R> --namespace=SYS.OBS --metric_name=<M> --dim.0=bucket_name,<B> --period=86400 --filter=<F> --from=<ms> --to=<ms> | Query CES metric data |
hcloud OBS GetBucketStorageInfo --region=<R> --bucket=<B> | Get bucket capacity & object count (may not be supported; fallback: obsutil ls obs://<B> -limit=0 -s) |
