alicloud-compute-fc-serverless-devs by cinience/alicloud-skills
npx skills add https://github.com/cinience/alicloud-skills --skill alicloud-compute-fc-serverless-devsCategory: tool
全局安装(需要 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、,并设置别名。
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
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
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头,导致浏览器下载响应。使用自定义域名可以避免此行为。
将 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。
选项 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:中国大陆区域需要关联阿里云的 ICP 备案。查看 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 文件已生成。
output/alicloud-compute-fc-serverless-devs/ 目录下。ALICLOUD_ACCESS_KEY_ID、ALICLOUD_ACCESS_KEY_SECRET,可选的 ALICLOUD_REGION_ID。每周安装次数
160
代码仓库
GitHub 星标数
340
首次出现
12 天前
安全审计
安装于
gemini-cli159
github-copilot159
codex159
amp159
kimi-cli159
cursor159
Category: tool
Global install (requires sudo):
sudo npm install @serverless-devs/s -g
sudo s -v
No-sudo alternative (recommended in restricted environments):
npx -y @serverless-devs/s -v
sudo s config add
Choose Alibaba Cloud (alibaba), provide AccountID, AccessKeyID, AccessKeySecret, and set alias.
Use CLI args to configure credential alias in one command (non-interactive):
s config add -a default --AccessKeyID <AK> --AccessKeySecret <SK> -f
If using environment variables, inject them into the command (example):
s config add -a default -kl AccessKeyID,AccessKeySecret -il ${ALIBABA_CLOUD_ACCESS_KEY_ID},${ALIBABA_CLOUD_ACCESS_KEY_SECRET} -f
Or use Serverless Devs convention JSON environment variable (example):
export default_serverless_devs_key='{\"AccountID\":\"<AccountID>\",\"AccessKeyID\":\"<AK>\",\"AccessKeySecret\":\"<SK>\"}'
Reference in s.yaml:
access: default_serverless_devs_key
sudo s init start-fc3-python
cd start-fc3-python
Initialization creates s.yaml, code/, and readme.md; edit code/index.py for function logic.
sudo s deploy
sudo s invoke -e "test"
sudo s remove
Note: FC default domain adds
Content-Disposition: attachment, causing browser downloads. Use a custom domain to avoid this behavior.
Configure DNS CNAME to FC public CNAME:
<account_id>.<region_id>.fc.aliyuncs.com
Example (Hangzhou region):
1629965279769872.cn-hangzhou.fc.aliyuncs.com
Note: if using apex domain (e.g. animus.run) and DNS provider does not support CNAME at apex, use ALIAS/ANAME records, or switch to a subdomain such as www.animus.run.
Option A: add fc3-domain resource in s.yaml:
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 is example default; ask user when the best region is unclear.
Then deploy:
printf 'y\n' | npx -y @serverless-devs/s deploy
Option B: use Console (Advanced Features > Custom Domains) to create and route custom domain.
DomainNameNotResolved: domain not resolved to correct FC CNAME.InvalidICPLicense: mainland China regions require ICP filing associated with Alibaba Cloud.See references/install_serverless_devs_and_docker.md for detailed official steps.
HTTP trigger limitations and response header behavior (default domain enforces Content-Disposition: attachment)
Custom domain binding and CNAME guidance
Official source list:references/sources.md
mkdir -p output/alicloud-compute-fc-serverless-devs
echo "validation_placeholder" > output/alicloud-compute-fc-serverless-devs/validate.txt
Pass criteria: command exits 0 and output/alicloud-compute-fc-serverless-devs/validate.txt is generated.
output/alicloud-compute-fc-serverless-devs/.ALICLOUD_ACCESS_KEY_ID, ALICLOUD_ACCESS_KEY_SECRET, optional ALICLOUD_REGION_ID.Weekly Installs
160
Repository
GitHub Stars
340
First Seen
12 days ago
Security Audits
Gen Agent Trust HubWarnSocketPassSnykFail
Installed on
gemini-cli159
github-copilot159
codex159
amp159
kimi-cli159
cursor159