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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 快速学习 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

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
9月前
|
JSON API 数据格式
实时获取小红书笔记详情的API使用与解析
小红书是一个以分享消费经验、生活方式为主的社交平台,拥有大量的用户和内容。为了更好地了解用户在小红书上的行为和内容,许多开发者选择使用小红书开放平台提供的API接口。本文将介绍如何通过小红书笔记详情API实现实时数据获取,并给出相应的代码示例。
|
3月前
|
机器学习/深度学习 人工智能 运维
智能运维:AIOps在大型系统运维中的实践与挑战
【10月更文挑战第28天】随着云计算、大数据和人工智能的发展,AIOps(人工智能运维)应运而生,旨在通过算法和机器学习提高运维效率和质量。本文探讨了AIOps在大型系统运维中的实践与挑战,包括数据质量、模型选择和团队协作等方面,并通过一个异常检测案例展示了其应用。尽管面临挑战,AIOps仍有望成为未来运维的重要方向。
147 5
|
6月前
|
Kubernetes 持续交付 容器
在K8S中,镜像的拉取策略有哪些?
在K8S中,镜像的拉取策略有哪些?
|
6月前
|
存储 安全 大数据
OceanBase 的安全性与合规性
【8月更文第31天】随着大数据时代的到来,数据已经成为企业的核心资产。为了保护这些宝贵的资源,不仅需要强大的技术手段来保证数据的安全,还需要满足各种法律法规的要求。OceanBase 作为一款高性能的分布式关系数据库系统,在设计之初就充分考虑了数据的安全性和合规性需求。本文将深入探讨 OceanBase 如何确保数据的安全,并介绍其符合各种法规要求的方法。
296 1
|
6月前
|
存储 JSON 关系型数据库
MySQL与JSON的邂逅:开启大数据分析新纪元
MySQL与JSON的邂逅:开启大数据分析新纪元
|
4月前
|
缓存 Ubuntu 网络安全
docker pull失败:x509: certificate has expired or is not yet
遇到“x509: certificate has expired or is not yet valid”错误时,首要步骤是校正系统时间并确保Docker客户端是最新的。如果问题依旧,检查和更新证书或考虑使用镜像加速服务也是可行的解决方案。通过这些步骤,大多数与证书相关的 `docker pull`问题都能得到有效解决。
754 0
|
7月前
|
运维 Serverless Docker
Serverless 应用引擎使用问题之如何设置初始值和自动扩容策略
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
7月前
|
机器学习/深度学习 算法 计算机视觉
EasyAnimate v3:开启I2V新时代——打造无限创意的超长视频制作之旅
官方论坛和社交媒体平台为用户提供了一个交流经验、分享技巧的平台。此外,用户还可以提交反馈或建议,参与到产品的持续改进中。
|
8月前
|
机器学习/深度学习 人工智能 运维
智能化运维:AI在故障预测与自愈系统中的应用
【6月更文挑战第4天】本文探讨了人工智能(AI)技术在运维领域的革新作用,特别是其在故障预测和自愈系统中的应用。通过分析AI技术的基本原理及其在运维中的实际应用案例,文章揭示了AI如何提升系统的稳定性和效率,同时指出了实施过程中的挑战和未来的发展方向。
|
9月前
|
Oracle 安全 Java
JAVA用Mail发送API的方法步骤教程
使用Java和Mail发送API实现自动化邮件发送,提高效率。步骤包括:1. 安装JDK并配置JAVA_HOME,2. 添加JavaMail库(可通过Maven或官网下载)。配置邮件发送涉及邮件服务器地址、端口和认证信息。创建邮件会话、邮件消息对象,然后使用Transport发送。示例代码展示完整流程。注意处理认证失败、连接问题和邮件发送失败等常见问题。

热门文章

最新文章