Fun Package 功能介绍

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
函数计算FC,每月免费额度15元,12个月
简介: 前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(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

其中各参数的解释如下:

  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

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

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

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

- CodeUri: './'
+ CodeUri: 'oss://bucket/PackageDemo/function/39ce6e9109a23d313bc267b1a5211273'

总结

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

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

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
4天前
|
Dragonfly Dart NoSQL
Dart ffi 使用问题之在Dart中调用String的toNativeUtf8方法时有什么是需要注意的
Dart ffi 使用问题之在Dart中调用String的toNativeUtf8方法时有什么是需要注意的
|
3月前
|
Java Kotlin
关于Java:public函数公开其public / * package * /’参数类型
关于Java:public函数公开其public / * package * /’参数类型
31 3
|
9月前
argparse 简单使用
argparse 简单使用
28 0
|
9月前
|
Python
Python参数解析工具argparse.ArgumentParser()
Python参数解析工具argparse.ArgumentParser()
|
索引 Python
argparser Python包使用
argparser Python包使用
119 0
find_package
find_package
89 1
No package ‘libmarco-private‘ found
No package ‘libmarco-private‘ found
46 0
No package ‘libpeas-1.0‘ found/No package ‘libpeas-gtk-1.0‘
No package ‘libpeas-1.0‘ found/No package ‘libpeas-gtk-1.0‘
43 0
python——argparse 模块(1)
python——argparse 模块(1)
Java类Demo中存在方法func1、func2、func3和func4,请问该方法中,哪些是不合法的定义?( )
Java类Demo中存在方法func1、func2、func3和func4,请问该方法中,哪些是不合法的定义?( )

热门文章

最新文章