huaweicloud/huaweicloud-skills

huawei-cloud-functiongraph-trigger-create

Create and configure scheduled TIMER triggers for Huawei Cloud FunctionGraph functions using Quartz Cron expressions.

View source
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

Overview

This skill enables the creation and configuration of scheduled triggers (TIMER type) for Huawei Cloud FunctionGraph functions. It supports Quartz Cron expression format for flexible scheduling configurations.

The trigger allows automatic execution of serverless functions at specified time intervals, making it ideal for:

  • Periodic data processing tasks
  • Scheduled backup operations
  • Regular monitoring and health checks
  • Time-based notification systems

Prerequisites

Before using this skill, ensure the following requirements are met:

  1. Python Environment: Python 3.9+ installed
  2. SDK Installation: Install FunctionGraph SDK: pip install huaweicloudsdkfunctiongraph
  3. Environment Variables: Configure the following environment variables:
  • HUAWEI_AK: Huawei Cloud Access Key
  • HUAWEI_SK: Huawei Cloud Secret Key
  • HUAWEI_REGION: Target region (e.g., cn-north-4)
  • HUAWEI_PROJECT_ID: Project ID
  1. FunctionGraph Function: Target function must already exist in the specified region
  2. Network Access: Stable network connection to Huawei Cloud API endpoints

Usage

Basic Command Structure

bash
cd scripts
python create_trigger.py \
    --function-urn "urn:fss:cn-north-4:project_id:function:default:my-function:latest" \
    --name "daily-trigger" \
    --schedule "0 0 2 * * ?" \
    --schedule-type "Cron" \
    --status "ACTIVE"

Examples

Cron Expression Trigger

bash
cd scripts
python create_trigger.py \
    --function-urn "urn:fss:cn-north-4:project_id:function:default:my-function:latest" \
    --name "daily-trigger" \
    --schedule "0 0 8 * * ?" \
    --schedule-type "Cron"

Fixed Rate Trigger

bash
cd scripts
python create_trigger.py \
    --function-urn "urn:fss:cn-north-4:project_id:function:default:my-function:latest" \
    --name "every-5min" \
    --schedule "5m" \
    --schedule-type "Rate"

Cron Expression Format

FunctionGraph uses Quartz Cron format with 6 or 7 fields:

┌───────────── second (0-59)
│ ┌───────────── minute (0-59)
│ │ ┌───────────── hour (0-23)
│ │ │ ┌───────────── day of month (1-31)
│ │ │ │ ┌───────────── month (1-12)
│ │ │ │ │ ┌───────────── day of week (1-7, 1=Sunday)
│ │ │ │ │ │
* * * * * ?

For detailed Cron expression reference including special characters and common examples, see Cron Expression Reference.

Parameters Confirmation

Before creating the trigger, confirm the following parameters:

ParameterRequiredDescriptionExample
function_urnYesTarget function URNurn:fss:cn-north-4:xxx:function:default:my-func:latest
trigger_nameYesTrigger name (1-64 chars)daily-trigger
scheduleYesCron expression or Rate value0 0 2 * * ? or 5m
schedule_typeNoCron (default) or RateCron
enable_statusNoACTIVE (default) or DISABLEDACTIVE
user_eventNoAdditional user event dataoptional info

Confirmation Checklist

  • [ ] Function URN is correct and function exists
  • [ ] Cron expression has been validated
  • [ ] Trigger name follows naming conventions
  • [ ] IAM permissions are sufficient
  • [ ] Region matches the function location

Output Format

Success Response

json
{
    "status": "success",
    "trigger_id": "timer-xxx-xxx-xxx",
    "trigger_name": "daily-trigger",
    "trigger_type": "TIMER",
    "schedule": "0 0 2 * * ?",
    "enable_status": "ACTIVE",
    "message": "Trigger created successfully"
}

Error Response

json
{
    "status": "failed",
    "error_code": "TriggerAlreadyExists",
    "message": "Trigger with the same name already exists"
}

For complete error codes and troubleshooting information, see Cron Expression Reference.

Verification Method

After creating the trigger, verify the configuration:

1. List Function Triggers

Navigate to FunctionGraph console → Function details → Triggers tab to view all triggers

2. Check Trigger Details

Navigate to FunctionGraph console → Function details → Triggers → View trigger details

3. Monitor Trigger Execution

Navigate to FunctionGraph console → Function details → Triggers → View execution history

Expected indicators:

  • Trigger status: Active
  • Next execution time: Correctly calculated
  • Execution history: No failed invocations

Best Practices

Cron Expression Best Practices

  1. Avoid frequent executions: Use intervals ≥ 5 minutes unless necessary
  2. Consider timezone: FunctionGraph uses UTC by default
  3. Use `?` for unused day field: Either day-of-month or day-of-week should use ?
  4. Validate before creation: Test expressions using online Cron validators

