zoukankan      html  css  js  c++  java
  • 使用Aliyun CLI来管理云资源

    Alibaba Cloud CLI 介绍

    阿里云命令行工具是在阿里云GO SDK之上构建的开源工具。
    您可以通过阿里云CLI,管理您的阿里云资源。

    在 Cloud Shell 中,您可以直接输入 aliyun 来使用:

    aliyun
    

    快速体验

    在Cloud Shell中,您可以直接使用 aliyun 来管理您的云资源
    Cloud Shell为您内置了授权,无需进行额外配置

    比如您想查看杭州region下的Ecs实例信息,可以直接输入以下命令:

    aliyun ecs DescribeInstances --RegionId cn-hangzhou
    

    RPC API 和 RESTful API

    阿里云云产品的API分为RPC和RESTful两种类型,大部分产品使用的是RPC风格。不同风格的API的调用方法也不同。

    您可以通过以下特点判断API类型:

    • API参数中包含Action字段的是RPC API,需要PathPattern参数的是Restful API。
    • 一般情况下,每个产品内,所有API的调用风格是统一的。
    • 每个API仅支持特定的一种风格,传入错误的标识,可能会调用到其他API,或收到ApiNotFound的错误信息。

    调用RPC API

    使用阿里云CLI调用RPC API的基本结构如下:

    aliyun <product> <operation> [--parameter1 value1 --parameter2 value2 ...]
    

    如:
    查看数据库实例:

    aliyun rds DescribeDBInstances --PageSize 50
    

    还有您刚刚体验过的查看Ecs实例:

    aliyun ecs DescribeInstances --RegionId cn-hangzhou
    

    调用RESTful API

    部分阿里云产品如容器服务是RESTful API。RESTful API与RPC API的调用方式不同。

    使用阿里云CLI调用RESTful API的基本结构如下:

    aliyun <product> <method> /path 
    

    创建容器集群

    aliyun cs POST /clusters --header "Content-Type=application/json" --body "$(cat create.json)"
    

    输出格式化

    JSON格式化

    通过上面的命令,对应API的返回JSON数据,不过这看起来不够清晰,您可以配合jq命令来格式化这个JSON返回数据

    如:

    aliyun ecs DescribeRegions | jq 
    

    输出格式化

    列表模式

    您可能希望以列表的形式来展示您的Region信息
    可以使用--output参数提取结果中感兴趣的字段,并进行表格化输出。例如:

    aliyun ecs DescribeRegions --output cols=RegionId,RegionEndpoint,LocalName rows=Regions.Region
    

    这样获得的返回信息更加清晰了

    小技巧:

    生成ECS实例信息列表(ID, Name, IP):

    aliyun ecs DescribeInstances --output cols=InstanceId,InstanceName,PublicIpAddress.IpAddress,EipAddress.IpAddress rows=Instances.Instance --RegionId=cn-shanghai --PageNumber=1
    

    注意事项

    在使用--output参数时,必须指定以下子参数:

    • cols: 表格的列名,需要与json数据中的字段相对应。如ECS DescribeInstances 接口返回结果中的字段InstanceId 以及 Status。

    可选子参数:

    • rows: 通过jmespath查询语句来指定表格行在json结果中的数据来源。当查询语句具有Instances.Instance[]的形式时,可以省略该参数

    waiter 参数

    该参数用于轮询实例信息直到出现特定状态。

    例如使用ECS创建实例后,实例会有启动的过程。我们会不断的查询实例的运行状态,直到状态变为”Running”。

    aliyun ecs DescribeInstances --InstanceIds '["i-12345678912345678123"]' --waiter expr='Instances.Instance[0].Status' to=Running
    

    执行以上命令后,命令行程序将以一定时间间隔进行实例状态轮询,并在实例状态变为Running时停止轮询。

    在使用--waiter参数时,必须指定以下两个子参数:

    • expr: 通过jmespath查询语句来指定json结果中的被轮询字段。
    • to: 被轮询字段的目标值。

    可选子参数:

    • timeout: 轮询的超时时间(秒)。
    • interval: 轮询的间隔时间(秒)。

    自动补全

    Cloud Shell 中预置了 aliyun cli 工具的自动补全

    当您输入某个字段,但是忘记全程怎么写的时候,可以尝试敲击键盘上的tab键,

    aliyun ecs DescribeReg
    

    敲击tab,命令行会自动补全成
    aliyun ecs DescribeRegions

    获取帮助信息

    阿里云CLI集成了部分产品的API和参数列表信息, 您可以使用如下命令获取帮助:

    • 获取支持的产品列表

      aliyun help
      
    • 获取ECS的API信息

      aliyun ecs help
      
    • 获取API调用信息

      aliyun ecs CreateInstance help
      
  • 相关阅读:
    关于mui的主页面、子页面、页面跳转
    设计图片反复闪,点击后停止(设计定时器)
    购物车+支付宝
    登陆判读,并跳转到指定页面(window.location.href='http://localhost/index.html')
    template.js遍历对象的写法
    jqurey的跨域使用getjson(http://www.jb51.net/Special/894.htm)
    安装sass并ruby更改淘宝镜像
    Y君面试记
    MapReduce 阅读笔记
    安全感
  • 原文地址:https://www.cnblogs.com/syavingcs/p/13152110.html
Copyright © 2011-2022 走看看