开发者学堂课程【云开发 Web 应用训练营:web 实战营第1课】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/911/detail/14413
web实战营第1课
目录:
一、解决方案
二、产品
三、应用
四、创建示范
五、拓展
认识云开发平台
一、解决方案
各种应用开发模板 填充少量业务代码就可以完成 web 应用
阿里云 Serverless 计算能力+天猫精灵, AI 智能机觉等 SDK+PHP、Springboot 等语言框架+少量的业务代码
二、产品
多个应用的有机集合
多个应用在逻辑上的归类目录
应用之间互相通信的内网通道
应用所在的地城( Region )
三、应用
实例化运行的解决方案
秒级启停:一键启动, 一键停止
云端开发: CloudIDE & Codeup 代码仓库
弹性配置:环境配置、自动运维
暴露按口:公网访问,内网访问
运行监控:日志、性能指标查看
衔接本地开发: CICD . 持续集成
真正需要操作的写少量业务代码、秒级启停:一键启动, 一键停止
云开发平台首页开发地址:workbench.aliyun.com
四、创建示范
输入企业组织或团队的名字
第一次进入会有云开发平台服务协议--签署协议
新建应用
选择应用场景:通过示范模板的解决方案快速搭建应用(解决方案分为三种:FC (是一种轻量级,按调用量计费‘0’费用启用)、SAE、ASK )
填写应用基本信息
应用图标和 codeup 代码仓库不是必填项
新建产品:
开通云服务:
1,API 调用量费用
共享实例的 API 调用量费用,根据您发布的 API 实际发生的调用量阶梯计费,阶梯价格如下:
五、拓展
应用部署、产品和应用的关系
云平台的基础概念:
CS 请状取访可您云资源的权限
下方是系统创建的可供 CS 使用的角色,授权后,CS 拥有对您云资源相应的访问权限
AliyunCSManagedLogRole
AliyunCSManagedCmsRole
AliyunCSManagedCsiRole
AliyunCSManagedVKRole
AliyunCSClusterRole
AliyunCSServerlessKubernetesRole AliyunCSKubernetesAuditRole AliyunCSManagedNetworkRole
AliyunCSDefaultRole
AliyunCSManagedKubernetesRole AliyunCSManagedArmsRole 、
ApiGateway 请求获取访问您云资源的权限
下方是系统创建的可供 ApiGateway 使用的角色,授权后,ApiGateway 拥有对您云资源相应的访问权限。
AliyunApiGatewayAccessingFCRole
DevcloudWorkbench 请求获取访问您云资源的权限
下方是系统创建的可供 DevcloudWorkbench 使用的角色,授权后,DevcloudWorkbench 拥有对您云资源相应的访问权限。
AliyunDevcloudWorkbenchDefaultRole
NAT 请求获取访问您云资源的权限
下方是系统创建的可供NAT使用的角色。授权后。NAT 拥有对您云资源相应的访问权限
AliyunNATAccessingNetworkInterfaceRole
Readme.md 代码:
##系统文件
-.workbench
-不可删除,云开发平台应用部署配置文件
-fcRouteDefault,「路由/函数入口」配置入口
-cicd,构建打包部署应用的 Shell 指令集;核心:将要部署的内容全部打包到项目根目录的 code.zip 压络包,云开发平台只认项目根目录的 code.zip 压缩包进行部署
-serverless.js
-SAFE,不可访问扩展名的目录或文件配置入口。加入此列表的目录,代表该目录下所有的文件都不可通过扩展名进行访问:加入此列表的文件,也不能通过扩展名进行访问;
##创建静态应用
-将本地开发好的静态应用直接拖拽到 CloudIDE 项目文件列表即可
-或者直接在 CloudIDE 项目文件列表创建
##创建 API
-建议在 CloudIDE 项目文件列表创建目录用于统一存放相关的 API
-API 格式
module.exports.handler =function(event,context,callback){
var request=JSON.parse(event);
// 请求内容都会存储在 event 中,JSON 编码后可遍历查看具体的内容
创建 API :
-建议在 CloudIDE 项目文件列表创建目录用于统一存放相关的 API
-API 格式
......
module.exports.handler=function(event,context,callback){var request =JSON.parse(event);
// 请求内容都会存储在 event 中,JSO N 编码后可遍历查看具体的内容
// do sth
var msg ='你好,世界!';1/返回值格式
var responseObject ={
isBase64Encoded:false,//与body内容是否进行base64 编码保持- statusCode: 200,//状态码,根据返回值自行决定适合的状态码 headers: {
"Content-type":"text/html;charset=utf-8"//根据返回值设置正确的 Content-type}。
body:msg//返回值};
callback(null, response0bject);//返回结果
部署有三个环境;日常环境,预发环境,线上环境
重点;
确认部署信息:
部署过程:
应用启动的状态: