Fun Package 功能介绍

本文涉及的产品
简介: 前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(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 的部署方式

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
1月前
argparse的基本使用--参数解析
argparse的基本使用--参数解析
29 0
|
5月前
argparse 简单使用
argparse 简单使用
19 0
|
5月前
|
Python
Python参数解析工具argparse.ArgumentParser()
Python参数解析工具argparse.ArgumentParser()
|
存储 前端开发 JavaScript
webpack中output中path和publicPath区别详解
webpack中output中path和publicPath区别详解
118 0
No package ‘libmarco-private‘ found
No package ‘libmarco-private‘ found
38 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‘
34 0
find_package
find_package
68 1
Java类Demo中存在方法func1、func2、func3和func4,请问该方法中,哪些是不合法的定义?( )
Java类Demo中存在方法func1、func2、func3和func4,请问该方法中,哪些是不合法的定义?( )
|
Python
argparse使用方法简单总结
argparse使用方法简单总结 argparse是python自带的命令行参数解析包,可以用来方便地读取命令行参数,当你的代码需要频繁地修改参数的时候,使用这个工具可以将参数和代码分离开来,让你的代码更简洁,适用范围更广。
325 0
php:类中的static、final、const、parent、self、$this关键字使用方法和区别
php:类中的static、final、const、parent、self、$this关键字使用方法和区别

热门文章

最新文章