封装阿里云的sdk,使复杂的任务更加简单。
ali-cli的Python项目详细描述
ali cli
封装阿里云的sdk,使复杂的任务更加简单。
安装
安装很简单,运行以下命令通过pip安装cli:
pip install ali-cli
然后使用命令ali
运行cli。您应该可以看到带有支持的命令的默认帮助输出。
配置
要将cli连接到您的阿里云帐户,您需要使用
配置凭据或手动创建配置。要使用cli,请运行aliyun configure
,然后按照提示进行操作。如果你不想
要安装正式的cli,可以手动创建包含以下内容的文件~/.aliyun/config.json
:
{"current":"","profiles":[{"name":"","mode":"AK","access_key_id":"ACCESS_KEY_ID","access_key_secret":"ACCESS_KEY_SECRET","sts_token":"","ram_role_name":"","ram_role_arn":"","ram_session_name":"","private_key":"","key_pair_name":"","expired_seconds":0,"verified":"","region_id":"eu-central-1","output_format":"json","language":"zh","site":"","retry_timeout":0,"retry_count":0}]}
用访问密钥id替换ACCESS_KEY_ID
,用访问密钥secret替换ACCESS_KEY_SECRET
。或者,您可以将区域更改为您喜欢的区域(eu-central-1
是法兰克福)。
支持的服务
- Key Management Service (KMS)-documentation
- Message Service (MNS)-documentation
- Resource Orchestration Service (ROS)-documentation
密钥管理服务(KMS)
支持列出客户主密钥(CMK)、使用和不使用数据密钥的加密和解密。
要查看受支持命令的列表,请使用ali kms
。
消息服务(MNS)
由于阿里云官方cli不支持消息服务,所以我们决定在阿里cli中支持它。我们目前支持对队列和消息执行以下操作:
创建队列-
ali mns queue create --name NAME
列出队列-
ali mns queue list
获取队列属性-
ali mns queue get --name NAME
删除队列-
ali mns queue delete --name NAME
发送消息-
echo '{"success": true}' | ali mns queue send-message --name NAME --message-body -
接收单个消息-
ali mns queue receive-message --name NAME
接收一批消息-
ali mns queue receive-messages --name NAME --num-of-messages 10
偷看消息-
ali mns queue peek-message --name NAME
偷看一批消息-
ali mns queue peek-messages --name NAME --num-of-messages 10
从队列中删除消息-
ali mns queue delete-message --name NAME --handle RECEIPT_HANDLE
稍后将支持主题和订阅。
资源编排服务(ROS)
ali cli支持大多数ros功能。这允许您将json模板部署为堆栈, 所以你可以用代码来定义你的整个基础设施。
要部署示例bucket,请运行以下命令:
ali ros create-stack --name ali-ros-test --template examples/ros/bucket.json --parameters BucketName=my-fancy-bucket
这将使用examples/ros/bucket.json
文件中的模板创建堆栈ali-ros-test
,并指定要用于
模板参数。如果需要,可以通过多次重复--parameters <key>=<val>
选项来指定多个参数。
如果您愿意,可以随意修改堆栈名称和模板。您还可以为模板指定-
,这意味着
将从stdin中读取。在提示符中键入或粘贴模板,然后按ctrl-d将其发送到cli。
要列出堆栈,请运行ali ros describe-stacks
。这将输出当前区域中的所有堆栈。
要删除堆栈,请运行ali ros delete-stack --name ali-ros-test
。这将删除您在上面创建的堆栈,包括配置的资源。
尽管阿里巴巴ros api只支持json模板,但ali cli也可以部署yaml模板。我们通过将您的yaml转换为json来实现这一点。
在创建堆栈之前。json和yaml模板的示例可以在examples/ros
目录中找到。