后端与接口
在华为云上创建/部署 FunctionGraph 云函数时…
当需要创建、部署或批量上传华为云 FunctionGraph 无服务器函数时,通过 Python SDK 脚本传入函数名、运行时、代码等参数完成创建并验证。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
在华为云上创建/部署 FunctionG特定
解决思路
- 准备 Python 3.9+ 环境,用 `python --version` 确认版本。
- 安装华为云 FunctionGraph Python SDK:`pip install huaweicloudsdkfunctiongraph`。
- 通过环境变量配置华为云 AK/SK 认证:`export HUAWEI_AK="your-access-key"`、`export HUAWEI_SK="your-secret-key"`、`export HUAWEI_REGION="cn-north-4"`、`export HUAWEI_PROJECT_ID="your-project-id"`;绝不在代码或日志中暴露 AK/SK,绝不让用户在对话中直接输入 AK/SK,推荐使用 IAM 用户而非主账号。
- 确保 IAM 具备所需权限:`functiongraph:function:create`(创建函数)、`functiongraph:function:get`(查询函数详情)、`functiongraph:function:list`(列出函数)。
- 进入 scripts 目录执行创建命令:`cd scripts` 后运行 `python create_function.py --name <function_name> --runtime <runtime> --handler <handler> --code <code_content> --memory <memory_size> --timeout <timeout>`。
- 确认必填参数:function_name(函数名,需符合命名规则)、runtime(运行时,如 Python3.9)、code_content(函数代码内容)、handler(入口点,如 index.handler);可选参数:memory_size(默认 128 MB)、timeout(默认 3 秒)、description(函数描述)。
- 按运行时选择正确的 handler 格式:Python3.9 用 index.handler(`def handler(event, context):`)、Node.js14.18 用 index.handler(`exports.handler = (event, context) => {}`)、Java8 用 com.example.Handler::handleRequest、Go1.x 用 handler(Go 函数名)。
- 创建后用 SDK 验证函数是否存在:使用 FunctionGraphClient 与 ListFunctionsRequest 调用 `client.list_functions(request)` 并打印函数总数。
- 解析返回的结构化 JSON 输出,包含 function_urn、function_name、runtime、memory_size、timeout、handler、description 等字段。
- 遵循最佳实践:先在生产环境之外测试、为函数调用与错误设置监控、敏感数据放入环境变量、在函数代码中实现错误处理、根据函数逻辑设置合适的超时。
- 按错误码处理异常:InvalidParameter 检查参数格式与取值;InsufficientPermission 检查 IAM 权限;QuotaExceeded 申请配额提升或删除未使用函数;FunctionAlreadyExists 换函数名或删除同名函数。
适用边界 · 注意事项
- 没有华为云账号、AK/SK 凭证或对应 IAM 权限时无法使用。
- 未安装 huaweicloudsdkfunctiongraph SDK 或 Python 版本低于 3.9 时无法执行。
- 需要非 FunctionGraph 的其他云厂商或自建无服务器平台时不适用。