Naming Conventions

  • Use descriptive names: daily-data-sync, hourly-health-check
  • Follow pattern: [frequency]-[purpose]
  • Maximum 64 characters
  • Use lowercase with hyphens

Security Considerations

  1. Least privilege: Grant minimal IAM permissions
  2. Enable encryption: Use KMS for sensitive function inputs
  3. Monitor executions: Set up Cloud Eye alarms for failures
  4. Rate limiting: Configure appropriate retry parameters

Operational Recommendations

  1. Start with disabled status for testing
  2. Document trigger purpose in description field
  3. Set appropriate retries for transient failures
  4. Monitor first executions after enabling

Reference Documents

For detailed information, refer to:

Important Notes

Compatibility Notes

This skill is designed to work with Huawei Cloud FunctionGraph API. The tags field helps with skill discovery and categorization, while the version field follows semantic versioning for skill updates.

Limitations

  1. Maximum triggers: Each function supports up to 10 triggers by default
  2. Cron precision: Second-level scheduling may have minor delays
  3. Timeout handling: Function timeout should be less than trigger interval
  4. Cold start: First executions may have additional latency

Cost Implications

  • No additional cost for trigger configuration
  • Function execution billed per invocation
  • Consider execution frequency for cost optimization

Common Pitfalls

  1. Wrong timezone: Remember FunctionGraph uses UTC
  2. Overlapping schedules: Multiple triggers may cause concurrent executions
  3. Long-running functions: Ensure function completes before next trigger
  4. Cron syntax errors: Validate expression format before deployment

For troubleshooting and error codes, refer to Cron Expression Reference.


Related Skills:

  • huawei-cloud-functiongraph-function-create
  • huawei-cloud-functiongraph-deploy
from this repository

More skills

All skills
huaweicloud
Community

huawei-cloud-billing-scout

Huawei Cloud BSS billing (not AWS/Azure/other clouds; refuses pricing quotes, real-name review, and any non-billing scope): balance, spend, attribution, reconciliation, coupons, stored-value cards, enterprise/partner billing. One-page briefing via hcloud. Use only when the user explicitly mentions 华为云 / Huawei Cloud / BSS and 余额/账单/对账/资源包/代金券/储值卡/企业或伙伴账务; refuses pay, renew, refund, delete.

installs
242
GitHub stars
20
Updated
31 de ago.
huaweicloud
Community

huawei-cloud-cci-instance-management

Huawei Cloud CCI Container Instance Lifecycle Management Overview Manage Huawei Cloud CCI (Cloud Container Instance) full lifecycle using hcloud CLI (KooCLI). CCI is a serverless container service — no cluster management needed, just create a Namespace, define a Network, then deploy workloads directly. Architecture : hcloud CLI → CCI OpenAPI → Namespace / Network / Deployment / StatefulSet / Pod / EIPPool / Service / Ingress Constraints and Rules Security Rules Two step confirmation : All destructive operations (delete Namespace/Network/Deployment/StatefulSet/Pod/EIPPool) require explicit user confirmation — preview command, resource details, and risk warning first; execute only after user confirms. Credential security : Never expose AK/SK values in conversation, commands, or output. Only use hcloud configure list to check credential status (presence only). Prefer profile mode or environ

installs
242
GitHub stars
20
Updated
31 de ago.
huaweicloud
Community

huawei-cloud-computing-query

Queries Huawei Cloud computing resources (ECS/BMS/IMS/AS), Covers ECS instances, flavors, keypairs, quotas, server groups, block devices, NICs, VNC console, BMS bare metal servers/flavors/quotas, IMS images/OS versions/members/quotas, and AS scaling groups/configs/policies/activity logs/lifecycle hooks/warm pools/quotas. No write operations. Use this skill when the user needs to query ECS instance details, list flavors, check BMS availability, browse images, or view auto-scaling group/policy status. Triggers: 弹性云服务器, ECS, 裸金属, BMS, 镜像, IMS, 弹性伸缩, AS, 伸缩组, 伸缩策略, 规格查询, flavor, instance, image, scaling.

installs
242
GitHub stars
20
Updated
31 de ago.
huaweicloud
Community

huawei-cloud-find-skills

Invoke this skill to search, discover, browse, find and install any Huawei Cloud (华为云) agent skill.Triggers include: "华为云","华为云有什么skill","华为云相关skill","华为云agent skill 市场","华为云skill类目","explore Huawei Cloud skills","show Huawei Cloud skill categories","does a Huawei Cloud skill exist for...","which Huawei Cloud skills exist","搜索华为云技能","有没有管理ECS/OBS/RDS的skill","帮我找 XX 华为云skill","介绍 XX Skill 内容","华为云 XX Skill 具体做什么","安装华为云Skill".

installs
242
GitHub stars
20
Updated
31 de ago.