002 腾讯云-开发入门
课程目标:
1. 了解腾讯云以及腾讯云全球基础设施
2. 了解腾讯云开发的基础步骤以及环境准备
3. 掌握云API的基本使用
课程内容:
1. 腾讯云简介
2. 腾讯云开发入门
2.1 开发接入流程
2.2 云产品使用方式
2.3 账号使用安全
2.4 开发环境准备
3. 云API简介
3.1 云API概述
3.2 云API请求结构
3.3 API3.0 Explorer
[A] 腾讯云简介
服务提供能力:
[B] 云管理平台及云产品概览
VStation:腾讯云拥有超大规模的云服务器数量,为了更好的解决这些超大规模的服务器集群的调度,2013年腾讯云自主研发了革命性的虚拟机平台VStation。VStation上线后作为腾讯云新一代的调度系统,VStation承载了腾讯云COM的后台整体集群管理以及系统调度。VStation是腾讯自主研发的云计算管理平台。
VStation的设计原则:
1. 平行拓展,简洁高效,异步;
2. fail-fast,无状态,高可用;
3. 共享信道(如以太网);
4. 事务处理(如SQL);
5. 逻辑抽离(如CGL);
6. 易于追溯(如git);
VStation架构:
vstation与目前开源的OpenStack平台的区别:
云产品概述:即可以直接拿来使用的产品
云上开发各阶段对应的云产品概述:
[C] 腾讯云全球基础设施建设
截止到2019年初,已经开放25个地理区域,运营53个可用区。
腾讯云基础设施分布在全球多个位置,这些位置由地域(region)和可用区(zone)构成。每个地域(region)偶是一个独立的地理区域。
可用区(zone):指腾讯云在同一个区域内电力和网络相互独立的物理数据中心。
1. 同一个地域下有多个可用区,并通过低时延的内网络链路相连;
2. 创建实例时,可以选择指定地域下的任意可用区;
3. 用户可以将实例迁移到其他可用区。
为什么需要地域和可用区?
1. 高可用,容灾;
2. 降低访问时延;
3. 数据管理,数据保护(法律要求)
4. 成本(不同区域收费不一样)
[D] 开发接入流程
腾讯云开发接入流程:
登录网址:https://cloud.tencent.com/edu/learning/course-2216-31477
账号分类:
在使用时,不推荐使用主账号,因为主账号权限过大,风险也大,一旦泄露,所有资源都受影响。
如何避免安全问题:
1. 使用子账号访问腾讯云
2. 开启MFA保护,
3. 分子账户管理用户,权限和资源
[E] 云产品使用方式
云产品的使用方式有如下四种:
1. 腾讯云web控制台
网址:https://console.cloud.tencent.com/
即登录网址即可使用
2. SDKS:腾讯云开发者工具套件(SDK)3.0,SDK 3.0 是云API3.0平台的配套工具
3. API:API3.0 Explorer,提供了在线调用,签名认证,SDK代码生成和快速检索接口等能力,能显著降低使用云API3.0的难度
各产品对应API参考文档:https://cloud.tencent.com/document/api
4. CLI:腾讯云命令行工具(TCCLI)
[F] 账号使用安全
1. 如何创建子账号?如何控制子账号权限?
通过访问管理可创建子账号并且分配子账号的权限。
访问管理(Cloud Access Management,CAM):
1. 腾讯云提供web服务,主要用于帮助客户安全管理腾讯云账户下的资源的访问权限。用户可以通过CAM创建,管理和销毁用户(组),用使用身份管理和策略管理控制其他用户使用腾讯云资源的权限
主要功能:
1. 管理访问权限
2. 精细化的权限管理
3. 联合身份
4. 最终一致性
CAM的概念关系:
角色:角色类似于腾讯云用户,可以看做是腾讯云的“虚拟账户”。
角色载体:
1. 能够申请担任角色的对象称之为角色载体
2. 腾讯云角色载体分为两类:
腾讯云账号
已支持角色功能的产品服务
角色,策略和云产品访问之间的关系:
2. 通过CAM创建子账号(子用户)流程:
CAM最佳实践:
1. 使用用户组给子账号分配权限
2. 最小权限原则
3. 定期轮换身份凭证
4. 删除不需要的证书和权限
5. 使用临时秘钥
[G] 开发环境准备
1. 开发环境分类:
本地开发环境 + 腾讯云
在本地开发测试,结合腾讯云产品使用
在线开发环境 + 腾讯云
使用在先的开发环境,结合腾讯云使用
本地开发环境(以java语言为例):
网络环境,访问腾讯云,下载依赖包等
java开发环境,JDK1.7以上
Maven版本:3.5
修改setting配置为国内镜像
Maven便形成过程中需要下载依赖,需要网络环境
Eclipse或者IDEA
字符集编码:UTF-8
云端开发环境:
Cloud Studio:基于浏览器的集成开发环境(IDE),开发者可以在Cloud Studio中创建工作空间来存放自己的项目代码,安装所需要的环境,以及运行,编译自己的项目。
网址:https://cloudstudio.net
[H] 云API概述
云API是腾讯云开放生态的基石。
快速:通过云API,只需要少量的代码即可快速草案做云产品
高效:使用云API完成一些频繁调用的功能可以极大的提高效率
灵活:通过API可以组合功能,实现更高级的功能,抑郁自动化,易于远程调用
兼容性强,对系统的要求低
云API应用场景:
功能组合:对于重复性的操作,可以通过云PAI进行组合
定制化需求:
[ I ] 云API请求结构
以查询云服务器列表接口为例,HTTP POST(application/ json)请求结构示例:
通信协议:
腾讯云API的所有借口均通过HTTPS进行通信,提供高安全性的通信通道
支持http请求的方法:
POST(推荐)
GET
字符编码:
均使用utf-8编码
服务器地址示例:
以云服务器的访问为例,具体产品服务地址请参考API中心对应的产品,如:https://cloud.tencent.com/document/api/214/30669
[J] API3.0 Explorer