Skip to content

CLI 无法创建「微服务应用函数」:CreateFunction(CpuStrategy=always) 实际建成「云沙箱」,且 help/文档无说明、无法区分 #33

Description

@m11y

问题

veFaaS 控制台「创建函数」提供 4 种类型(事件函数 / Web 应用函数 / 微服务应用函数 / 任务函数),但 CLI 没有任何文档或 --help 说明如何创建「微服务应用函数」,照现有资料操作会建错资源。

实测:参照官方 Go SDK 文档示例(把 CpuStrategy:"always" 标注为「创建微服务应用」,见 https://www.volcengine.com/docs/6662/1386372 ),执行

ve vefaas CreateFunction --body '{
  "Name":"...","SourceType":"image","Source":"...:tag",
  "CpuStrategy":"always","MemoryMB":512,"Port":8000,
  "VpcConfig":{...},"Envs":[...]
}'

创建后得到的是 云沙箱(Cloud Sandbox):它出现在控制台「云沙箱」页 / ListSandboxes不在函数列表 ListFunctions,也无法当作微服务应用来启用/管理。真正的「微服务应用函数」目前只能在控制台用「微服务应用函数」入口创建(创建后才会出现在 ListFunctions、可 Release / UpdateFunctionResource 设常驻实例)。

无法区分两者

对创建出的资源调用 GetFunctionCpuStrategy(两者都是 always)、InstanceType(空)、FunctionType(空)等字段都无法区分它是「云沙箱」还是「微服务应用函数」——CLI 层面没有任何可判别的字段或开关。

help 不全

ve vefaas CreateFunction --help 只列出 body 字段模板,未说明

  • 哪个字段/取值决定函数类型(事件 / Web 应用 / 微服务应用 / 任务);
  • 如何通过 CLI 创建「微服务应用函数」;
  • CpuStrategy=always 同时被云沙箱与微服务应用使用,二者到底靠什么区分。

期望

  1. CLI --help / 文档明确给出用 CLI 创建各类型函数(尤其「微服务应用函数」)的方法及其判别字段
  2. 或提供专门的参数/动作来显式指定要创建的函数类型;
  3. 修正 Go SDK 文档(6662/1386372)中把 CpuStrategy=always 直接等同于「创建微服务应用」的误导性示例。

影响

用户(以及照官方示例操作的自动化 / AI 工具)会误把「微服务应用」建成「云沙箱」,且事后无法从 CLI 判别建出来的是哪一种,排查与纠错成本很高。

环境:ve darwin/arm64,复现于 v1.0.47 与 v1.0.48。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions