产品简介产品简介蓝鲸 PaaS 平台是一个开放的平台,又称蓝鲸 PaaS。该产品在蓝鲸体系中有 3 个重要的作用: 一、面向普通用户,它是进入蓝鲸体系的第一个产品,提供了通用的基础服务,如登录认证、消息 通知、其他产品的快捷入口(工作台)、获取更多产品的应用市场等; 二、面向开发人员,它提供了很多的 'SaaS 开发者服务',让开发者可以简单、快速地创建、部署 和管理应用,它提供了完善的前后台开发框架、API 网关(ESB)、调度引擎、公共组件等模块, 帮助开发者快速、低成本、免运维地构建支撑工具和运营系统。PaaS 平台为一个应用从创建到部 署,再到后续的维护管理提供了完善的自助化和自动化服务,如日志查询、监控告警、运营数据 等,从而使开发者可以将全部精力投入到应用的开发之中。主要功能有:支持多语言的开发框架 / 样例、免运维托管、SaaS 运营数据可视化、企业服务总线(API 网关)、可拖拽的前端服务 (MagicBox)等。 三、面向系统维护人员(系统管理员),它提供了用户管理(含角色管理)、服务器基本信息维 护、第三方服务可视化管理、API 权限控制等功能,更好地维护和管理平台的可用性。 目前,蓝鲸 PaaS 平台已正式对外开源,GitHub 地址: https://github.com/Tencent/bk-PaaS 术语解释术语解释工作台工作台:又称'工作面板' 或者 '桌面',登录进入蓝鲸后,看到的第一个页面,汇总了当前可用 的所有 SaaS 应用。 SaaS 应用应用:又称为'APP',由蓝鲸 PaaS 平台托管的工具/系统/产品,功能相对独立,基于PaaS 平台才可以正常使用,如节点管理、标准运维等,都属于 SaaS 应用。 开发环境开发环境:对于开发者而言,是基于蓝鲸 PaaS 进行 SaaS 开发的,需要有研发环境。PaaS 平台提供了本地开发环境(个人电脑)、测试环境(预生产环境/预投产环境)、正式环境(生产环境/ 投产环境)三种不同的开发环境。 MagicBox:又称为'前端魔盒',是一款免费的、在线的前端产品,支持拖拽组件生产前端代码,可以帮助开发者快速构建 SaaS 的前端。 开发框架开发框架:是提高开发者研发效率的功能组件的集合,基于开发框架进行降低通用的研发难 度。 产品架构图产品架构图PaaS 平台不仅将应用服务的运行和开发环境作为一种服务提供给开发者用户,更为开发者用户提 供了高效便捷的开发服务,如:组件系统,统一登录,权限管理,后台框架,MagicBox,桌面/工作 台等。 普通用户从'工作台' 进入,获取自己需要的产品入口,并可以根据自己的习惯,定制个人'工作面 板'。 -w2020 个人工作台个人工作台蓝鲸提供了很多开箱即用的 SaaS,会统一展示在用户的'个人工作台'。为避免'工作台'内容过多, 影响办公效率,可以通过'排序'的方式调整 SaaS 系统的入口。 下图所示:'登录' -> '排序' -> 拖拽调整顺序 ->'完成'。 个人中心个人中心'个人中心' 提供了个人信息修改、密码重置等基础功能,更多功能菜单根据用户的权限不同,展示 不同的入口,并做了基础的权限控制。 管理员个人中心 普通用户个人中心 开发者服务开发者服务 服务概述服务概述 蓝鲸 PaaS 平台的核心功能就是为开发者提供了通用的、便捷的开发者服务,成为企业内部技术体 系的核心发动机,助力企业构建内部私有化的 SaaS 应用市场。 社区版 5.1(含 V5.1)之前的版本是通过'用户管理'中的'角色'来区分的,后续版本中将 通过'权限中心'和'用户管理'两个基础服务的 SaaS 来进行更细粒度的权限管理,包括以 个人、组织架构等维度进度权限申请、审批等功能。 ' ' 基于 PaaS 的开发模式,大幅提升企业内部应用构建的效率。 基础功能基础功能 开发环境开发环境 按照开发者的习惯,为每个开发者自己创建的 SaaS 提供了 3 个环境,最大限度保证自研 SaaS 的 可用性。 (1) 本地开发环境:开发者在本地开发、编码的环境 (2) 测试环境:SaaS 未发布之前,部署到 PaaS 平台测试其功能的有效性和完整性 (3) 正式环境:SaaS 部署到正式环境后,其他用户即可在'工作台'看到该 SaaS 所以,本地环境和测试环境的主要用户为开发者,用于开发者编码和自测; 正式环境,即就是将 SaaS 正式发布对外,是所有用户都可以看到并使用的。 开发框架开发框架 为了提高 SaaS 应用的可维护性,提高开发效率,蓝鲸提供了统一的'前后台开发框架', 该'开发框架'分为前台和后台两部分,集成统一登录鉴权模块、功能开关模块、WEB 安全防护模 块、功能组件模块等通用模块。 从而让用户可以专注于代码逻辑的构建。 当用户将代码在本地运行,或者打开线上的'开发框架'SaaS,将会看到下图的界面。 说明:虽然用户可以看到系统,但是是否能访问这个系统,取决于应用的设计与开发, 可以针对用户进行授权。 '' 为了最大程度降低开发难度,基于'开发框架'研发了'开发样例',即就是做了部分通过的功能。 统一登录鉴权模块:统一使用 PaaS 平台的'用户管理'和登录逻辑 WEB 安全防护:主要包括防 CSRF 攻击和防 XSS 攻击。使用 Django 提供的 CSRF 模块,开 发者无需做其他设置。如需对某些请求去除 CSRF 验证,可在对应 view 函数添加 csrf_exempt 装饰器;XSS 攻击的中间件,会对所有请求参数将进行特殊字符转义(富文本内容、URL 有特 殊处理方式)。 功能开关模块:支持开发者在 SaaS 开发迭代中对功能选择性开放、灰度测试等。 两种仓库类型两种仓库类型 支持 Git 和 SVN 两种仓库类型。输入有效的仓库地址,'创建应用'后,可以根据当前 SaaS 的开发 情况,选择是否将蓝鲸的开发框架代码初始化到仓库中,开发者基于该框架进行 SaaS 开发。建议 新手选择'初始化'框架到仓库的操作。 可扩展的环境变量可扩展的环境变量 对应有些敏感变量,比如外部数据库 IP,账号密码等,直接写到代码中会有暴露风险,而且每次修 改,需要拉取代码,修改提测上线后才能使用,蓝鲸开发者中心针对该场景,使用变量设置功能完 全可以解决开发者的变量硬编码问题。 免运维托管免运维托管 社区版社区版 该功能是 PaaS 模式最核心的功能,基于 Virtualenv 的应用部署模式,在 SaaS 部署时,平台为会 它们创建独立的 Virtualenv,保证每个 SaaS 拥有一套 '隔离' 的 Python 运行环境。SaaS 的服务进 程则是以 uWSGI 的 cheaper 模式托管,由于采用了 Busyness 算法,uWSGI 能够根据繁忙度,动 态的调配 worker 个数,从而达到合理利用系统资源的目的 企业版企业版 SaaS 应用部署时,平台为会它们创建独立的容器,保证每个应用拥有一套'隔离'的运行环境。 SaaS 的服务进程则是以 uwsgi 的 cheaper 模式托管,由于采用了 busyness cheaper 算法,uwsgi 能够根据繁忙度,动态的调配 worker 个数,从而达到合理利用系统资源的目的。 应用数据库托管服务应用数据库托管服务 'S-mart 应用'部署后,PaaS 平台为每个应用分配有两套独立数据库(测试库和正式库),并配备高可 用方案,保证数据的可靠性。 若选择基于 Django 框架进行 SaaS 开发,可以使用 Django admin 在线查看数据库。将数据模型注 册到 admin.py 文件中,就可以在页面上对数据进行 增、删、改、查。 API 网关网关 PaaS 平台是基于 SOA 理念设计的,其中最重要的就是企业服务总线,即'API 网关'。它有两个作 用: 其一,为整个蓝鲸体系服务,蓝鲸的其他平台,如:配置平台、作业平台、数据平台等,均可以将 各平台的特性以API的形式对接到组件中,便于 PaaS 平台上的 SaaS 调用,整合各个平台的强大功 能,发挥最实用的价值。 其二,第三方系统,如微信公众号/微信企业号/企业微信、邮件系统、OA 系统、AD 系统、财务系 统等非蓝鲸体系内的运营系统,同样以 API 的形式将特性对接到组件,丰富和完善整个 PaaS 平台 企业服务总线的服务。从而使 PaaS 平台之上的 SaaS 可以调度一些,连接一切。 特别说明: 1)APIGateway 是企业服务总线(ESB)功能的一部分。经常用'ESB'指代通过编码方式接入的 API,该模式接入后,需要根据指引,需要重启服务模块才能生效;'APIGateway'指代通过 RESTful API 的模式接入的 API ,该模式接入后,无需重启服务模块。 2)根据当前的组件目录结构,组件加载顺序为:先查找'apis',再查找'templates',请将用户自定 义编码接入的 API 放到'templates'目录下,否则版本更新中,会覆盖官方提供的原生 API。 'API 网关' 仅限于 '管理员' 角色操作,从 '开发者中心'—>'API 网关' 进入使用。 'API 网关' 给出了详细的使用文档,分为以下几个部分: (1) 简介:概述 API 网关,API 网关的两种接入教程:编码方式(采用 Python 语法)和自助接入方 式 (2) 系统管理:API 来自于哪个系统,可以看成是 API 的分类 (3) 通道管理:API 访问的路径管理 (4) 自助接入:目前仅支持 http 请求形式的自助接入 (5) 使用指南:详细的 API 网关的使用教程,如接入教程、自定义配置信息调整、CMSI 消息通知如 何配置,以及如何为新加入的组件生产/0更新'组件文档' (6) API 文档:查询蓝鲸官方的和自定义接入组件的使用文档 MagicBox MagicBox(链接:http://magicbox.bk.tencent.com/ ),又称为前端魔盒。是一个前端资源 PaaS 平 台,为蓝鲸应用开发者提供丰富的前端资源,包括常用的 UI 组件、JS 插件及基础模版,开发者可 以通过蓝鲸 MagicBox 快速构建页面。它还提供完整的套餐样例供开发者选择,开发者也可以在线 拖拽组件组装页面,让前端布局可视化。 注:蓝鲸组件在线 API 文档。'' 开发培训开发培训 蓝鲸为开发者提供了详细的线上 视频教程。 DevServicesBaseCE 提供了长期有效的 早起鸟儿有虫吃 学习活动,参与有礼。 开发交流开发交流 为了提供即时有效的技术沟通,组建了'运维开发群' QQ:878501914 用户管理用户管理为了保证使用蓝鲸产品的用户都是可信的,PaaS 平台为整个蓝鲸体系提供了'统一登录'模块,该模 块包含了基本账号体系。当搭建部署好蓝鲸体系的产品后,会提供一个 URL 给用户访问。 社区版提供了两种角色: (1) 管理员:拥有最高权限,可以对蓝鲸用户进行增删改查,对 SaaS 引用进行管理,对后台服务进 行管理等; (2) 用户:基本功能的使用,包括:独立的个人工作台、普通 SaaS 产品,开发者中心创建 SaaS。 管理员可以管理用户信息,包括分配用户角色和权限。 支持以下操作: (1) 新增用户:录入信息,添加一个用户; (2) 批量导入:下载 excel,并按照格式完善信息,即可批量导入用户信息; 注:社区版的管理员初始化用户名:admin 密码:blueking,请及时修改,且该 admin 是整个体系内置的管理员账号,该账号不可删除,请妥善保存。 '' (3) 用户查询:可选择角色类型(所有用户,管理员,用户)进行查询; (4) 操作:编辑用户信息,重置密码,删除用户。 应用管理应用管理蓝鲸 PaaS 平台承载着众多 SaaS,根据 SaaS 部署方式分为 3 种: 第一种:S-mart 应用,通过'下载 SaaS 包 -> 上传部署(正式环境)-> 配置后台服务(可选)-> 工作台 进入'的方式来使用; 第二种:我的应用,属于开发者/用户自己研发的 SaaS 应用,按照'创建应用 -> 研发 -> 测试环境部 署 -> 正式环境部署'的方式自研工具/系统。 当应用创建完成后,可以在'我的应用'中看到,并对指定的应用进行基本操作。 第三种:外链应用,在社区版中没有放到'开发者中心'进行添加,而是通过 PaaS 平台的后台管理 进行操作。 说明:'S-mart 应用'、'外链应用' 属于管理员操作,'我的应用'开发者即可进行操作。 这种 '可插拔式' 的 SaaS 应用模式,给用户提供了更多的选择性,也方便管理员对应用进行管理, 包括应用的 '部署'、'下架' 等操作。 为了保证 SaaS 的正常使用,严格记录每一次发布变更的操作信息,不论是测试环境,还是正式环 境。 '常用链接' 的类型有 3 种: - 普通链接:添加后,显示在'个人工作台'的右侧,作为'常 用链接'; - SaaS 链接:添加后,显示在'个人工作台'的面板中,跟其它两类的应用并 无差异; - 轻应用:将'标准运维'生成单一操作的流程应用,通过接口自动注册到 PaaS 中,用户无需处理。 ' ' 系统维护系统维护PaaS 平台提供了基础的维护方式,让管理员可以基于 WEB 页面进行简单的维护操作。 服务器管理:可以对搭建部署 SaaS 运营时托管环境的服务器进行简单的操作,包括添加服务 器列表、刷新操作、删除。 第三方服务:对 SaaS 通用的第三方服务进行管理,可以根据企业情况添加。 配置通知渠道:参考'使用指南 -> CMSI 消息组件'的使用教程,即可完成内置的邮件、微信/企 业微信/公众号、短信、语音的通知服务配置。 说明:若使用腾讯云服务,需要自行购买该服务,短信、语音模板可参考蓝鲸消息通知模板。 SaaS 上下架:可以从后台进入到指定目录下,对 SaaS 的状态进行调整。 其他高级功能其他高级功能(1) 对接企业 SSO 为了适配企业内已有的权限登录系统,蓝鲸企业版提供了完善的解决方案,包括但不限于对接企业 的 SSO。详细的对接教程请参考'开发指南'--> '对接企业登录体系' 。 (2) 高可用集群 平台各服务模块,均采用多机部署,由接入层的 healthcheck 模块做负载均衡,保证了平台基础服 务的可用性;线上环境的 SaaS 服务也采用了同样的技术方案,多实例部署,在保证隔离性的同 时,提高了 SaaS 服务的可用性。 (3) 组件访问频率控制 组件是连接各个系统的桥梁,需要时刻保证组件的可用性和稳定性,通过组件的访问频率控制有效 地缓解组件服务的压力。 (4) 企业贴身定制培训 蓝鲸智云产品不仅仅提供通用的产品服务,更为企业提供能力交付的培训,让企业员工快速成长, 提高企业的竞争力。授人以鱼,更要授人以渔。因此蓝鲸可以根据企业内部员工的能力,定制培训 计划,包括:蓝鲸产品的使用与维护,蓝鲸 DevOps 技能培训,蓝鲸认证等培训服务。 使用蓝鲸的某个使用蓝鲸的某个 SaaS(1) 访问蓝鲸'工作台'/'桌面'(若提示用户名/密码错误,请联系系统管理员申请权限) (2) 点击感兴趣的 SaaS 即可使用(若 SaaS 使用过程中有什么疑问,请联系 SaaS 开发者/运营负责 人) 开发一个开发一个 SaaS(1) 从'工作台',点击'开发者中心' (2) 选择'新手指南',根据指引完成第一个 SaaS 的开发 (3) 本地开发环境搭建的其他方式,可参考社区分享(蓝鲸智云本地开发环境指南(Pycharm)) 如何将蓝鲸如何将蓝鲸 S-mart 上的上的 SaaS 部署起来?部署起来?(1) 以管理员的身份进入'开发者中心' (2) 点击'S-mart 应用' (3) 点击'上传部署新应用' (4) 选择从蓝鲸 S-mart 上下载的 SaaS 包 (5) 点击'部署' (6) 部署成功后,即可在'工作台'点击进入 如何使用蓝鲸如何使用蓝鲸 MagicBox 拖拽一个前端界拖拽一个前端界面?面?(1) 访问 MagicBox (2) 选择'可视化布局',选择'PC 端可视化布局'或者'移动端可视化布局' (3) 以 PC 端为例:选择网站'布局'结构 (4) 从左侧导航选择需要的前端元素,拖拽到右侧的布局中,双击元素可以编辑内容 (5) 最后,点击上面的'保持'/'下载' 即可获取完整的前端界面代码。 如何将第三方系统放在蓝鲸桌面如何将第三方系统放在蓝鲸桌面 / 工作台中工作台中使用?使用?该功能在社区版和企业版的操作流程是不一样的。 企业版企业版 该版本提供了'外链应用',通过创建该类型应用的方式,即可完成引入第三方系统到'应用市场' 的 操作。 (1) 管理员身份->'开发者中心'->'外链应用' (2) '桌面'—>'应用市场' 社区版社区版 (1) 进入 PaaS 平台管理端:domain/admin,选中'常用链接' (2) 添加'常用链接',会发现有 2 种类型 '普通链接'将会显示在面板的'常用链接'。 'SaaS 链接'将会显示在工作面板中,所以需要上传一个 logo。 如何配置通知渠道,如邮件、微信、短信如何配置通知渠道,如邮件、微信、短信等?等?蓝鲸内置了邮件、微信的通知渠道,以'admin'的角色进入'开发者中心'->'API 网关'->'使用指南'- >'微信消息组件',可以参考详细的教程进行配置。该配置属于整个蓝鲸体系的通用配置。 通知渠道配置入口 温馨提示: 软件属于私有部署到企业内部使用,企业需要提供已有的邮件、微信、短信等通知渠道。 邮件:可使用已有的邮箱账号。 微信:可前往微信官网申请账号,蓝鲸不提供公共账号,请确保可以访问 weixin.qq.com。 短信:默认提供的是腾讯云的短信渠道,需要用户购买腾讯云的 sms 服务。 三种通知渠道,均提供了可页面化的配置方式,无需进行二次开发;若想修订,可在后台进行编码 调整。 通知渠道 API 点击'发送邮件'底部显示的参数信息。 邮件渠道配置参数图 dest_url: 若用户不擅长用 Python,可以提供一个其他语言的接口,填到 dest_url,ESB 仅作请 求转发即可打通邮件配置 smtp_host: SMTP 服务器地址(注意区分企业邮箱还是个人邮箱) smtp_port: SMTP 服务器端口(注意区分企业邮箱还是个人邮箱) smtp_user: SMTP 服务器账号(mail_sender 相同) smtp_pwd:SMTP 服务器账号密码(一般为授权码) smtp_usessl: (默认为 1) mail_sender: 默认的邮件发送者(smtp_user 相同) 点击'发送微信消息'底部显示的参数信息。 微信渠道配置参数图 部署应用过程中,状态一直在部署应用过程中,状态一直在 '正在提测正在提测'中,如何处理?中,如何处理?1) 以'admin'身份进入蓝鲸软件; 2) 在浏览器输入'{domain}/admin'即可进入 PaaS 平台的后台 图一. PaaS 平台后台图 3) 进入如下图的目录,找到对应的 SaaS,更改其当前的状态,即可进行重新部署 图二. '日志检索'的状态修改入口图 4) 将 SaaS 状态调整为'测试中'即可对该产品重新部署。 如何给某一个如何给某一个 SaaS 开组件开组件'免用户认证免用户认证'的的白名单?白名单? 获取 应用 ID ,登陆 PaaS 平台—> 开发者中心— S-mart应用 (自己开发的应用在我的应用 ) S-mart 市场和自己开发的市场和自己开发的 SaaS 需要开通白名单免登录验证才能正常使用需要开通白名单免登录验证才能正常使用'' 以管理员身份进入 PaaS 平台的后台 {paas_domain}/admin,进 Function controllers目 录 点击 user_auth::skip_user_auth 进入白名单组件目录 根据格式要求填写应用 ID(支持两种格式数据,以逗号、分号分隔的字符串,及 JSON 格式字 符串) 如何配置短信如何配置短信/语音消息通知的模板?语音消息通知的模板?腾讯蓝鲸软件默认的通知渠道有3种,其中短信的通知渠道集成了腾讯云短信服务,用户可以自行选 择购买该服务。 在使用该服务的过程中,需要按照短信服务的要求,去申请发送消息的模板。现将蓝鲸产品的消息 模板总结如下,可使用该模板提交申请。 说明: 1. 该服务有2类消息类型,一类是文本消息,常见的短信服务模式;一类是语音消息,常见的电 话通知模式。 2. 由于模板对于字数的要求不同,所以同一个产品的文本消息和语音消息模板存在差异,蓝鲸希 望最大程度表达清楚产品当前的通知内容 语音消息语音消息&文本消息模板文本消息模板 标准运维标准运维 文本消息示例:文本消息示例: 【腾讯蓝鲸】标准运维通知,您的蓝鲸业务下的 new20191112201403 任务执行失败,操作员是 Anna,详情请前往标准运维查看,如非本人订阅,请忽略本消息。 文本消息模板:文本消息模板: 签名内容:腾讯蓝鲸 短信内容:标准运维通知,您的业务{biz_name}下{task}任务执行失败,操作员是{maintainer},详情 请前往{url}查看,如非本人订阅,请忽略。 语音消息示例:语音消息示例: 标准运维通知,您的蓝鲸业务下的new202089849849任务执行失败,如非本人操作请忽略。 语音消息模板:语音消息模板: 模板内容:标准运维通知,您的{biz_name}业务下的{task}任务执行失败,如非本人操作请忽略 蓝鲸监控蓝鲸监控 文本消息示例:文本消息示例: 【腾讯蓝鲸】蓝鲸监控通知,您的业务蓝鲸下主机192.168.0.1,于2019-11-10 17:30:00发生告警 CPU 负载过高,请及时处理,详情请前往蓝鲸监控查看,如非本人订阅,请忽略本消息。 文本消息模板:文本消息模板: 签名内容:腾讯蓝鲸 短信内容:蓝鲸监控通知,您的业务{biz_name}下主机{host_ip},于{time}发生告警{message},请 及时处理,详情请前往{url}查看,如非本人订阅,请忽略。 语音消息示例语音消息示例 蓝鲸监控通知,您的蓝鲸业务下192.168.0.1主机CPU 负载过高,如非本人操作请忽略 语音消息模板语音消息模板: 模板内容:蓝鲸监控通知,您的业务下{biz_name}主机{host_ip},如非本人操作请忽略 故障自愈故障自愈 文本消息示例:文本消息示例: 【腾讯蓝鲸】故障自愈通知,您的业务蓝鲸下主机192.168.0.1,于2019-11-10 17:30:00 CPU 负载 过高 告警自愈失败,详情请前往故障自愈SaaS查看,如非本人订阅,请忽略。 文本消息模板:文本消息模板: 签名内容:腾讯蓝鲸 短信内容:故障自愈通知,您的业务{biz_name}下主机{host_ip},于{time}{message}自愈失败,详 情请前往{url}查看,如非本人订阅,请忽略。 语音消息示例:语音消息示例: 故障自愈通知,您的蓝鲸业务下的主机192.168.0.1,CPU负载过高自愈失败,如非本人操作请忽略 语音消息模板:语音消息模板: 模板内容:故障自愈通知,您的{biz_name}业务下的主机{host_ip},{message}自愈失败,如非本人 操作请忽略 作业平台作业平台 文本消息示例:文本消息示例: 【腾讯蓝鲸】作业平台通知,您的业务蓝鲸下快速执行脚本 -20191112204131649 执行失败,操作 原是 Anna ,详情请前往作业平台查看详情,如非本人订阅,请忽略。 文本消息模板:文本消息模板: 签名内容:腾讯蓝鲸 短信内容:作业平台通知,您的业务{biz_name}下{task}执行失败,操作员是{maintainer},详情请前 往{url}查看详情,如非本人订阅,请忽略本消息。 语音消息示例:语音消息示例: 作业平台通知,您的蓝鲸业务中快速执行脚本-20191112204131649执行失败,如非本人操作请忽略 语音消息模板:语音消息模板: 模板内容:作业平台通知,您的{biz_name}业务中{task}执行失败,如非本人操作请忽略 其中 {biz_name} 、 {task} 等都属于变量,他们的值可以在实际下发时通过设置模板参数的值来自定 义,文本消息中的短信签名,可以使用公司名称,app名称,公众号等,在控制台申请短信签名时 无需输入'【】',例如需要使用【腾讯蓝鲸】作为签名时,只需输入【签名内容】为腾讯蓝鲸即 可,短信签名最多可以申请200个,若不同短信签名需要匹配不同短信内容,可通过sign 赋值来实 现,详情可查看腾讯云发送短信相关接口。 以上为蓝鲸产品内目前内置的消息样例,若在审核过程中出现问题,可以参考腾讯云的短信错误码 文档及腾讯云的语音消息错误码进行调整。 蓝鲸统一登录蓝鲸统一登录 API 简介简介 蓝鲸统一登录,管理用户登录验证,及用户信息。蓝鲸统一登录,管理用户登录验证,及用户信息。 资源名称资源名称 资源描述资源描述 get_all_users 获取所有用户信息 get_batch_users 批量获取用户信息 get_batch_users_platform_role 批量获取用户各平台角色信息 get_user 获取用户信息 请求地址请求地址 /api/c/compapi/v2/bk_login/get_all_users/ 请求方法请求方法 GET 功能描述功能描述 获取所有用户信息 请求参数请求参数 通用参数通用参数 字段字段 类型类型必必选选 描述描述 bk_app_code string 是 应用 ID bk_app_secret string 是 安全密钥(应用 TOKEN),可以通过 蓝鲸智云开发者中心 -> 点击应用 ID -> 基本信息 获取 bk_token string 否 当前用户登录态,bk_token 与 bk_username 必须一个有效, bk_token 可以通过Cookie 获取 bk_username string 否 当前用户用户名,应用免登录态验证白名单中的应用,用此字段指定当前用户 接口参数接口参数 字段字段 类型类型 必选必选 描述描述 bk_role int 否 用户角色,0:普通用户,1:超级管理员,2:开发者,3:职能化用户,4:审计员 请求参数示例请求参数示例 { 'bk_app_code': 'esb_test', 'bk_app_secret': 'xxx', 'bk_token': 'xxx', 'bk_role': 0} 返回结果示例返回结果示例 { 'result': true, 'code': 0, 'message': 'OK', 'data': [ { 'bk_username': 'admin', 'qq': '12345', 'bk_role': 0, 'language': 'zh-cn', 'phone': '12345678911', 'wx_userid': '', 'email': '11@qq.com', 'chname': 'admin', 'time_zone': 'Asia/Shanghai' } ]} 返回结果参数说明返回结果参数说明 字段字段 类型类型 描述描述 result bool 请求成功与否,true:请求成功,false:请求失败 code string 组件返回错误编码,0表示 success,>0表示失败错误 message string 请求返回的消息 data object 请求返回的数据 DATA 字段字段 类型类型 描述描述 bk_username string 用户名 qq string 用户QQ language string 语言 phone string 手机号 wx_userid string 企业号用户 USERID/公众号用户 OPENID email string 邮箱 chname string 中文名 time_zone string 时区 请求地址请求地址 /api/c/compapi/v2/bk_login/get_batch_users/ 请求方法请求方法 POST 功能描述功能描述 批量获取用户信息 请求参数请求参数 通用参数通用参数 字段字段 类型类型必必选选 描述描述 bk_app_code string 是 应用 ID bk_app_secret string 是 安全密钥(应用 TOKEN),可以通过 蓝鲸智云开发者中心 -> 点击应用ID -> 基本信息 获取 bk_token string 否 当前用户登录态,bk_token 与 bk_username 必须一个有效,bk_token 可以通过Cookie 获取 bk_username string 否 当前用户用户名,应用免登录态验证白名单中的应用,用此字段指定当前用户 接口参数接口参数 字段字段 类型类型 必选必选 描述描述 bk_username_list array 是 用户名列表 请求参数示例请求参数示例 { 'bk_app_code': 'esb_test', 'bk_app_secret': 'xxx', 'bk_token': 'xxx', 'bk_username_list': ['admin', 'test']} 返回结果示例返回结果示例 { 'result': true, 'code': 0, 'message': 'OK', 'data': { 'admin': { 'bk_username': 'admin', 'qq': '12345', 'bk_role': 1, 'phone': '11111111111', 'language': 'zh-cn', 'wx_userid': '', 'email': '11@qq.com', 'chname': 'admin' 'time_zone': 'Asia/Shanghai' } }} 返回结果参数说明返回结果参数说明 字段字段 类型类型 描述描述 result bool 请求成功与否,true:请求成功,false:请求失败 code string 组件返回错误编码,0表示success,>0表示失败错误 message string 请求返回的消息 data object 请求返回的数据 DATA 字段字段 类型类型 描述描述 bk_username string 用户名 qq string 用户 QQ language string 语言 phone string 手机号 wx_userid string 企业号用户 USERID/公众号用户 OPENID email string 邮箱 chname string 中文名 time_zone string 时区 请求地址请求地址 /api/c/compapi/v2/bk_login/get_batch_users_platform_role/ 请求方法请求方法 POST 功能描述功能描述 批量获取用户各平台角色信息 请求参数请求参数 通用参数通用参数 字段字段 类型类型必必选选 描述描述 bk_app_code string 是 应用 ID bk_app_secret string 是 安全密钥(应用 TOKEN),可以通过 蓝鲸智云开发者中心 -> 点击应用ID -> 基本信息 获取 bk_token string 否 当前用户登录态,bk_token 与 bk_username 必须一个有效,bk_token 可以通过Cookie 获取 bk_username string 否 当前用户用户名,应用免登录态验证白名单中的应用,用此字段指定当前用户 接口参数接口参数 字段字段 类型类型 必选必选 描述描述 bk_username_list array 是 用户名列表 bk_token string 否 登录票据 字段字段 类型类型 必选必选 描述描述 请求参数示例请求参数示例 { 'bk_app_code': 'esb_test', 'bk_app_secret': 'xxx', 'bk_token': 'xxx', 'bk_username_list': ['admin', 'test']} 返回结果示例返回结果示例 { 'result': true, 'code': 0, 'message': 'OK', 'data': { 'admin': { 'bkdata': [ 1 ], 'job': [ 2 ] } }} 返回结果参数说明返回结果参数说明 字段字段 类型类型 描述描述 result bool 请求成功与否,true:请求成功,false:请求失败 code string 组件返回错误编码,0 表示 success,>0表示失败错误 message string 请求返回的消息 data object 请求返回的数据 DATA 字段字段 类型类型 描述描述 key1 string 用户名 key1.key2 string 产品代号 key1.key2.value list 用户角色,0:普通用户,1:超级管理员,2:开发者,3:职能化用户,4:审计员 请求地址请求地址 /api/c/compapi/v2/bk_login/get_user/ 请求方法请求方法 GET 功能描述功能描述 获取用户信息 请求参数请求参数 通用参数通用参数 字段字段 类型类型必必选选 描述描述 bk_app_code string 是 应用 ID bk_app_secret string 是 安全密钥(应用 TOKEN),可以通过 蓝鲸智云开发者中心 -> 点击应用 ID -> 基本信息 获取 bk_token string 否 当前用户登录态,bk_token 与 bk_username 必须一个有效,bk_token 可以通过Cookie获取 bk_username string 否 当前用户用户名,应用免登录态验证白名单中的应用,用此字段指定当前用户 请求参数示例请求参数示例 { 'bk_app_code': 'esb_test', 'bk_app_secret': 'xxx', 'bk_token': 'xxx',} 返回结果示例返回结果示例 { 'result': true, 'code': 0, 'message': 'OK', 'data': { 'bk_username': 'admin', 'qq': '12345', 'bk_role': 1, 'language': 'zh-cn', 'phone': '12345678911', 'wx_userid': '', 'email': '11@qq.com', 'chname': 'admin', 'time_zone': 'Asia/Shanghai' }} 返回结果参数说明返回结果参数说明 字段字段 类型类型 描述描述 result bool 请求成功与否,true:请求成功,false:请求失败 code string 组件返回错误编码,0 表示 success,>0表示失败错误 message string 请求返回的消息 data object 请求返回的数据 字段字段 类型类型 描述描述 DATA 字段字段 类型类型 描述描述 bk_username string 用户名 qq string 用户 QQ language string 语言 phone string 手机号 wx_userid string 企业号用户 USERID/公众号用户 OPENID email string 邮箱 chname string 中文名 time_zone string 时区 蓝鲸开发者中心蓝鲸开发者中心 API 简介简介 资源名称资源名称 资源描述资源描述 get_app_info 获取应用信息 请求地址请求地址 /api/c/compapi/v2/bk_paas/get_app_info/ 请求方法请求方法 GET 功能描述功能描述 获取应用信息,支持批量获取 请求参数请求参数 通用参数通用参数 字段字段 类型类型必必选选 描述描述 bk_app_code string 是 应用 ID bk_app_secret string 是 安全密钥(应用 TOKEN),可以通过 蓝鲸智云开发者中心 -> 点击应用ID -> 基本信息 获取 bk_token string 否当前用户登录态,bk_token 与 bk_username 必须一个有效,bk_token 可以通过Cookie获取 bk_username string 否 当前用户用户名,应用免登录态验证白名单中的应用,用此字段指定当前用户 接口参数接口参数 字段字段 类型类型必必选选 描述描述 target_app_code string 否 target_app_code 表示应用 ID,多个 ID 以英文分号分隔,target_app_code 为空则表示所有应用 fields string 否 fields 需要返回的字段,多个字段以英文分号分割,如果不传或传入 '',则返回应用的bk_app_code、bk_app_name 字段。可选的字段有:bk_app_code(应用ID),bk_app_name(应用名),introduction(应用简介),creator(创建者),developer(开发人员) 请求参数示例请求参数示例 { 'bk_app_code': 'esb_test', 'bk_app_secret': 'xxx', 'bk_token': 'xxx', 'target_app_code': 'bk_test;esb_test',} 返回结果示例返回结果示例 { 'result': true, 'code': 0, 'message': '', 'data': [ { 'bk_app_code': 'bk_test', 'bk_app_name': 'BKTest' }, { 'bk_app_code': 'esb_test', 'bk_app_name': 'ESBTest' } ]} 返回结果参数说明返回结果参数说明 字段字段 类型类型 描述描述 result bool 请求成功与否,true:请求成功,false:请求失败 code string 组件返回错误编码,0 表示 success,>0表示失败错误 message string 请求返回的消息 data object 请求返回的数据 DATA 字段字段 类型类型 描述描述 bk_app_code string 应用 ID bk_app_name string 应用名称 蓝鲸消息管理蓝鲸消息管理 API 简介简介 蓝鲸消息管理,用于支持向用户发送多种类型的消息,包括邮件、短信、语音通知等。蓝鲸消息管理,用于支持向用户发送多种类型的消息,包括邮件、短信、语音通知等。 资源名称资源名称 资源描述资源描述 get_msg_type 查询消息发送类型 send_mail 发送邮件 send_msg 通用消息发送 send_sms 发送短信 send_voice_msg 公共语音通知 send_weixin 发送微信消息 请求地址请求地址 /api/c/compapi/cmsi/get_msg_type/ 请求方法请求方法 GET 功能描述功能描述 查询 send_msg 组件支持发送消息的类型 请求参数请求参数 通用参数通用参数 字段字段 类型类型必必选选 描述描述 bk_app_code string 是 应用 ID bk_app_secret string 是 安全密钥(应用 TOKEN),可以通过 蓝鲸智云开发者中心 -> 点击应用 ID -> 基本信息 获取 bk_token string 否 当前用户登录态,bk_token 与 bk_username 必须一个有效,bk_token 可以通过Cookie 获取 bk_username string 否 当前用户用户名,应用免登录态验证白名单中的应用,用此字段指定当前用户 请求参数示例请求参数示例 { 'bk_app_code': 'esb_test', 'bk_app_secret': 'xxx', 'bk_token': 'xxx'} 返回结果示例返回结果示例 { 'result': true, 'code': 0, 'data': [ { 'type': 'weixin', 'label': '微信', 'is_active': true }, { 'type': 'mail', 'label': '邮件', 'is_active': true }, { 'type': 'sms', 'label': '短信', 'is_active': true }, { 'type': 'voice', 'label': '语音', 'is_active': true } ]} 返回结果参数说明返回结果参数说明 字段字段 类型类型 描述描述 result bool 请求成功与否,true:请求成功,false:请求失败 code string 组件返回错误编码,0 表示 success,>0 表示失败错误 data object 请求返回的数据 DATA 字段字段 类型类型 描述描述 type string 消息发送类型 label string 消息发送标签 is_active bool 可用性 请求地址请求地址 /api/c/compapi/cmsi/send_mail/ 请求方法请求方法 POST 功能描述功能描述 发送邮件 请求参数请求参数 通用参数通用参数 字段字段 类型类型必必选选 描述描述 bk_app_code string 是 应用 ID bk_app_secret string 是 安全密钥(应用 TOKEN),可以通过 蓝鲸智云开发者中心 -> 点击应用 ID -> 基本信息 获取 bk_token string 否 当前用户登录态,bk_token 与 bk_username 必须一个有效,bk_token 可以通过Cookie 获取 bk_username string 否 当前用户用户名,应用免登录态验证白名单中的应用,用此字段指定当前用户 接口参数接口参数 字段字段 类型类型必必选选 描述描述 receiver string 否 邮件接收者,包含邮件完整地址,多个以逗号分隔,若 receiver、receiver__username 同时存在,以 receiver 为准 receiver__username string 否 邮件接收者,包含用户名,用户需在蓝鲸平台注册,多个以逗号分隔,若 receiver、receiver__username 同时存在,以 receiver 为准 sender string 否 发件人 title string 是 邮件主题 content string 是 邮件内容 cc string 否 抄送人,包含邮件完整地址,多个以逗号分隔 cc__username string 否 抄送人,包含用户名,用户需在蓝鲸平台注册,多个以逗号分隔,若 cc、cc__username 同时存在,以 cc 为准 body_format string 否 邮件格式,包含'Html', 'Text',默认为'Html' is_content_base64 bool 否 邮件内容是否 base64 编码,默认 False,不编码,请使用 base64.b64encode 方法编码 attachments bool 否 邮件附件 ATTACHMENTS 字段字段 类型类型必必选选 描述描述 filename string 是 文件名 content string 是 文件内容,文件内容为原文件内容的 base64 编码字符串 type string 否 文件类型,默认为文件名后缀,如 a.png 文件类型为 'png' disposition string 否 文件 Content-Disposition,图片文件(type=image, jpg, png, jpeg)默认为 'inline',其他文件默认为 'attachment' content_id string 否 文件 Content-ID,文件为图片文件时生效;默认为 '<文件名>' 请求参数示例请求参数示例 { 'bk_app_code': 'esb_test', 'bk_app_secret': 'xxx', 'bk_token': 'xxx', 'receiver': 'admin@bking.com', 'sender': 'admin@bking.com', 'title': 'This is a Test', 'content': '<html>Welcome to Blueking</html>',} 返回结果示例返回结果示例 { 'result': true, 'code': '00', 'message': 'OK',} 返回结果参数说明返回结果参数说明 字段字段 类型类型 描述描述 result bool 请求成功与否,true:请求成功,false:请求失败 code string 组件返回错误编码,0 表示 success,>0 表示失败错误 message string 请求返回的消息 请求地址请求地址 /api/c/compapi/cmsi/send_msg/ 请求方法请求方法 POST 功能描述功能描述 通用消息发送接口 请求参数请求参数 通用参数通用参数 字段字段 类型类型必必选选 描述描述 bk_app_code string 是 应用 ID bk_app_secret string 是 安全密钥(应用 TOKEN),可以通过 蓝鲸智云开发者中心 -> 点击应用 ID -> 基本信息 获取 bk_token string 否 当前用户登录态,bk_token 与 bk_username 必须一个有效,bk_token 可以通过Cookie 获取 bk_username string 否 当前用户用户名,应用免登录态验证白名单中的应用,用此字段指定当前用户 接口参数接口参数 字段字段 类型类型必必选选 描述描述 msg_type string 是 发送信息的类型,可通过 get_msg_type 组件获取 receiver__username string 是 接收者,包含用户名,用户需在蓝鲸平台注册,多个以逗号分隔 title string 是 主题 content string 是 内容 sender string 否 发件人,msg_type 为 mail 时有效 cc__username string 否 抄送人,包含用户名,用户需在蓝鲸平台注册,多个以逗号分隔,msg_type为mail时有效 body_format string 否 邮件格式,包含'Html', 'Text',默认为'Html', msg_type 为 mail 时有效 attachments list 否 邮件附件, msg_type 为 mail 时有效 date string 否 通知发送时间,默认为当前时间 'YYYY-mm-dd HH:MM',msg_type 为 weixin时有效 remark string 否 通知尾部文字,msg_type 为 weixin 时有效 wx_qy_agentid string 否 企业微信 AgentId,msg_type 为 weixin 时有效 wx_qy_corpsecret string 否 企业微信 CorpSecret,msg_type 为 weixin 时有效 is_content_base64 bool 否 通知文字 content 是否 base64 编码,默认 False,不编码,若编码请使用base64.b64encode 方法 字段字段 类型类型必必选选 描述描述 ATTACHMENTS 字段字段 类型类型必必选选 描述描述 filename string 是 文件名 content string 是 文件内容,文件内容为原文件内容的 base64 编码字符串' type string 否 文件类型,默认为文件名后缀,如 a.png 文件类型为 'png' disposition string 否 文件 Content-Disposition,图片文件(type=image, jpg, png, jpeg)默认为 'inline',其他文件默认为 'attachment' content_id string 否 文件 Content-ID,文件为图片文件时生效;默认为 '<文件名>' 请求参数示例请求参数示例 { 'bk_app_code': 'esb-test', 'bk_app_secret': 'esb-test-secret', 'bk_username': 'admin', 'msg_type': 'mail', 'receiver__username': 'admin,yunchao', 'title': 'xxx', 'content': 'xxx'} 返回结果示例返回结果示例 { 'result': true, 'code': 0, 'message': 'OK', 'data': [], 'request_id': 'sdfdfdfsdfasdasdasas' } 返回结果参数说明返回结果参数说明 字段字段 类型类型 描述描述 result bool 请求成功与否,true:请求成功,false:请求失败 code string 组件返回错误编码,0 表示 success,>0 表示失败错误 message string 请求返回的消息 data object 请求返回的数据 request_id string 请求返回的ID 请求地址请求地址 /api/c/compapi/cmsi/send_sms/ 请求方法请求方法 POST 功能描述功能描述 发送短信 请求参数请求参数 通用参数通用参数 字段字段 类型类型必必选选 描述描述 bk_app_code string 是 应用 ID bk_app_secret string 是 安全密钥(应用 TOKEN),可以通过 蓝鲸智云开发者中心 -> 点击应用 ID -> 基本信息 获取 bk_token string 否 当前用户登录态,bk_token 与 bk_username 必须一个有效,bk_token 可以通过Cookie 获取 bk_username string 否 当前用户用户名,应用免登录态验证白名单中的应用,用此字段指定当前用户 接口参数接口参数 字段字段 类型类型必必选选 描述描述 receiver string 否 短信接收者,包含接收者电话号码,多个以逗号分隔,若 receiver、receiver__username 同时存在,以 receiver 为准 receiver__username string 否 短信接收者,包含用户名,用户需在蓝鲸平台注册,多个以逗号分隔,若 receiver、receiver__username 同时存在,以 receiver 为准 content string 是 短信内容 is_content_base64 bool 否 消息内容是否 base64 编码,默认 False,不编码,请使用 base64.b64encode 方法编码 请求参数示例请求参数示例 { 'bk_app_code': 'esb_test', 'bk_app_secret': 'xxx', 'bk_token': 'xxx', 'receiver': '1234567890', 'receiver__username': 'admin', 'content': 'Welcome to Blueking',} 返回结果示例返回结果示例 { 'result': true, 'code': '00', 'message': 'OK',} 返回结果参数说明返回结果参数说明 字段字段 类型类型 描述描述 result bool 请求成功与否,true:请求成功,false:请求失败 code string 组件返回错误编码,0 表示 success,>0 表示失败错误 message string 请求返回的消息 请求地址请求地址 /api/c/compapi/cmsi/send_voice_msg/ 请求方法请求方法 POST 功能描述功能描述 公共语音通知 请求参数请求参数 通用参数通用参数 字段字段 类型类型必必选选 描述描述 bk_app_code string 是 应用 ID bk_app_secret string 是 安全密钥(应用 TOKEN),可以通过 蓝鲸智云开发者中心 -> 点击应用 ID -> 基本信息 获取 bk_token string 否 当前用户登录态,bk_token 与 bk_username 必须一个有效,bk_token 可以通过Cookie 获取 bk_username string 否 当前用户用户名,应用免登录态验证白名单中的应用,用此字段指定当前用户 接口参数接口参数 字段字段 类型类型必必选选 描述描述 auto_read_message string 是 自动语音读字信息 user_list_information array 否 待通知的用户列表,自动语音通知列表,若 user_list_information、receiver__username 同时存在,以 user_list_information 为准 receiver__username string 否待通知的用户列表,包含用户名,用户需在蓝鲸平台注册,多个以逗号分隔,若user_list_information、receiver__username 同时存在,以user_list_information 为准 USER_LIST_INFORMATION 字段字段 类型类型 必选必选 描述描述 username string 是 被通知人 mobile_phone string 否 被通知人手机号 请求参数示例请求参数示例 { 'bk_app_code': 'esb_test', 'bk_app_secret': 'xxx', 'bk_token': 'xxx', 'auto_read_message': 'This is a test', 'user_list_information': [{ 'username': 'admin', 'mobile_phone': '1234567890', }]} 返回结果示例返回结果示例 { 'result': true, 'code': '00', 'message': '', 'data': { 'instance_id': '2662152044' }} 返回结果参数说明返回结果参数说明 字段字段 类型类型 描述描述 result bool 请求成功与否,true:请求成功,false:请求失败 code string 组件返回错误编码,0 表示 success,>0 表示失败错误 message string 请求返回的消息 data object 请求返回的数据 DATA 字段字段 类型类型 描述描述 instance_id string 实例 ID 请求地址请求地址 /api/c/compapi/cmsi/send_weixin/ 请求方法请求方法 POST 功能描述功能描述 发送微信消息,支持微信公众号消息,及微信企业号消息 请求参数请求参数 通用参数通用参数 字段字段 类型类型必必选选 描述描述 bk_app_code string 是 应用 ID bk_app_secret string 是 安全密钥(应用 TOKEN),可以通过 蓝鲸智云开发者中心 -> 点击应用 ID -> 基本信息 获取 bk_token string 否 当前用户登录态,bk_token 与 bk_username 必须一个有效,bk_token 可以通过Cookie 获取 bk_username string 否 当前用户用户名,应用免登录态验证白名单中的应用,用此字段指定当前用户 接口参数接口参数 字段字段 类型类型必必选选 描述描述 receiver string 否 微信接收者,包含绑定在指定公众号上的微信用户的 openid 或 企业号上的微信用户的用户 ID,多个以逗号分隔 receiver__username string 否 微信接收者,包含用户名,用户需在蓝鲸平台注册,多个以逗号分隔,若 receiver、receiver__username 同时存在,以receiver为准 data dict 是 消息内容 wx_qy_agentid string 否 agentid of WeChat app wx_qy_corpsecret string 否 secret of WeChat app DATA 参数包含内容参数包含内容 字段字段 类型类型必必选选 描述描述 heading string 是 通知头部文字 message string 是 通知文字 date string 否 通知发送时间,默认为当前时间 'YYYY-mm-dd HH:MM' remark string 否 通知尾部文字 is_message_base64 bool 否 通知文字 message 是否 base64 编码,默认 False,不编码,若编码请使用base64.b64encode 方法 请求参数示例请求参数示例 { 'bk_app_code': 'esb_test', 'bk_app_secret': 'xxx', 'bk_token': 'xxx', 'receiver': 'xxx', 'data': { 'heading': 'blueking alarm', 'message': 'This is a test.', 'date': '2017-02-22 15:36', 'remark': 'This is a test!' }} 返回结果示例返回结果示例 { 'result': true, 'code': '00', 'message': 'OK',} 返回结果参数说明返回结果参数说明 字段字段 类型类型 描述描述 result bool 请求成功与否,true:请求成功,false:请求失败 code string 组件返回错误编码,0 表示 success,>0 表示失败错误 message string 请求返回的消息 FAQ(1) 蓝鲸 DevOps 技能有培训教程吗? 答:蓝鲸为社区用户准备了在线视频教程,可以免费观看。(链 接:https://cloud.tencent.com/developer/edu/major-100008) (2) 学习蓝鲸 DevOps 技能过程中遇到问题怎么办? 答:学习过程中,任何疑问可咨询蓝鲸 QQ 在线客服, 除此之外,蓝鲸为社区用户准备了交流 QQ 群:蓝鲸社区版交流 1 群 495299374, 群内的社区用户和蓝鲸助手会热心为大家提供咨询服务。 (3) 如何将蓝鲸体系的用户体系对接到企业内已有的 OA 系统? 答:蓝鲸提供了登录 API 接口,可以对接普通的账户 Vs 密码形式的 OA 账号,可参考 企业内部登 录对接蓝鲸智云统一登录指南 完成对接,更多对接的功能在持续开发中。
|
|