ChatOps 在阿里云上的实战应用 | 学习笔记

简介: 快速学习 ChatOps 在阿里云上的实战应用

开发者学堂课程【阿里云 ChatOps 实战:ChatOps 在阿里云上的实战应用】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/536/detail/7282


ChatOps 在阿里云上的实战应用


内容介绍:

一、Nodesdk

二、Bucket

三、hubot-script-shellcmd


一、Nodesdk

机器人对接阿里云则需要安装 Nodesdk,而目前可以直接使用阿里 sdk,这里提供了非常多的 sdk,这里会通过 oss去演示对接。

首先安装 sdk,安装后使用 code 打开进行配置,此时先测试 sdk,如果想要正常运行 sdk 还需要另一个包 co,co 可以帮助运行 oss 的代码,使用 npm install co --save 将其安装到本地。

首先安装 sdk,安装后使用 code 打开进行配置,此时先测试 sdk,如果想要正常运行 sdk 还需要另一个包 co,co 可以帮助运行 oss 的代码,使用 npm install co --save 将其安装到本地。

安装完成后,开始写测试代码,首先创建 oss.js 文件,引入初始化内容,输入var OSS = require(’ali-oss’);,再输入var co = require(’co’);,完成进行初始化 co 客户端,输入var client = new OSS({ ,再将参数直接复制过来,如accessKeyId: ‘your access key‘,accessKeySecret: ‘your access secret‘,bucket: ’ fstorage‘,region:’oss-cn-hangzhou’accessKeyId 和 accessKeySecret 需要根据账号 id 来添加的,可以在阿里云后台找到,在后台中找到 accesskey,会提醒使用用户授权,可以使用子用户的 accesskey 或直接使用 accesskey,将其复制进行粘贴这样就完成了初始化。


二、Bucket

通过函数去列举所有的 Bucket,Bucket 是通过 List bucket 函数来实现的。

首先使用co(function* (){,然后跟上var result = yield client.listBuckets();,再跟上console.log(result);将结果进行输出。也可以使用catch(function(err){,再跟上console.error(err);,执行命令,此时执行测试函数,输出流 ace-test、fstorage、icaci2018、ipdesign、yunxueyuan 等等 bucket 名称,说明此时正常地与 oss 进行了沟通,可以提取其中的值。

传回对象只要其 buckets 再进行执行,会得到一组数组,数组里是 buckets 的具体信息,可以使用这些信息设定返回的输出。

创建一个新的 aliyun.js 脚本,然后打开 chat.js,复制代码并删除其中多余的代码,再复制之前的测试代码粘贴,并将 clean the house 改为 buckets,当改为 buckets 时,则会获取 buckets 信息,然后再将 console.log 改为msg.reply,则完成了 hubot、bearychat 以及 oss 的联动。

重新执行 bearychat,复制 buckets 返回 object。然而 object 是无法查看的,通过输入代码JSON.stringify.(result.buckets)};,对其字符串化,再进行执行来实现查看 buckets 的具体的文本内容。

可以通过 for 循环对输出结果输出为一段文字去实现具体的展示内容。通过输入var text =“您当前有”+ result.buckets.length + “个 Bucket“;定义 text,然后直接使用msg.reply(text);,直接输出 text,进行重新启动,添加\r\n 可以实现换行。

bucket 的数组是 result.buckets,可以对其实行 forEach,则输入result.buckets.forEach(bucket => {,再跟上text = text + ”名称:”+ bucket.name +“区域:“ +  bucket.region + “类型”+ bucket.StorageClass +“\r\n”然后退出重新执行进行输出内容。

如输入var regionArrey= [“oss-cn-hangzhou”] =“杭州区域“定义数组,用来存储信息,再进行启动。而在真正使用的时候要定义全部。


三、hubot-script-shellcmd

Hubot 机器人是部署在某个服务器上的,通过一些插件可以实现在服务器上实现一些脚本,这个插件为 hubot-script-shellcmd。

首先要进行安装插件,然后复制 cmd 即对应的命令,可以将插件名称添加到配置文件中,再重新启动。

重新输入 help 会多出 shellcmd 命令,执行 shellcmd,可以执行 helloworld 和 update 两条命令,再执行shellcmd helloworld,则会得到 Hello。而 handlers 里的 helloworld 则执行了 bash 脚本会输出 Hello,再输出Sleepy World!

执行 hubot 机器人,添加 update 则可以在机器人的上一级目录中自动拉取更新,这样就可以执行机器人命令,重启机器人,

如下:#!/bin/bashSELF_PATH=”$( dirname”$(readlink -f “$0”)”)“cd $SELF_PATH/../..git pull origin master 2>&1echo “to reload all scripts run: <yourbotname>die”exit 0

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
相关文章
|
存储 数据采集 运维
阿里巴巴DevOps实践指南(二十四)| 智能运维
智能运维( AIOps )是依托于阿里巴巴 DevOps 经验沉淀而来的智能化运维平台,通过运维大数据的积累,以及算法团队多种算法的校对,我们将运维提升到新的高度,通过 AI 来帮我们查看数据、判断异常、决策运维操作,形成监、管、控一体化的运维平台。
阿里巴巴DevOps实践指南(二十四)| 智能运维
|
Java Maven 开发者
@EnableFeignClients:简化微服务间调用的艺术
@EnableFeignClients:简化微服务间调用的艺术
1988 2
|
运维 监控 Cloud Native
设计与构建 FinOps 流程、团队、体系与目标
企业 FinOps 实施不是一蹴而就的项目,如果您正在推进企业云原生 FinOps 落地,除了选择合适的技术手段,企业内部的流程和体系建设也尤为重要。
164600 102
|
安全 Java 编译器
JDK8到JDK21版本升级的新特性问题之JDK17重要的新特性有哪些
JDK8到JDK21版本升级的新特性问题之JDK17重要的新特性有哪些
|
存储 运维 监控
运维(24)-运维技能知识图谱
运维(24)-运维技能知识图谱
2217 1
|
Kubernetes Cloud Native 微服务
作者推荐|剖析云原生服务框架中服务发现机制的核心原理与实现机制
作者推荐|剖析云原生服务框架中服务发现机制的核心原理与实现机制
567 0
|
Linux 开发工具
【ZYNQ】配置嵌入式 Linux 静态 IP 地址
【ZYNQ】配置嵌入式 Linux 静态 IP 地址
971 0
|
Kubernetes 网络协议 Cloud Native
K8S生态之服务发现解析
当前,云原生生态已经成为全球各大厂商以及企业尤其是互联网企业技术选型、场景推广的一个重要参考标准。云原生所代表的技术已经逐渐成为大家的共识,从一个虚无缥缈的概念逐渐演化成众多参与者的下一个技术战略储备。自然而言,承载业务需求的应用架构就会提及到微服务生态体系,以及其中最重要的分布式协作模式——“Service Discovery”,即:服务发现。
385 0
|
机器学习/深度学习 算法 机器人
FreeSWITCH ASR 电话机器人 VAD 打断 ASR集成 全功能开源代码
最近很多人都对FreeSWITCH和ASR对接比较感谢兴趣,我之前已经做了一个商业模块(商业模块请点击这里http://www.ddrj.com/callcenter/asr.html),考虑到大部分人,只是研究一下,并不准确购买商业模块,特意做一个开源项目给大家提供一个参考。
1274 0
|
存储 负载均衡 Cloud Native
构建云原生应用的服务发现与配置中心
Nacos是一个开源的动态服务发现、配置管理和服务管理平台,为微服务架构下的应用提供了关键的基础设施。Nacos的全称是“Not Another Configuration Service”,它旨在为分布式系统的构建和管理提供简单、可靠、可扩展的解决方案。本文将深入探索Nacos的背景、特点、功能以及其在微服务架构中的重要性。