注:当前项目为 Serverless Devs 应用,由于应用中会存在需要初始化才可运行的变量(例如应用部署地区、函数名等等),所以不推荐直接 Clone 本仓库到本地进行部署或直接复制 s.yaml 使用,强烈推荐通过
s init ${模版名称}
的方法或应用中心进行初始化,详情可参考部署 & 体验 。
本案例是将解压zip文件工具 unzip,快速创建并部署到阿里云函数计算 FC。
使用该项目,您需要有开通以下服务并拥有对应权限:
服务/业务 | 权限 | 相关文档 |
---|---|---|
函数计算 | AliyunFCFullAccess | 帮助文档 计费文档 |
对象存储 | AliyunOSSFullAccess | 帮助文档 计费文档 |
- 🔥 通过 Serverless 应用中心 , 该应用。
- 通过 Serverless Devs Cli 进行部署:
- 安装 Serverless Devs Cli 开发者工具 ,并进行授权信息配置 ;
- 初始化项目:
s init start-unzip-oss-v3 -d start-unzip-oss-v3
- 进入项目,并进行项目部署:
cd start-unzip-oss-v3 && s deploy -y
本案例是将zip文件进行 unzip 解压,快速创建并部署到阿里云函数计算 FC。
匹配解压规则的ZIP文件在上传到OSS后,会自动触发函数计算进行解压。文件解压完成后,会存储至OSS的指定目录中。
-
建议使用 UTF-8 或 GB 2312 编码命名您的文件或文件夹,否则可能会出现解压后的文件或文件夹名称出现乱码、解压过程中断等问题。
-
归档或冷归档类型的文件需先解冻再解压。
-
建议 ZIP 包 + zip包里面最大单文件的大小之和不要超过 10 GB,否则解压失败。如果出现这个场景, 请参考:unzip-oss-with-nas
-
默认设置的函数执行时长为6小时, 如果不满足需求, 自己直接调整函数的 timeout, 最大可到 24小时
部署时, 选择的OSS存储桶名,以及前缀名,如:
部署完成后,在oss对象存储中找到相应的OSS存储桶名,向该存储桶上传zip文件,如:
在控制台就可以查看到调用日志,如:
您可以通过云端控制台的开发功能进行二次开发。如果您之前是在本地创建的项目案例,也可以在本地项目目录start-unzip-oss-v3
文件夹下,对项目进行二次开发。开发完成后,可以通过s deploy
进行快速部署。
上面的示例, 解压保存回去的都还是本身触发函数的 OSS, 如果是保存到其他 OSS, 直接将 bucket.put_object(newKey + name, file_obj)
这样上传回 oss 的代码修改下即可, 比如:
auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')
dst_bucket_name = "xxx-bucket"
dst_bucket = oss2.Bucket(auth, endpoint, dst_bucket_name)
dst_bucket.put_object(newKey + name, file_obj)
您如果有关于错误的反馈或者未来的期待,您可以在 Serverless Devs repo Issues 中进行反馈和交流。如果您想要加入我们的讨论组或者了解 FC 组件的最新动态,您可以通过以下渠道进行:
微信公众号:serverless |
钉钉交流群:33947367 |