拷贝文件
有时候,我们希望在构建时额外拷贝一些文件,默认情况下,我们会将根目录的 *.js
, dist
等文件拷贝到最终产物中,除此之外,还提供了自定义拷贝的能力。 f.yml
中的 package
段落就是为了做这个事情。
示例
package: # 打包配置
include: # 打包包含文件列表,默认为 package.json、构建后的代码和依赖
- resource/*
exclude: # 打包剔除文件列表
- test/*
artifact: code.zip # 打包后的压缩包文件名
:::info
package 字段不处理 src/**/*.ts
文件,一般常用于静态资源,json 等文件的拷贝,默认起始为项目根路径。
:::
高密度部署
将多个调用量(QPS)偏低的函数部署到一个容器内,能够减少容器数量并提高容器的热启动次数,从而实现成本的降低,高密度部署就是指在原有的函数调用方式保持不变的情况下,开发者无需改动代码就能很容易的将多个函数进行合并与拆分部署。
需要在 f.yml 中添加规则:
functions:
index:
handler: index.handler
events:
- http:
path: /api/index
home:
handler: home.handler
events:
- http:
path: /api/home
aggregation:
combine: // 高密度部署后的函数名,自定义
functions: // 要把哪些函数进行合并部署
- index
- home
通过高密度部署之后,会使用 “combine 函数” 将 /api/index
与 /api/home
进行拦截,然后转发到对应的逻辑上进行执行,实现一个函数承载多个函数。
:::info 本质上,高密度部署就是把多个函数聚合到同一个函数容器中。 :::