关于 alicloud-compute-fc-serverless-devs
用于通过 Serverless Devs 操作 Alibaba Cloud Function Compute(FC 3.0)的命令行技能,涵盖凭据配置、Python 示例初始化、部署、调用、移除和自定义域名设置。
主要功能
- 01安装并验证 Serverless Devs
- 02配置 Alibaba Cloud 凭据
- 03初始化 Python FC 示例
- 04部署、调用和移除函数
- 05绑定自定义域名
适用场景
- 01准备本地 FC 3.0 项目
- 02部署并测试 Python 函数
- 03移除已部署的函数
- 04通过自定义域名访问 FC 服务
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ cinience/ alicloud-skills --skill alicloud-compute-fc-serverless-devs安装后在 Claude Code 中输入/alicloud-compute-fc-serverless-devs确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/install_serverless_devs_and_docker.mdsources.md详细介绍
Category: 工具
Function Compute(FC 3.0)Serverless Devs
目标
- 安装并验证 Serverless Devs。
- 配置凭证、初始化示例项目、部署、调用并移除。
- 提供使用 Python 运行时示例的 CLI 流程。
快速入门流程
- 安装 Node.js(14+)和 npm。
- 安装并验证 Serverless Devs。
- 通过引导式设置配置凭证。
- 初始化示例项目并进入目录。
- 部署、调用,并可选择移除。
安装 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),提供 AccountID、AccessKeyID、AccessKeySecret,并设置别名。
配置凭证(命令)
使用 CLI 参数通过一条命令配置凭证别名(非交互式):
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.yaml、code/ 和 readme.md;编辑 code/index.py 以编写函数逻辑。
部署、调用和移除
sudo s deploy
sudo s invoke -e "test"
sudo s remove
绑定自定义域名(避免默认域名强制下载)
注意:FC 默认域名会添加
Content-Disposition: attachment,导致浏览器下载文件。 使用自定义域名可避免此行为。
步骤 1:为域名配置 CNAME
将 DNS CNAME 配置为 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 是示例默认值;如果无法确定最佳地域,请询问用户。
然后部署:
printf 'y\n' | npx -y @serverless-devs/s deploy
选项 B:使用控制台(高级功能 > 自定义域名)创建并路由自定义域名。
常见错误
DomainNameNotResolved:域名未解析到正确的 FC CNAME。InvalidICPLicense:中国大陆地域要求备案信息与 Alibaba Cloud 关联。
参考资料
-
详细的官方步骤请参见
references/install_serverless_devs_and_docker.md。 -
HTTP 触发器限制和响应标头行为(默认域名会强制设置 Content-Disposition: attachment)
-
自定义域名绑定和 CNAME 指南
-
官方来源列表:
references/sources.md
验证
mkdir -p output/alicloud-compute-fc-serverless-devs
echo "validation_placeholder" > output/alicloud-compute-fc-serverless-devs/validate.txt
通过标准:命令以 0 退出,并生成 output/alicloud-compute-fc-serverless-devs/validate.txt。
输出和证据
- 将制品、命令输出和 API 响应摘要保存在
output/alicloud-compute-fc-serverless-devs/下。 - 在证据文件中包含关键参数(地域/资源 ID/时间范围),以便复现。
前提条件
- 执行前配置遵循最小权限原则的 Alibaba Cloud 凭证。
- 优先使用环境变量:
ALICLOUD_ACCESS_KEY_ID、ALICLOUD_ACCESS_KEY_SECRET,以及可选的ALICLOUD_REGION_ID。 - 如果地域不明确,请在执行会修改状态的操作前询问用户。
工作流
- 确认用户意图、地域、标识符,以及操作是只读还是会修改状态。
- 先运行一条最简只读查询,以验证连接和权限。
- 使用明确参数和限定范围执行目标操作。
- 验证结果并保存输出/证据文件。