阿里云CLI(Alibaba Cloud Command Line Interface)是基于OpenAPI构建的通用命令行工具,您可以通过阿里云CLI实现自动化管理和维护系统运维管理。本文将为您介绍使用阿里云CLI调用系统运维管理的操作步骤和示例。
前置概念
阅读本文前,若您还不了解阿里云CLI,请参见什么是阿里云CLI。
安装阿里云CLI
使用阿里云CLI前,您需要先安装阿里云CLI。阿里云CLI为用户提供了Windows、Linux和macOS三种操作系统下的安装服务,请根据您使用设备的操作系统选择对应的安装服务。
Windows:在Windows上安装阿里云CLI。
Linux:在Linux上安装阿里云CLI。
macOS:在macOS上安装阿里云CLI。
您也可使用阿里云提供的云命令行Cloud Shell调试阿里云CLI命令。关于云命令行的更多信息,请参见什么是云命令行。
配置阿里云CLI
阿里云主账号拥有所有产品API的管理和访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维。
使用阿里云CLI之前,您需要在阿里云CLI中配置身份凭证、地域ID等信息。阿里云CLI支持多种身份凭证,详情请参见身份凭证类型。本文操作以AK类型凭证为例,具体操作步骤如下:
您需要创建一个RAM用户并根据需要授予管理对应产品的权限。具体操作,请参见创建RAM用户及使用RAM进行访问控制。
创建RAM用户并授权后,您需要创建RAM用户对应的AccessKey,并记录
AccessKey ID
和AccessKey Secret
,以便后续配置身份凭证使用。具体操作,请参见创建AccessKey。配置凭证需要设置地域ID,阿里云CLI将使用您指定的地域发起API调用。可用地域请参见服务接入点。
说明使用阿里云CLI过程中您可使用
--region
选项指定地域发起命令调用,该选项在使用时将忽略默认身份凭证配置及环境变量设置中的地域信息。详情请参见API命令可用选项。使用RAM用户的AccessKey配置AK类型凭证,配置文件命名为
AkProfile
。具体操作,请参见配置示例。
生成CLI命令示例
在API调试界面左侧搜索框中可搜索您需要使用的API。在参数配置中根据API文档信息填写参数,单击参数配置右侧的CLI示例页签即可生成携带参数的命令示例。
调用API
命令结构
阿里云CLI的通用命令行结构如下。更多详情,请参见命令结构。
aliyun <command> <subcommand> [options and parameters]
常用命令选项
在阿里云CLI中,您可根据需要使用命令行选项,用来修改命令的默认行为或为命令提供额外功能。常用命令行选项如下:
--profile <profileName>
:使用--profile
选项并指定有效配置名称profileName
后,阿里云CLI将忽略默认身份凭证配置及环境变量设置,优先使用指定的配置进行命令调用。--help
:在需要获取帮助的命令层级处键入--help
选项,即可获取该命令的帮助信息。更多详情,请参见获取帮助信息。
更多详细信息,请参见API命令可用选项。
调用示例
示例一:以下代码示例将为您展示如何使用--help
选项获取系统运维管理支持阿里云CLI调用API列表。您也可在API概览中查看支持调用的API。
执行命令。
aliyun oos --help
输出结果。
示例二:以下代码示例将为您展示如何使用阿里云CLI调用系统运维管理中的CreateTemplate
命令,创建一个模板CLI_Template
。
执行命令。
说明String类型JSON数组列表参数值的传入格式在不同操作系统中存在差异,请您根据操作系统选择对应的命令。更多格式信息,请参见参数格式说明。
Linux/macOS
aliyun oos CreateTemplate --RegionId 'cn-hangzhou' --TemplateName CLI_Template --Content '{"FormatVersion": "OOS-2019-06-01", "Description": "Describe instances of given status", "Parameters": {"Status": {"Type": "String", "Description": "(Required) The status of the Ecs instance."}}, "Tasks": [{"Properties": {"Parameters": {"Status": "{{ Status }}"}, "API": "DescribeInstances", "Service": "Ecs"}, "Name": "foo", "Action": "ACS::ExecuteApi"}]}'
Windows
aliyun oos CreateTemplate --RegionId 'cn-hangzhou' --TemplateName CLI_Template --Content "{'FormatVersion': 'OOS-2019-06-01', 'Description': 'Describe instances of given status', 'Parameters': {'Status': {'Type': 'String', 'Description': '(Required) The status of the Ecs instance.'}}, 'Tasks': [{'Properties': {'Parameters': {'Status': '{{ Status }}'}, 'API': 'DescribeInstances', 'Service': 'Ecs'}, 'Name': 'foo', 'Action': 'ACS::ExecuteApi'}]}"
输出结果。
{ "RequestId": "989F0944-E653-5826-9FA7-8ADE6E66F485", "Template": { "Description": "Describe instances of given status", "CreatedBy": "test(2039927162697*****)", "TemplateFormat": "JSON", "ResourceGroupId": "rg-acfmykd6*****", "UpdatedDate": "2024-08-05T10:28:24Z", "TemplateVersion": "v1", "Hash": "8abc5921b5a05051992*****", "UpdatedBy": "test(2039927162697*****)", "HasTrigger": false, "CreatedDate": "2024-08-05T10:28:24Z", "TemplateName": "CLI_Template", "Tags": {}, "TemplateId": "t-9246d5246f*****", "ShareType": "Private" } }
说明如果调用系统运维管理API后返回错误,您需要根据返回的错误码提示检查传入的请求参数及其取值是否正确。
您也可以记录下调用返回的RequestID或报错信息,通过阿里云OpenAPI诊断平台进行自助诊断。