
huawei-cloud-functiongraph-trigger-create
Create and configure scheduled TIMER triggers for Huawei Cloud FunctionGraph functions using Quartz Cron expressions. Use this skill when users ask to create triggers, schedule function execution, set up periodic tasks, or configure timers for functions. Triggered by keywords like "create trigger", "set up trigger", "schedule function", "periodic task", "timer", "cron", "创建云函数触发器", "配置云函数触发器", "云函数定时触发", "定时执行", "定时任务", "创建定时器", "FunctionGraph trigger", "schedule function execution".
- Installs
- 17K
- Last 24h
- +104
- Trending rank
- #1933
- Security
- Pass
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/huaweicloud/huaweicloud-skills --skill huawei-cloud-functiongraph-trigger-create- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads huawei-cloud-functiongraph-trigger-create automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
Security audits
Independent scans of the skill's instructions and bundled files.
SKILL.md
The instructions your agent reads when the skill is triggered.
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:
- Python Environment: Python 3.9+ installed
- SDK Installation: Install FunctionGraph SDK:
pip install huaweicloudsdkfunctiongraph - Environment Variables: Configure the following environment variables:
HUAWEI_AK: Huawei Cloud Access KeyHUAWEI_SK: Huawei Cloud Secret KeyHUAWEI_REGION: Target region (e.g.,cn-north-4)HUAWEI_PROJECT_ID: Project ID
- FunctionGraph Function: Target function must already exist in the specified region
- Network Access: Stable network connection to Huawei Cloud API endpoints
Workflow(工作流)
The complete workflow for creating a scheduled TIMER trigger consists of the following steps:
Step 1: Load environment variables and authenticate(加载环境变量/鉴权)
The script reads the following environment variables at startup:
HUAWEI_AK: Huawei Cloud Access Key (required)HUAWEI_SK: Huawei Cloud Secret Key (required)HUAWEI_REGION: Target region, defaults tocn-north-4HUAWEI_PROJECT_ID: Project ID
If HUAWEI_AK or HUAWEI_SK is missing, the script prints Config error: Please set environment variables HUAWEI_AK and HUAWEI_SK and exits before any API call.
Step 2: Confirm the target function URN(确认 function_urn)
Pass the target function URN via --function-urn, e.g. urn:fss:cn-north-4:project_id:function:default:my-function:latest. Before creating the trigger, the script verifies that the function exists by calling ShowFunctionConfig. If the function is not found, it returns FunctionNotFound and stops without creating anything.
Step 3: Confirm the trigger configuration(确认触发配置)
Verify the trigger parameters (see Parameters Confirmation):
--name: Trigger name, 1-64 characters--schedule: Quartz Cron expression (6-7 fields) forCron, or a rate value such as5mforRate--schedule-type:Cron(default) orRate--status:ACTIVE(default) orDISABLED--user-event: Optional additional user event data
The script validates all parameters (required fields, Cron syntax, name length, status value) before calling the API.
Step 4: Execute the creation script(执行 create_trigger.py)
Run from the skill directory:
python3 scripts/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"
Step 5: Verify the result(验证结果)
- On success, the script prints a JSON response with
status: "success", containing the createdtrigger_id,trigger_name,trigger_type(TIMER),scheduleandenable_status. - On failure, it prints
status: "failed"with anerror_code(InvalidParameter,FunctionNotFound,TriggerAlreadyExists,TriggerLimitExceeded,InternalError) and exits with a non-zero code. Fix the corresponding parameter and re-run the script. - You can also confirm the result in the FunctionGraph console: Function details → Triggers tab, where the new TIMER trigger should be listed with Active status.
Usage
Basic Command Structure
python3 scripts/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
python3 scripts/create_trigger.py \
--function-urn "urn:fss:cn-north-4:project_id:function:default:my-function:latest" \
--name "hourly-report" \
--schedule "0 0 8 * * ?" \
--schedule-type "Cron"
Fixed Rate Trigger
python3 scripts/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 (the 7th field year is optional):
┌───────────── second (0-59)
│ ┌───────────── minute (0-59)
│ │ ┌───────────── hour (0-23)
│ │ │ ┌───────────── day of month (1-31)
│ │ │ │ ┌───────────── month (1-12)
│ │ │ │ │ ┌───────────── day of week (1-7, 1=Sunday)
│ │ │ │ │ │ ┌───────────── year (optional, e.g. 2026)
│ │ │ │ │ │ │
* * * * * ? *
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:
| Parameter | CLI Argument | Required | Description | Example |
|---|---|---|---|---|
function_urn | --function-urn | Yes | Target function URN | urn:fss:cn-north-4:xxx:function:default:my-func:latest |
trigger_name | --name | Yes | Trigger name (1-64 chars) | daily-trigger |
schedule | --schedule | Yes | Cron expression or Rate value | 0 0 2 * * ? or 5m |
schedule_type | --schedule-type | No | Cron (default) or Rate | Cron |
enable_status | --status | No | ACTIVE (default) or DISABLED | ACTIVE |
user_event | --user-event | No | Additional user event data | optional 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
{
"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
{
"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
- Avoid frequent executions: Use intervals ≥ 5 minutes unless necessary
- Consider timezone: FunctionGraph uses UTC by default
- Use
?for unused day field: Either day-of-month or day-of-week should use? - 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
- Least privilege: Grant minimal IAM permissions
- Enable encryption: Use KMS for sensitive function inputs
- Monitor executions: Set up Cloud Eye alarms for failures
- Rate limiting: Configure appropriate retry parameters
Operational Recommendations
- Start with disabled status for testing
- Document trigger purpose in description field
- Set appropriate retries for transient failures
- Monitor first executions after enabling
Reference Documents
For detailed information, refer to:
- SDK Installation Guide
- IAM Policies
- Verification Method
- Acceptance Criteria
- Cron Expression Reference
Important Notes
Compatibility Notes
This skill is designed to work with Huawei Cloud FunctionGraph API. The tags field helps with skill discovery and categorization.
Limitations
- Maximum triggers: Each function supports up to 10 triggers by default
- Cron precision: Second-level scheduling may have minor delays
- Timeout handling: Function timeout should be less than trigger interval
- 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
- Wrong timezone: Remember FunctionGraph uses UTC
- Overlapping schedules: Multiple triggers may cause concurrent executions
- Long-running functions: Ensure function completes before next trigger
- Cron syntax errors: Validate expression format before deployment
For troubleshooting and error codes, refer to Cron Expression Reference.
Related Skills:
huawei-cloud-functiongraph-function-createhuawei-cloud-functiongraph-deploy
FAQ
What does the huawei-cloud-functiongraph-trigger-create skill do?
Create and configure scheduled TIMER triggers for Huawei Cloud FunctionGraph functions using Quartz Cron expressions. Use this skill when users ask to create triggers, schedule function execution, set up periodic tasks, or configure timers for functions. Triggered by keywords like "create trigger", "set up trigger", "schedule function", "periodic task", "timer", "cron", "创建云函数触发器", "配置云函数触发器", "云函数定时触发", "定时执行", "定时任务", "创建定时器", "FunctionGraph trigger", "schedule function execution".
How do I install huawei-cloud-functiongraph-trigger-create?
Run npx skills add https://github.com/huaweicloud/huaweicloud-skills --skill huawei-cloud-functiongraph-trigger-create in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/huawei-cloud-functiongraph-trigger-create/ (personal) or .claude/skills/huawei-cloud-functiongraph-trigger-create/ (project).
Which AI agents can use huawei-cloud-functiongraph-trigger-create?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is huawei-cloud-functiongraph-trigger-create safe to install?
Security partners have reviewed it: Gen Agent Trust Hub passed; Socket passed; Snyk passed. As with any skill, read the SKILL.md and bundled scripts before installing.
Who maintains huawei-cloud-functiongraph-trigger-create?
It is published by huaweicloud in huaweicloud/huaweicloud-skills. It has 17,018 recorded installs.
More from huaweicloud/huaweicloud-skills
huawei-cloud-terraform-installer
huaweicloud/huaweicloud-skills
Installs Terraform CLI cross-platform with Huawei Cloud mirror support. Use this skill whenever the user mentions installing Terraform, setting up Terraform environment, or when IaC tasks detect missing Terraform. Trigger: install terraform, setup terraform, terraform environment, huaweicloud provider.
huawei-cloud-find-skills
huaweicloud/huaweicloud-skills
Invoke this skill to search, list, query, 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", "搜索华为云技能", "查询华为云skill列表", "有没有管理ECS/OBS/RDS的skill", "帮我找 XX 华为云skill", "介绍 XX Skill 内容", "华为云 XX Skill 具体做什么", "安装华为云Skill".
huawei-cloud-billing-scout
huaweicloud/huaweicloud-skills
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.
huawei-cloud-computing-query
huaweicloud/huaweicloud-skills
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.
huawei-cloud-obs-upload
huaweicloud/huaweicloud-skills
Upload local files or directories to Huawei Cloud OBS (Object Storage Service) buckets, list OBS buckets with capacity and object count, and schedule periodic uploads via crontab. Use this skill when the user wants to: (1) upload a local file or directory to an OBS bucket, (2) list OBS buckets and check their storage capacity and object count, (3) set up a scheduled/periodic upload task to automatically sync a local directory to an OBS bucket. Triggers include: user mentions "OBS", "object storage", "bucket list", "bucket capacity", "upload to OBS", "upload file", "upload directory", "scheduled upload", "periodic upload", "sync to bucket", "对象存储", "桶列表", "桶容量", "上传文件", "上传目录", "定时上传", "OBS管理"
huawei-cloud-terraform-generator
huaweicloud/huaweicloud-skills
Generate Huawei Cloud Terraform configurations and execute deployment with user-guided approval. Use this skill when users want to create Huawei Cloud infrastructure as Terraform, whether they ask explicitly for Terraform or describe goals such as deploying a website, launching an application, or creating network, compute, database, load balancing, or storage resources. Trigger when users mention 创建/create、生成/generate、部署/deploy、配置/configure、使用/use、管理/manage、华为云/Huawei Cloud、Terraform、ECS、VPC、资源/resource、云服务器/ECS、虚拟机/VM、实例/instance、网络/network、负载均衡/ELB、数据库/database、RDS、存储/storage、OBS、桶/bucket、域名/domain、DNS、证书/certificate、SSL、监控/monitoring、日志/log、备份/backup、容器/container、CCE、函数工作流/FunctionGraph
Popular productivity & automation skills
agent-browser
vercel-labs/agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.
lark-doc
open.feishu.cn
飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由;/page/ 是妙搭应用,非飞书云文档。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。
lark-base
open.feishu.cn
飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。
lark-drive
open.feishu.cn
飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。
lark-shared
open.feishu.cn
Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling notice JSON.
lark-im
open.feishu.cn
飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。