| name | huawei-cloud-obs-bucket-create |
| description | Skill specialized for creating buckets on Huawei Cloud OBS. Use this skill when users need to create OBS buckets, set bucket properties, configure access permissions, or need guidance on the bucket creation process. Trigger conditions: "创建OBS桶", "华为云存储桶", "存储空间创建", "create OBS bucket", "Huawei Cloud storage bucket", "OBS bucket", "Huawei Cloud bucket", "storage creation" or when setting up Huawei Cloud object storage.
|
| tags | ["huawei-cloud","obs","storage","bucket"] |
Huawei Cloud OBS Bucket Create Skill
Overview
This skill is used for creating buckets on Huawei Cloud Object Storage Service (OBS). It provides a simple, interactive bucket creation process, including bucket name validation, region selection, access permission configuration, and other advanced options.
Applicable Scenarios:
- Creating new buckets on Huawei Cloud OBS
- Setting bucket access permissions and policies
- Configuring bucket region and storage class
- Validating bucket names against specifications
- Batch creation of multiple buckets
Prerequisites
1. Huawei Cloud CLI Tool Installed
Required check: Huawei Cloud CLI (hcloud / KooCLI) >= 3.2.0
hcloud version
If not installed, or version is lower than 3.2.0, refer to cli-installation-guide.md for KooCLI installation.
KooCLI has built-in obsutil tool, if KooCLI version check passes, obsutil check can be skipped.
2. Huawei Cloud Credentials Configured
- Valid Huawei Cloud OBS credentials (AK/SK mode)
hcloud obs ls -s
If Huawei Cloud credentials are not configured, prompt the user to execute the following command:
hcloud OBS config -i="<Your AK>" -k="<Your SK>" -e="obs.<Region>.myhuaweicloud.com"
Huawei Cloud OBS credentials do not inherit from Huawei Cloud credentials and need to be set separately.
- Security Rules:
- 🚫 Do not directly enter AK/SK values in plain text.
- 🚫 Never expose AK/SK values, do not extract AK/SK from hcloud configuration files.
- ✅ Only use
hcloud configure list to check credential status.
Core Workflow
Bucket name bucket-name is a required condition for creating an OBS bucket. If the context does not specify a bucket name, prompt the user that a specific bucket name is needed, no other text prompts required.
Step 1: Validate Bucket Name
Bucket name rules are as follows:
- 3-63 characters, starting with a number or letter, supporting lowercase letters, numbers, "-", ".".
- IP address format is not allowed.
- Cannot start or end with "-" or ".".
- Two adjacent "." are not allowed (e.g., "my..bucket").
- Adjacent "." and "-" are not allowed (e.g., "my-.bucket" and "my.-bucket")."
If the bucket name does not comply with the specification. Remind the user to reset the bucket name.
Step 2: Select Region
Get the region for the OBS bucket to be created from the context. If no region is specified, use the "endpoint" parameter in the ~/.obsutilconfig file as the region by default.
Return prompt text:
Once a bucket is created successfully, the region cannot be changed, please choose carefully. The region you want to create the bucket in is ${region}
Step 3: Create Bucket
hcloud OBS mb obs://bucket-name [-acl=xxx] [-location=xxx] [-fs] [-az=xxx] [-sc=xxx]
./scripts/batch_create_buckets.sh <bucket-name-prefix> <regions>
Step 4: Validate Success (Optional)
hcloud OBS ls
hcloud OBS stat obs://bucket-name
If the bucket list contains the bucket name created this time and the bucket information is output normally, prompt that the creation is successful and list the basic information of the bucket.
Core Commands
Create Storage Bucket
hcloud OBS mb obs://bucket-name [-acl=xxx] [-location=xxx] [-fs] [-az=xxx] [-sc=xxx]
| Option | Description | Possible Values |
|---|
-acl=xxx | Access Control List | private, public-read, public-read-write |
-location=xxx | Region | cn-north-4, cn-east-2, etc. |
-az=xxx | Availability Zone | multi-az |
-sc=xxx | Default Storage Class | standard, warm, cold, deep-archive |
List Storage Buckets
hcloud OBS ls
View Storage Bucket Properties
hcloud OBS stat obs://${bucket-name}
Parameter Confirmation
Required Parameters
- bucket-name: Storage bucket name, must comply with OBS naming convention (3-63 characters, lowercase letters, numbers, hyphens, dots, not starting or ending with hyphen or dot)
Optional Parameters
- region: Region code, such as cn-north-4 (North China-Beijing 4), cn-east-2 (East China-Shanghai 2)
- acl: Access permission, default private
- storage-class: Storage class, default standard
- az: Availability zone, default single availability zone, can be set to multi-az (multi-availability zone)
Best Practices
- Naming Convention: Use meaningful bucket names, such as
project-name-environment-purpose-20250527
- Region Selection: Choose the region closest to users to reduce latency, Beijing 4 (cn-north-4) is a commonly used region
- Access Control: Use private ACL by default, only open public-read when needed
- Storage Class: Choose based on access frequency:
- Standard storage (standard): Frequently accessed data
- Infrequent access storage (warm): Infrequently accessed data
- Archive storage (cold): Rarely accessed data
- Deep archive storage (deep-archive): Very rarely accessed data
- Batch Creation: Use
batch_create_buckets.sh script to batch create multiple buckets
- Version Control: Consider enabling bucket version control to prevent accidental deletion
Notes
- Bucket Name Uniqueness: Bucket name is globally unique in Huawei Cloud OBS, cannot be duplicated with other users
- Region Immutability: Cannot change the bucket region after creation
- Cost: Storage buckets are free, but storing data, requests, and traffic will incur costs
- Security: Do not hard-code AK/SK in scripts, use environment variables or configuration files
- Permissions: Ensure the user executing the command has sufficient OBS permissions
- Network: Ensure network can access Huawei Cloud OBS service endpoints
- Quota: Check account's OBS bucket quantity quota
- Deletion Protection: Important buckets can enable deletion protection to prevent accidental deletion
Reference Documentation