alicloud-compute-fc-serverless-devs

Review·Scanned 2/17/2026

This skill guides installing and using Serverless Devs to create, deploy, invoke, and remove Alibaba Cloud Function Compute (FC) Python functions. It instructs running shell commands (e.g., sudo npm install @serverless-devs/s -g, s deploy) and configuring/storing credentials via s config add or the default_serverless_devs_key env var.

from clawhub.ai·v8ffb481·5.3 KB·0 installs
Scanned from 1.0.0 at 8ffb481 · Transparency log ↗
$ vett add clawhub.ai/cinience/alicloud-compute-fc-serverless-devsReview findings below

Category: tool

函数计算(FC 3.0)Serverless Devs

目标

  • 安装并验证 Serverless Devs。
  • 配置凭证、初始化示例、部署、调用与删除。
  • 以 Python 运行时为例提供 CLI 流程。

快速接入流程

  1. 安装 Node.js(14+)与 npm。
  2. 安装并验证 Serverless Devs。
  3. 通过引导完成凭证配置。
  4. 初始化示例项目并进入目录。
  5. 部署、调用与可选删除。

安装 Serverless Devs(npm)

全局安装(需要 sudo 权限):

sudo npm install @serverless-devs/s -g
sudo s -v

无 sudo 的替代方案(推荐在受限环境使用):

npx -y @serverless-devs/s -v

配置凭证(引导式)

sudo s config add

选择 Alibaba Cloud (alibaba),按提示填写 AccountIDAccessKeyIDAccessKeySecret,并设置 alias。

配置凭证(命令式)

使用命令行参数一次性写入密钥别名(无需交互):

s config add -a default --AccessKeyID <AK> --AccessKeySecret <SK> -f

如果使用环境变量,可将其注入命令(示例):

s config add -a default -kl AccessKeyID,AccessKeySecret -il ${ALIBABA_CLOUD_ACCESS_KEY_ID},${ALIBABA_CLOUD_ACCESS_KEY_SECRET} -f

或者使用 Serverless Devs 约定的环境变量 JSON(示例):

export default_serverless_devs_key='{\"AccountID\":\"<AccountID>\",\"AccessKeyID\":\"<AK>\",\"AccessKeySecret\":\"<SK>\"}'

s.yaml 中引用:

access: default_serverless_devs_key

初始化示例(Python)

sudo s init start-fc3-python
cd start-fc3-python

初始化完成后会生成 s.yamlcode/readme.md,可在 code/index.py 修改函数逻辑。

部署、调用与删除

sudo s deploy
sudo s invoke -e "test"
sudo s remove

自定义域名绑定(避免默认域名强制下载)

说明:FC 默认域名会强制添加 Content-Disposition: attachment,浏览器会触发下载。 需要通过自定义域名访问才能去掉该行为。

步骤 1:为域名配置 CNAME

在 DNS 服务商处把域名解析到 FC 公网 CNAME:

<account_id>.<region_id>.fc.aliyuncs.com

示例(杭州地域):

1629965279769872.cn-hangzhou.fc.aliyuncs.com

注意:如果是根域名(例如 animus.run)且 DNS 不支持根域名 CNAME, 请使用 ALIAS/ANAME 记录,或改用 www.animus.run 子域名。

步骤 2:在 Serverless Devs 中创建自定义域名

方式 A:在 s.yaml 中新增 fc3-domain 资源:

resources:
  newsDomain:
    component: fc3-domain
    props:
      region: cn-hangzhou
      domainName: animus.run
      protocol: HTTP
      routeConfig:
        routes:
          - functionName: honnold-taipei101-news
            qualifier: LATEST
            methods:
              - GET
              - HEAD
            path: /*

region 为示例默认值;若未确定最合适 Region,执行时应询问用户。

然后部署:

printf 'y\n' | npx -y @serverless-devs/s deploy

方式 B:使用控制台(Advanced Features > Custom Domains)创建自定义域名并配置路由。

常见错误

  • DomainNameNotResolved:域名未解析到正确的 FC CNAME。
  • InvalidICPLicense:中国大陆地域需要 ICP 备案且备案需接入阿里云。

参考