阿里云命令行工具(Alibaba Cloud Command Line Interface)是在Alibaba Cloud SDK for Go之上构建的开源工具。可以在命令行Shell中,使用aliyun命令与阿里云服务进行交互,管理阿里云资源.
1. aliyun-cli 安装与配置
#https://github.com/aliyun/aliyun-cli/releases/
wget https://aliyuncli.alicdn.com/aliyun-cli-linux-latest-amd64.tgz
tar -xzvf aliyun-cli-linux-latest-amd64.tgz
sudo cp aliyun /usr/local/bin/
操作完成后,运行:
aliyun configure
依照提示进行如下配置:
Configuring profile 'default' in 'AK' authenticate mode...
Access Key Id [*********************]:
Access Key Secret [***************************]:
Default Region Id [cn-hangzhou]:
Default Output Format [json]: json (Only support json)
Default Language [zh|en] zh:
Saving profile[default] ...Done.
其中,
- Access ID:RAM子账号的ID
- Access Secret:RAM子账号的Secret
- Region ID:阿里云账号中镜像仓库的区位(如,cn-hangzhou)
- Language:zh
2. aliyun-cli 帮助
终端输入,
aliyun --help
输出如:
阿里云CLI命令行工具 3.0.73
Usage:
aliyun <product> <operation> [--parameter1 value1 --parameter2 value2 ...]
Flags:
--mode 使用 `--mode {AK|StsToken|RamRoleArn|EcsRamRole|RsaKeyPair|RamRoleArnWithRoleName}` 指定认证方式
--profile,-p 使用 `--profile <profileName>` 指定操作的配置集
--language 使用 `--language [en|zh]` 来指定语言
--region 使用 `--region <regionId>` 来指定访问大区
--config-path 使用 `--config-path` 指定配置文件路径
--access-key-id 使用 `--access-key-id <AccessKeyId>` 指定AccessKeyId
--access-key-secret 使用 `--access-key-secret <AccessKeySecret>` 指定AccessKeySecret
--sts-token 使用 `--sts-token <StsToken>` 指定StsToken
--ram-role-name 使用 `--ram-role-name <RamRoleName>` 指定RamRoleName
--ram-role-arn 使用 `--ram-role-arn <RamRoleArn>` 指定RamRoleArn
--role-session-name 使用 `--role-session-name <RoleSessionName>` 指定RoleSessionName
--private-key 使用 `--private-key <PrivateKey>` 指定RSA私钥
--key-pair-name 使用 `--key-pair-name <KeyPairName>` 指定KeyPairName
--read-timeout 使用 `--read-timeout <seconds>` 指定I/O超时时间(秒)
--connect-timeout 使用 `--connect-timeout <seconds>` 指定请求连接超时时间(秒)
--retry-count 使用 `--retry-count <count>` 指定重试次数
--skip-secure-verify 使用 `--skip-secure-verify` 跳过https的证书校验 [不推荐使用]
--expired-seconds 使用 `--expired-seconds <seconds>` 指定凭证过期时间
--process-command 使用 `--process-command <ProcessCommand>` 指定外部程序运行命令
--secure 使用 `--secure` 开关强制使用https方式调用
--force 添加 `--force` 开关可跳过API与参数的合法性检查
--endpoint 使用 `--endpoint <endpoint>` 来指定接入点地址
--version 使用 `--version <YYYY-MM-DD>` 来指定访问的API版本
--header 使用 `--header X-foo=bar` 来添加特定的HTTP头, 可多次添加
--body 使用 `--body $(cat foo.json)` 来指定在RESTful调用中的HTTP包体
--pager 使用 `--pager` 在访问分页的API时合并结果分页
--output,-o 使用 `--output cols=Field1,Field1 [rows=jmesPath]` 使用表格方式打印输出
--waiter 使用 `--waiter expr=<jmesPath> to=<value>` 来轮询调用OpenAPI,知道返回期望的值
--dryrun 使用 `--dryrun` 在执行校验后打印请求包体,跳过实际运行
--quiet,-q 使用 `--quiet` 关闭正常输出
--help 打印帮助信息
Sample:
aliyun ecs DescribeRegions
Products:
sls 日志服务
goodstech 视觉智能开放平台
imageaudit 视觉智能开放平台
gpdb 分析型数据库PostgreSQL版
sales
cloudauth 实人认证
sts 访问控制
jaq 移动安全
imagerecog 视觉智能开放平台
hpc 高性能计算 HPC
cds CodePipeline
cas 证书服务
green 内容安全
objectdet 视觉智能开放平台
ots 表格存储
yundun-bastionhost 堡垒机
fnf FunctionFlow
imageenhan 视觉智能开放平台
smc 服务器迁移中心
sas-api 态势感知
ocr 视觉智能开放平台
actiontrail 操作审计
imageseg 视觉智能开放平台
eci Elastic Container Instances
domain 域名
ledgerdb 可信账本数据库
agency agency
httpdns HTTPDNS
batchcompute 批量计算
servicemesh 服务网格
itaas 云投屏
alikafka 消息队列 Kafka
qualitycheck 智能对话分析服务
dms-enterprise 数据管理
pvtz PrivateZone
push 移动推送
csb 云服务总线 CSB
ons 消息队列 MQ
petadata HybridDB for MySQL
kms 密钥管理服务
ros 资源编排
facebody 视觉智能开放平台
cr 容器镜像服务
oos 运维编排服务
ram 访问控制
arms 业务实时监控服务 ARMS
scdn 安全加速 SCDN
ims 访问控制 身份管理
resourcemanager 资源管理
ess 弹性伸缩
dm 邮件推送
chatbot 云小蜜
bssopenapi
cloudphoto 智能云相册
nas 文件存储
domain-intl 域名
config 配置审计
dts 数据传输
ddospro DDoS高防IP
hbase 云数据库 HBase
sae 轻量级分布式应用服务
dds 云数据库 MongoDB 版
elasticsearch elasticsearch
dcdn 全站加速
cbn 云企业网
ens 边缘节点服务
r-kvstore 云数据库 Redis 版
cms 云监控
waf-openapi Web应用防火墙
cs 容器服务
ccc 云呼叫中心
ddoscoo 新BGP高防IP
polardb 云数据库 PolarDB 版
slb 负载均衡
cloudapi API 网关
drds 分布式关系型数据库服务 DRDS
mts 媒体处理
edas 企业级分布式应用服务EDAS
cloudwf 云AP
cdn CDN
alidns 云解析DNS
aegis 服务器安全(安骑士)
vod 视频点播
vpc 专有网络VPC
ecs 云服务器 ECS
live 视频直播
rds 云数据库RDS版
emr E-MapReduce
iot 物联网套件
Use `aliyun --help` for more information.
3. aliyun-cli 容器镜像服务
3.1. aliyun-cli cr 帮助
运行,
aliyun help cr
输出如:
阿里云CLI命令行工具 3.0.73
Usage 1:
aliyun cr [GET|PUT|POST|DELETE] <PathPattern> --body "..."
Usage 2 (For API with NO PARAMS in PathPattern only.):
aliyun cr <ApiName> --parameter1 value1 --parameter2 value2 ... --body "..."
Product: cr (容器镜像服务)
Version: 2016-06-07
Available Api List:
CancelRepoBuild : POST /repos/[RepoNamespace]/[RepoName]/build/[BuildId]/cancel
CreateNamespace : PUT /namespace
CreateRepo : PUT /repos
CreateRepoBuildRule : PUT /repos/[RepoNamespace]/[RepoName]/rules
CreateRepoWebhook : PUT /repos/[RepoNamespace]/[RepoName]/webhooks
CreateUserInfo : PUT /users
DeleteImage : DELETE /repos/[RepoNamespace]/[RepoName]/tags/[Tag]
DeleteNamespace : DELETE /namespace/[Namespace]
DeleteRepo : DELETE /repos/[RepoNamespace]/[RepoName]
DeleteRepoBuildRule : DELETE /repos/[RepoNamespace]/[RepoName]/rules/[BuildRuleId]
DeleteRepoWebhook : DELETE /repos/[RepoNamespace]/[RepoName]/webhooks/[WebhookId]
GetAuthorizationToken : GET /tokens
GetImageLayer : GET /repos/[RepoNamespace]/[RepoName]/tags/[Tag]/layers
GetImageManifest : GET /repos/[RepoNamespace]/[RepoName]/tags/[Tag]/manifest
GetNamespace : GET /namespace/[Namespace]
GetNamespaceList : GET /namespace
GetRegion : GET /regions
GetRegionList : GET /regions
GetRepo : GET /repos/[RepoNamespace]/[RepoName]
GetRepoBuildList : GET /repos/[RepoNamespace]/[RepoName]/build
GetRepoBuildRuleList : GET /repos/[RepoNamespace]/[RepoName]/rules
GetRepoBuildStatus : GET /repos/[RepoNamespace]/[RepoName]/build/[BuildId]/status
GetRepoList : GET /repos
GetRepoListByNamespace : GET /repos/[RepoNamespace]
GetRepoTag : GET /repos/[RepoNamespace]/[RepoName]/tags/[Tag]
GetRepoTagScanList : GET /repos/[RepoNamespace]/[RepoName]/tags/[Tag]/scanResult
GetRepoTagScanStatus : GET /repos/[RepoNamespace]/[RepoName]/tags/[Tag]/scanStatus
GetRepoTagScanSummary : GET /repos/[RepoNamespace]/[RepoName]/tags/[Tag]/scanCount
GetRepoTags : GET /repos/[RepoNamespace]/[RepoName]/tags
GetRepoWebhook : GET /repos/[RepoNamespace]/[RepoName]/webhooks
StartImageScan : PUT /repos/[RepoNamespace]/[RepoName]/tags/[Tag]/scan
StartRepoBuildByRule : PUT /repos/[RepoNamespace]/[RepoName]/rules/[BuildRuleId]/build
UpdateNamespace : POST /namespace/[Namespace]
UpdateRepo : POST /repos/[RepoNamespace]/[RepoName]
UpdateRepoBuildRule : POST /repos/[RepoNamespace]/[RepoName]/rules/[BuildRuleId]
UpdateRepoWebhook : POST /repos/[RepoNamespace]/[RepoName]/webhooks/[WebhookId]
UpdateUserInfo : POST /users
Run `aliyun cr <ApiName> --help` to get more information about this API
3.2. 查看某个 API 的帮助
如:
aliyun help cr GetRepoTags
输出如,
阿里云CLI命令行工具 3.0.73
Product: cr (容器镜像服务)
Method: GET
PathPattern: /repos/[RepoNamespace]/[RepoName]/tags
Parameters:
--RepoName String Required
--RepoNamespace String Required
--Page Integer Optional
--PageSize Integer Optional
如,
aliyun help cr GetRepoListByNamespace
输出如,
阿里云CLI命令行工具 3.0.73
Product: cr (容器镜像服务)
Method: GET
PathPattern: /repos/[RepoNamespace]
Parameters:
--RepoNamespace String Required
--Page Integer Optional
--PageSize Integer Optional
--Status String Optional
3.3. 示例
aliyun cr GetRepoTags --RepoNamespace <阿里云容器镜像服务-命名空间> --RepoName <阿里云容器镜像服务-镜像仓库名>