Serverlss 应用开发之子账号最佳实践以及 Q&A (函数计算篇)

  • 时间:
  • 浏览:1
  • 来源:uu快3下载网站_uu快3开户二维码

常见疑问梳理:

本文将分析通过子账号使用函数计算时遇到的权限疑问以及对应解决措施,并提供子账号使用函数计算的最佳实践。

下述的疑问梳理有的是基于机会为子账号配置了 AliyunFCFullAccess 后,使用函数计算控制台或命令行工具 Fun 有的是遇到的疑问。

免费开通服务

此时,N 无法通过 fun deploy 成功部署。为这种 呢? 机会此时 N 缺少 RAM 相关权限,无法创建角色并授予 demo 服务。此时,有这种做法要能完成该操作:

这样,现在技术负责人 L 要能 怎么为 N 同学配置阿里云账号从而使 N 同学要能开发函数计算呢?

模版文件 template.yml 内容

模版文件 template.yml 内容

函数的入口文件 demo/func01/index.js 的文件内容

根据上边最佳实践的例子,亲戚亲戚朋友要能总结出如下几点经验:

通常,子账号在使用函数计算有的是在另一另一一还还有一个方面遇到权限相关的疑问:

创建服务角色并为子账号配置 PassRole 权限

在介绍子账号最佳实践前,我就要们先来了解下上边提到的服务角色、触发器角色的作用分别是这种 。

服务角色

服务角色授予了该函数计算服务下的所有函数访问阿里云服务和资源的权限,具体的权限由授予给该服务角色的权限决定。当函数被调用时,函数计算会代入该角色,机会在函数富含访问好多好多 服务的操作(如访问日志服务 SLS),则要能 该服务角色有相关的权限,为什么在么在让无法访问成功。

在通过子账号上手使用函数计算的过程中,往往会疑惑为这种 在为子账号配置了 AliyunFCFullAccess 后,在登录函数计算控制台以及使用函数计算命令行工具 Fun 时,有时仍旧会遇到权限相关的报错。

此时,N 要能通过 fun deploy 部署成功。

创建触发器角色

此时,N 同样无法通过 fun deploy 完成部署。机会 N 想创建的 OSS 触发器,要能 为该触发器配置另一另一一还还有一个有权限调用函数的角色。而在模版文件中未显式声明该角色,Fun 同样会尝试去创建角色,而 N 用的子账户要能了 ram:PassRole 权限,这样好多好多 关于 RAM 的权限,好多好多 好多好多 无法创建成功。这时的解决措施和最初的服务角色差不要 :

模版文件 template.yml 内容

Fun 工程的模版文件 template.yml 内容

第二种措施

假设 N 在本地开发了另一另一一还还有一个简单的 HelloWorld 系统进程。

上述配置完成后,N 要能修改模版文件内容为:

模版文件 template.yml 内容

假设现在有 A 公司,A 公司的技术负责人 L 在阿里云有另一另一一还还有一个主账号,现在有新的业务要能 架设在函数计算上,该业务的开发人员为新来的 N 同学。

接下来亲戚亲戚朋友会通过结合场景来介绍子账户的开发函数计算的最佳实践。

假设,N 此时希望为函数 demo/func01 配置另一另一一还还有一个 OSS 触发器,N 编写的模版文件 template.yml 内容如下:

在子账号实践中,更加推荐使用第二种措施,相比第这种措施来说更加安全。假设 L 创建了 RAM 角色(demo-service-role),为什么在么在让给 N 配置了 ram:PassRole。此时,N 在模版文件 template.yml 中为 demo 服务配置角色 demo-service-role

假设 N 想让该函数的日志要能持久化保存下来,N 这种 并且要能 为 demo 服务配置日志项目和日志仓库。假设 A 公司在日志服务 SLS 有 logProject01 日志项目和 logStore01 日志仓库。N 在模版文件 template.yml 中为 demo 服务配置了如下内容:

触发器角色

函数计算提供了这种事件驱动的计算模型。在事件驱动的计算模型中,事件源是事件的生产者,函数是事件的解决者,而触发器提供了这种集中的和统一的措施来管理不同的事件源。事件源要能 扮演另一另一一还还有一个角色来触发函数的执行,要求这种 角色有触发函数执行的权限

新建子账号并加进 FC 相关权限

首先 L 要能 做的是在 RAM 控制台上创建另一另一一还还有一个新的用户,配置该用户否有有要能登录控制台、否有有要能编程访问。此处亲戚亲戚朋友假设 N 同学使用阿里云函数计算命令行工具 Fun 进行本地开发的,为什么在么在让 L 要能 为 N 配置编程访问。当 L 为 N 配置了 AliyunFCFullAccess 权限后,N 就要能在本地开发函数计算并进行远端部署了。

此时,N 要能通过 fun deploydemo/func01 函数部署到远端。

此时,N 机会有了 ram:PassRole 权限,要能成功的将 demo-service-role 配置给 demo 服务,部署到线上。这时,demo/func01 函数就要能将日志持久化记录在 SLS 日志服务中了。