阿里云
阿里云多端小程序中小企业获客首选
发表主题 回复主题
  • 11808阅读
  • 5回复

[免费公测]分享阿里云命令行工具基础篇架构配置使用

发帖
46
云币
141
上一次给大家介绍了一款阿里新开发的命令行工具, 版主和一些论坛朋友私信我, 说这玩意儿对于新人来说太难了, 所以今天不直接发demo, 而是跟大家谈谈怎么使用这个东西. %N6A+5H  
介绍连接在这里: k,6f &#x  
http://bbs.aliyun.com/read/249583.html?spm=5176.7189909.0.0.H5REYv H5B:;g@  
=[{i{x|Qz  
首先为什么要有这个东西: 1CD+B=pQG  
请先看下面两张图: 4r#= *  
我们购买了任何一个产品, 比如ECS或者RDS, 你可以在控制台操作你的实例(启停修改删除等…), 这样可以么? 当然可以, 而且阿里云控制台本身做的也不错. 但是这里会遇到一些问题, 比如, 你想在己的系统或者程序里面来控制某个实例的行为, 或者获取一个实例的信息. dr}`H,X"3  
比如, 我要创建一个实例, 我要停止一个实例, 我要检查一个实例的状态. 此时, 控制台无法满足你, 因为他是对外隔离的, 不能直接post/get一个请求去控制一个行为. S~bOUdV Z  
为了满足用户远端对实例控制的行为, 阿里云推出了open api, 其实每一个后端要对外提供服务时, open api是标准配置. 架构如下图. VBGuC c/  
1: G@\1E+Ip  
BwGfTua  
'Cfl*iNb  
X1|njJGO1  
用户一般可以通过两种方式来编程, 一种是自己写请求, 写出像下面这种样子: WIT>!|w_  
GET [size=font-size:10.5pt,10.5pt][font=&quot]https://ecs.aliyuncs.com/ ?[font=&quot] Action=DescribeInstanceAttribute &InstanceId=i-instance1[size=font-size:10.5pt,10.5pt][font=&quot][size=font-size:10.5pt,10.5pt][font=&quot]&Format=xml &Version=2014-05-26 &Signature=Pc5WB8gokVn0xfeu%2FZV%2BiNM1dgI%3D  &SignatureMethod=HMAC-SHA1 &SignatureNonce=15215528852396 &SignatureVersion=1.0 &AccessKeyId=key-test &Timestamp=2012-06-01T12:00:00Z[size=font-size:10.5pt,10.5pt][font=&quot] ,j{,h_Op  
YeL#jtC  
第二种方式是通过SDK来做: t;Sb/3  
比如python SDK, 你需要引入aliyunsdk, 然后写出下面的代码: )gIKH{JYL  
_\G"9,)u '  
i2Qz4 $z  
Q5`*3h6p=  
H>IMf/%5N-  
从上面两种方式能看到, SDK 是比较方便的一种方式, 可以免去很多工作, 比如计算签名, 组织http 请求, 写联网程序等等. u@UMP@"#  
4N_R:B-V u  
但无论如何, 两种方式你都需要写代码!! T{.pM4Hd  
 :D6 ON"6  
而阿里云这个命令行工具, 则可以避免写代码的过程. 转而采用了命令行交互的方式来使用open api. 无论你是想简单的使用命令行又或者是想做复杂的定时任务都可以轻松搞定. `l ^9/_g'6  
2g-j.TM  
阿里云命令行架构如下: <I\/n<*  
nbD*x|  
^R7lom.  
%KhI>O<  
iDp)FQ$  
从图上可以看出来, 阿里云命令行, 是将原来需要用户写代码完成的open api 调用进行了一次封装, 并且做成了系统命令, 这样无论是linux系统还是windows系统, 他都可以让系统增加了一个默认命令. 用户可以像使用系统命令一样来使用他. eK?MKe  
|O|V-f{l  
安装以后, 原本需要代码调用的部分, 现在就变成了: v!6  c0a  
XkE`U5.  
g0=z&2Q[_)  
%~H-)_d20  
(z {#Eq4  
是不是看上去很方便? 不论你想不想写代码, 安装这个工具后, 都能够快速的使用open api. &tLgG4pd  
}%ojw |  
安装步骤, 可以参考我上一篇帖子. _~l5u8{^6  
http://bbs.aliyun.com/read/249627.html?spm=0.0.0.0.zfBsDt ;>EM[u  
.Ni\\  
下面给大家介绍一下如何配置和使用: 7Jyy z,!5  
pHXm>gTd,J  
安装完毕后, 首先是配置工具: 6 6EV$*dRL  
) <[XtK  
+ZaSM~   
p J! mw\:  
OhQgF  
configure 命令执行后, 会看到四个参数需要配置: B[Ku\A6&  
aliyun access key id aliyunaccess key serect, 这是从阿里云控制台创建的: Xv5wJlc!d  
https://ak-console.aliyun.com/#/accesskey sk<3`x+  
是访问open api的凭证. 用自己的账户登录后, 创建. 0y'H~(  
region id指的是阿里云的机房所在的区域, 你购买实例的时候, 不是会选择深圳或者杭州的区域么? 就是这个意思了. Olt?~}  
output format 是指输出的格式, 如果为了方便看, 就用table, 方便编程用json格式. urs,34h  
J9--tJ?[>o  
上面的执行完毕后, 会生成两个文件: w>s,"2&5J  
5,lEx1{_  
r4b 6 c  
MC&` oX[  
configure 文件是保存配置的 "yy5F>0Wt  
credentials 是保存key secret ouvA~/5  
这两个文件可以vim 修改, 但是建议不要懂, 以免格式上出现问题, 导致无法使用. { =9,n\85#  
b;B%q$sntC  
基本配置结束后, 可以正式开始使用了. 2G & a{  
D :4[ ~A  
首先查看一下支持的命令: 使用help _2Zx?<] 2E  
g-4M3of  
aliyuncli help 64 wv<r]5j  
能看到支持的产品: I;,77PxD  
Jc&{`s^Nu  
z3{G9Np  
c)6m$5]  
当前是支持5个产品, 相比云市场其他的命令行工具, 支持的产品相当广泛. Y!aSs3c  
'2A)}uR  
下面我们来运行几个实际的例子: 8?B!2  
kf\PioD8  
启停操作一个实例(70% 会用到): b"<liGh"n-  
T8?Ghbn  
首先启动一个实例: :_`F{rDB  
PV.X z0@R  
>mbHy<<  
执行完毕后, 工具给出了一个信息, 大概意思是: 你的实例状态不对, 你不能执行这操作 wyH[x!QX  
对照一下控制台: 1 fp?  
NR$3%0 nC6  
kP=eW_0D  
当前我的实例正在运行, 所以不能再次启动, 工具提示状态错误的信息. 9!ngy*\x  
先停止一下: "@^k)d$  
JMCKcZ%N  
.r=4pQ@#  
只给出了一个requestId, 那么表示执行被openapi接受. /cUO$m o  
接着看一下状态: d(ZO6Nr Q  
c`)\Pb/O  
MVpGWTH@F  
已停止:停止的状态是可以启动的: i'<[DjMDlm  
;DQ ZT  
P_^ +A  
"`/h#np  
Gm&Za,4%4  
j<m(PHSe  
@(w@e\Bq  
LtO!umM  
查询一个实例的信息(80% 会用到): P7bMIe  
这里我用一个我最喜欢的格式来看, 实例的信息会呈现出来, 可能大家最关心的是运行状态. [C 7^r3w  
](]i 'fE>  
n: ^ d|@  
(*9$`!wS  
上面是针对某一个实例查询的, 下面我们来查询一个区域的实例的整体状态: H064BM  
例如我查询beijing 区域所有的实例的状态. >{n,L6_ t  
.^33MWu6  
;3coP{  
:wyno#8`-  
另外, 有网友问我: 他在调用某些api, 似乎内容显示不完整, 比如 \##zR_%  
$ aliyuncli EcsDescribeImages %bn jgy  
显示的只有10个项目, 好像远没有显示完整. like下图: m,_Z6=I:  
fSj5ZsO  
oAVnK[EMq`  
tmYz R%i  
大家可能没有注意到, 有一个参数--PageSize 这个参数是指定显示条目多少的, 不过每个API有自己的上限, Ecs 好像是50. 添加上去即可. ha<[b ue  
QD&`^(X1p  
wo{gG?B  
%g$o/A$  
相信说到这里, 大家可能已经想使用以下看看了. 除了控制台, 可以多一种选择, 这对于键盘党和linux 党来说, 是一种无比嗨皮的事情. ./Zk`-OBT  
最后附一个下载地址: wh`"w7br  
http://market.aliyun.com/products/53690006/cmgj000314.html?spm=5176.900004.4.2.8tBzKt .k%72ez  
i v38p%Zm  
我的demo脚本已经快完成了, 后续给大家发出来共享交流. ]L.O8  
[size=font-size:13.0pt,13.0pt] 9wUkh}s  
[ 此帖被恐龙让梨在2015-07-02 16:09重新编辑 ]
本帖最近评分记录: 1 条评分 云币 +5
洛欢 云币 +5 您的帖子很精彩!希望很快能再分享您的下一帖! 2015-07-02
级别: 科学怪人
发帖
9441
云币
14683
只看该作者 沙发  发表于: 2015-07-10
学习一下
级别: 新人
发帖
11
云币
25
只看该作者 板凳  发表于: 2015-07-10
Re分享阿里云命令行工具基础篇架构配置使用
这不错,不错
级别: 小白
发帖
28
云币
28
只看该作者 地板  发表于: 2015-07-16
Re分享阿里云命令行工具基础篇架构配置使用
看看学习下
级别: 新人
发帖
3
云币
8
只看该作者 4楼 发表于: 2015-08-05
Re分享阿里云命令行工具基础篇架构配置使用
已经测试过了。一切还是比较好用的。不过好像功能还是没有aws amazon功能强大。希望继续加强相关功能。让我们这种攻城师可以方便在控制台可以快速操作相关云服务。谢谢。
发帖
46
云币
141
只看该作者 5楼 发表于: 2015-08-10
回4楼zhangsongfu的帖子
能否直观的描述一下两者的差距呢?
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
验证问题: 阿里云官网域名是什么? 正确答案:www.aliyun.com
上一个 下一个
      ×
      全新阿里云开发者社区, 去探索开发者的新世界吧!
      一站式的体验,更多的精彩!
      通过下面领域大门,一起探索新的技术世界吧~ (点击图标进入)