课时4:函数的开发与配置(一)

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
函数计算FC,每月15万CU 3个月
简介: 函数的开发与配置

Serverless AI训练营:课时4:函数的开发与配置(一)

课程地址https://developer.aliyun.com/trainingcamp/1eeaedf056f14ad98e9986c31068e939?spm=a2c6h.26142516.J_2566289780.1.37c67cbd7bCsFs

课时4:函数的开发与配置(一)

内容介绍

一、课程概述

二、基本概念

三、开发流程

四、操作演示

五、课程总结

 

一、课程概述

本节课介绍函数计算的开发与配置,通过今天的学习,希望可以基于函数计算开发自己的应用。

本节课主要分为三个部分,基本概念中介绍了函数计算最核心的概念包括服务、函数、触发器,版本联名以及相关的配置。开发流程介绍了基于函数计算开发的完整开发部署的流程,操作演示会带着大家在控制台进行操作,搭建一个基于函数计算的应用,并且进行更新和迭代。

 

二、基本概念

image.png

1、服务

1)基本介绍

服务是函数计算资源管理的单位,同一个服务下有很多函数,这些函数共享服务的网络配置、权限配置、存储配置、日志配置。服务可以对应成一个微服务的概念,这个微服务下面由很多函数共同组成,这些函数具有相同的访问权限,网络配置,日志也会进入到相同的 Log Store 中去,但是这些函数本身的配置可以各不相同。

比如同一个服务下面有的函数内存是3G,有的函数内存是512M,有的函数用Python写。应用比较复杂,同一个应用可以对应多个服务,这是没有强制的绑定关系的。

2)服务配置

接下来就介绍服务的几个核心配置。

①日志配置 Log Config

设置日志服务的日志项目和日志仓库,用于存储和分析函数运行的日志。

开发者的代码在函数计算平台运行,如何查看函数运行产生的日志。比如在 ECS 上或者是在传统的服务器上开发日志都会打到统一的文件里面,通过日志收集工具收集到用户自己的 elastic search中,并且通过这种可视化工具来查看日志或者指标,但是函数计算里面运行代码的机器是由函数计算动态分配的,开发者无法自己收集日志了,函数计算需要帮助开发者投递日志,日志配置就是起到这个作用。

设置日志服务的 project,函数计算会将函数运行中产生的日志投递到开发者的 Log Store 中。但是为了成功投递日志,单单配置 Log Store 还不够,函数计算是没有权限向开发者的 Log Store 里面投递日志的,还需要开发者的授予函数计算向指定的 Log Store 写数据的权限。有了这个权限以后,函数计算就可以名正言顺的向开发者投递日志的。

在这里总结一下日志配置,就是为了让用户有地方配置 Log Store project,允许函数计算向其中去投递函数日志,然后用户可以在 Log Store 中进行进一步的分析。

②文件存储配置 NASConfig

配置 NAS,让函数访问 NAS 文件系统时如同访问本地文件系统一样。

函数计算的每个函数都是独立的,都在不同的执行环境里运行。可以把执行环境理解成是一个容器。如果用户有一些公共文件,希望通过函数共享的话,在传统 Solo 化的开发方式中就是将公共文件放到磁盘里面,各个函数都在磁盘里面的同一个位置读,但是函数计算的机器是函数计算动态分配的,同一个函数的不同实例可能不在同一个主机上面。开发者也没有办法相信这些文件存入磁盘,因为这个机器也是函数计算的。

为解决这个问题函数计算推出了挂载 master 的功能,在服务中挂载了 master 后,函数就可以像访问本地文件系统一样访问 master 上的文件。然后用户是可以在 master 控制台上去对文件进行操作。

③网络配置

网络配置顾名思义就是设置网络的访问能力,函数的网络访问能力主要有两种:一个是函数是否可以访问,有的不需要访问公网,以免产生一些预期之外的公网流量费用。函数计算设置了一个布尔型的开关,默认是开启的,如果不需要访问公网就可以关闭开关。

另一个是函数是否可以访问指定VPCVPC 是专有网络。专有网络中的数据比较机密是不能通过公共网络访问的,如果需要函数访问 VPC 的资源,比如希望函数来访问 VPC 中的 RDS,那就需要授予函数计算访问指定 VPC 的能力。原理是用户授权赋予弹性网卡 INI访问VPC,函数计算将 INI 插入到 XC 中执行用户函数的机器上,从而就可以使函数访问 VPC 中的资源。

④权限

函数计算是云原生的架构,和云上很多服务都会产生交互,阿里云有非常严格的权限限制,函数计算是没有能力访问开发者的其他云资源的。当开发者需要函数计算访问其他云服务的时候,就像显示的授予函数计算权限。权限主要有两个应用场景,一个是授予函数计算访问其他服务的权限,比如刚才提到的授权函数计算访问开发者的日志服务,授权函数创建 INI;另一个是授权函数可以访问开发者的云资源,第一个是授予函数计算,第二个是授权函数。

举个例子是函数代码中需要访问 OSS 获取对象,当然可以把 AK 写在函数代码里面或者是通过环境变量传入 AK。因为 AK 非常机密所以并不想暴露,开发者可以配置服务中的 rolerole 具有访问 OSS 的权限。在函数执行的过程当中,函数计算是会生成一个临时 AK,也可以一起将这个 AK 存储到函数的上下文 contest中,这就是函数代码执行当中的一个输入参数叫 contest,开发者在代码中就可以来使用contest 键和credential 键还有 token,然后来建立一个 OSS Client,这个client就可以访问 OSS 中的资源了。这一页主要是介绍了服务的主要配置,包括日志配置、权限,NAS 还有网络配置。这些配置是服务当中所有函数共享的。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
4月前
|
编译器 C++
【C++】学习笔记——模板进阶
【C++】学习笔记——模板进阶
24 0
|
5月前
|
JavaScript Java 测试技术
基于Java的课程教学网站的设计与实现(源码+lw+部署文档+讲解等)
基于Java的课程教学网站的设计与实现(源码+lw+部署文档+讲解等)
32 2
|
5月前
|
Serverless
函数计算的功能与使用入门训练营等你
函数计算的功能与使用入门训练营等你
46 0
|
人工智能 运维 监控
|
监控 Serverless 文件存储
课时4:函数的开发与配置
课时4:函数的开发与配置
202 1
|
12月前
|
存储 安全 编译器
C++:入门学习C++,它在C的基础上做了哪些修改?
C++:入门学习C++,它在C的基础上做了哪些修改?
|
人工智能 JavaScript Serverless
|
监控 Serverless 测试技术
|
人工智能 Serverless 开发工具
|
Serverless API 调度
下一篇
无影云桌面