详细分析 ▾
运行时依赖
版本
Initial release providing CLI-based quick start and setup guidance for Alibaba Cloud Function Compute with Serverless Devs. - Step-by-step instructions to install, configure, deploy, invoke, and clean up using Serverless Devs CLI. - Covers credential setup via both guided and command-based methods, including environment variable usage. - Provides example Python project initialization and deployment flow. - Outlines custom domain binding steps to avoid default download behavior. - Includes troubleshooting for common errors and references for deeper guidance. - Details validation steps, output conventions, prerequisites, and best practices for secure operations.
安装命令 点击复制
技能文档
Category: tool
# Function Compute (FC 3.0) Serverless Devs
Goals
- Install and validate Serverless Devs.
- Configure credentials, initialize example project, deploy, invoke, and remove.
- Provide CLI flow with Python runtime example.
Quick Start Flow
- Install Node.js (14+) and npm.
- Install and validate Serverless Devs.
- Configure credentials via guided setup.
- Initialize example project and enter directory.
- Deploy, invoke, and optionally remove.
Install Serverless Devs (npm)
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
Configure Credentials (guided)
sudo s config add
Choose Alibaba Cloud (alibaba), provide AccountID, AccessKeyID, AccessKeySecret, and set alias.
Configure Credentials (command)
Use CLI args to configure credential alias in one command (non-interactive):
s config add -a default --AccessKeyID --AccessKeySecret -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\":\"\",\"AccessKeyID\":\"\",\"AccessKeySecret\":\"\"}'
Reference in s.yaml:
access: default_serverless_devs_key
Initialize Example (Python)
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.
Deploy, Invoke, and Remove
sudo s deploy
sudo s invoke -e "test"
sudo s remove
Custom Domain Binding (Avoid Default Domain Forced Download)
Note: FC default domain addsContent-Disposition: attachment, causing browser downloads.
Use a custom domain to avoid this behavior.
Step 1: Configure CNAME for your domain
Configure DNS CNAME to FC public CNAME:
..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.
Step 2: Create custom domain in Serverless Devs
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.
Common Errors
DomainNameNotResolved: domain not resolved to correct FC CNAME.InvalidICPLicense: mainland China regions require ICP filing associated with Alibaba Cloud.
References
- See
references/install_serverless_devs_and_docker.mdfor 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
Validation
mkdir -p output/aliyun-fc-serverless-devs
echo "validation_placeholder" > output/aliyun-fc-serverless-devs/validate.txt
Pass criteria: command exits 0 and output/aliyun-fc-serverless-devs/validate.txt is generated.
Output And Evidence
- Save artifacts, command outputs, and API response summaries under
output/aliyun-fc-serverless-devs/. - Include key parameters (region/resource id/time range) in evidence files for reproducibility.
Prerequisites
- Configure least-privilege Alibaba Cloud credentials before execution.
- Prefer environment variables:
ALICLOUD_ACCESS_KEY_ID,ALICLOUD_ACCESS_KEY_SECRET, optionalALICLOUD_REGION_ID. - If region is unclear, ask the user before running mutating operations.
Workflow
1) Confirm user intent, region, identifiers, and whether the operation is read-only or mutating. 2) Run one minimal read-only query first to verify connectivity and permissions. 3) Execute the target operation with explicit parameters and bounded scope. 4) Verify results and save output/evidence files.
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制