Fun Package 功能介绍

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: 前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。

前言

首先介绍下在本文出现的几个比较重要的概念:

函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。函数计算更多信息 参考

Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API 网关、日志服务等资源。它通过一个资源配置文件(template.yml),协助您进行开发、构建、部署操作。Fun 的更多文档 参考

备注: 本文介绍的技巧需要 Fun 版本大于等于 3.0.0+。

功能介绍

Fun Package 是用来将代码、编译产物、静态资源等本地资源上传到 OSS 的功能。

使用 Fun Package 的场景,通常是,想仅仅通过一个模板文件进行部署的场景。比如,本地开发完成后,可以通过 fun package,将模板依赖的本地资源上传到 OSS,这样,无论是在其他服务器上部署,还是使用 ROS 部署时,仅仅通过一个文本格式的模板文件,就可以完成了。

命令格式

使用 fun package 可以查看相关的帮助文档:

$ fun package -h
Usage: fun package [options]

packages the local artifacts to oss. In order that you can deploy your application directly through a template file

Options:
  -t, --template <template>              The template file path
  -b, --oss-bucket <bucket>              The name of the oss bucket where Fun uploads local artifacts
  -o, --output-template-file <filename>  The output path of the packaged template file
  -h, --help                             output usage information
AI 代码解读

其中各参数的解释如下:

  1. -t 或 --template.yml: 表示的是要操作的模板文件,如果不指定,则使用默认值。
  2. -b 或 --oss-bucket: 表示的是将本地资源上传到的 OSS bucket 名称。
  3. -o 或 --output-template-file: 表示的是生成的新模板的路径以及名称,如果不指定,则使用默认值,即 template.packaged.yml

使用示例

1. 初始化示例项目

直接执行下面的命令即可初始化一个简单的函数示例:

fun init -n RosDemo event-nodejs8
AI 代码解读

2. 项目打包

# -t 以及 -o 均使用默认值
fun package --oss-bucket bucket
# 指定要打包的模板位置
fun package --oss-bucket bucket -t demos/template.yml
# 指定输出模板的位置 
fun package --oss-bucket bucket -o demos/template.packaged.yml
AI 代码解读

打包完成后,就可以进行后续的部署操作了,可以自行选择 fun deploy 或者 fun deploy --use-ros 的方式进行部署。

通过将打包后的模板文件与原文件相比较,可以发现,差异仅仅在使用了本地资源的场景,比如:

- CodeUri: './'
+ CodeUri: 'oss://bucket/PackageDemo/function/39ce6e9109a23d313bc267b1a5211273'
AI 代码解读

总结

通过 Fun Package 可以将模板文件包含的本地资源一键上传到 OSS 上,完成资源的打包操作,省却了手工打包时需要一个函数一个函数进行上传的繁琐步骤。

打包完成后,后续的部署操作,只需要完全基于这个打包后的模板文件即可,不再依赖本地的代码等资源,可以简化部署的难度,同时也支持了通过 ROS 的部署方式

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
打赏
0
0
0
0
142
分享
相关文章
idea中maven打包工具类 repackage failed: Unable to find main class
idea中maven打包工具类 repackage failed: Unable to find main class
453 1
argparse 简单使用
argparse 简单使用
52 0
Python参数解析工具argparse.ArgumentParser()
Python参数解析工具argparse.ArgumentParser()
webpack中output中path和publicPath区别详解
webpack中output中path和publicPath区别详解
361 0
find_package
find_package
118 1
java包(package)
1.包的概念 为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。 包的作用 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。 如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。 包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。 Java使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等✨
111 0
java包(package)
webpack中极容易混淆的path、publicPath、contentBase配置
webpack中极容易混淆的path、publicPath、contentBase配置
1581 1
webpack中极容易混淆的path、publicPath、contentBase配置
CMake教程11:find_package
CMake教程11:find_package
456 0
webpack中module package bundle chunk详细讲解
webpack中module package bundle chunk详细讲解
150 0