调用CreateCommand新建一条云助手命令。
接口说明
- 您可以创建以下类型的命令:
- Windows实例适用的Bat脚本(RunBatScript)。
- Windows实例适用的PowerShell脚本(RunPowerShellScript)。
- Linux实例适用的Shell脚本(RunShellScript)。
- 您可以通过指定参数Timeout为命令设置在ECS实例中执行时最大的超时时间,命令执行超时后,云助手Agent会强制终止命令进程,即取消命令的PID。
- 对于单次执行,超时后,该命令针对指定的ECS实例的执行状态(InvokeRecordStatus)变为执行失败(Failed)。
- 对于定时执行:
- 定时执行的超时时间对每一次执行记录均有效。
- 某次执行超时后,该次执行记录的状态(InvokeRecordStatus)变为执行失败(Failed)。
- 上次执行超时与否不影响下一次执行。
- 在一个地域下,您最多可以保有500~10000条云助手命令,您可以通过查看资源配额或调用DescribeAccountAttribute查询配额情况。
- 您可以通过指定参数WorkingDir为命令指定执行路径。对于Linux实例,默认在管理员root用户的home目录下,具体为
/root
目录。对于Windows实例,默认在云助手Agent进程所在目录,例如:C:\Windows\System32
。 - 您可以通过指定参数EnableParameter=true启用自定义参数功能。在设置CommandContent时可以通过{{parameter}}的形式表示自定义参数,并在运行命令(InvokeCommand)时,传入自定义参数键值对。例如,您在创建命令时,创建了
echo {{name}}
命令,在 InvokeCommand时,通过Parameters参数传入键值对。则自定义参数将自动替换命令,您会得到一条新的命令,并在实例中执行
echo Jack
。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 |
类型 |
是否必选 |
示例值 |
描述 |
Action | String | 是 | CreateCommand |
系统规定参数。取值:CreateCommand。 |
RegionId | String | 是 | cn-hangzhou |
地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。 |
Name | String | 是 | testName |
命令名称,支持全字符集。长度不得超过128个字符。 |
Description | String | 否 | testDescription |
命令描述,支持全字符集。长度不得超过512个字符。 |
Type | String | 是 | RunShellScript |
命令的类型。取值范围:
|
CommandContent | String | 是 | ZWNobyAxMjM= |
命令Base64编码后的内容。
|
WorkingDir | String | 否 | /home/user |
您创建的命令在ECS实例中运行的目录。长度不得超过200个字符。 默认值:
说明 设置为其他目录时,请确保实例中存在该目录。 |
Timeout | Long | 否 | 60 | 您创建的命令在ECS实例中执行时最大的超时时间,单位为秒。当因为某种原因无法运行您创建的命令时,会出现超时现象。超时后,会强制终止命令进程,即取消命令的PID。 默认值:60。 |
EnableParameter | Boolean | 否 | false |
创建的命令是否使用自定义参数。 默认值:false。 |
ContentEncoding | String | 否 | PlainText |
命令内容(CommandContent)的编码方式。取值范围:
默认值:Base64。 说明 错填该取值会当作Base64处理。 |
ResourceGroupId | String | 否 | rg-123****** | 命令所属的资源组ID。 |
Tag.N.Key | String | 否 | TestKey |
命令的标签键。N的取值范围为1~20。一旦传入该值,则不允许为空字符串。 使用一个标签过滤资源,查询到该标签下的资源数量不能超过1000个。使用多个标签过滤资源,查询到同时绑定了多个标签的资源数量不能超过1000个。如果资源数量超过1000个,您需要使用ListTagResources接口进行查询。 最多支持64个字符,不能以 |
Tag.N.Value | String | 否 | TestValue |
命令的标签值。N的取值范围为1~20。该值可以为空字符串。 最多支持128个字符,不能包含 |
返回数据
名称 |
类型 |
示例值 |
描述 |
CommandId | String | c-7d2a745b412b4601b2d47f6a768d**** |
命令ID。 |
RequestId | String | 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** |
请求ID。 |
示例
请求示例
http(s)://ecs.aliyuncs.com/?Action=CreateCommand
&CommandContent=ZWNobyB7e25hbWV9fSA=
&Name=testName
&RegionId=cn-hangzhou
&Type=RunShellScript
&Description=testDescription
&WorkingDir=/home/user
&Timeout=60
&EnableParameter=true
&ContentEncoding=Base64
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
c-7d2a745b412b4601b2d47f6a768d****
473469C7-AA6F-4DC5-B3DB-A3DC0DE3****
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"CommandId" : "c-7d2a745b412b4601b2d47f6a768d****",
"RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}
错误码
HttpCode |
错误码 |
错误信息 |
描述 |
400 | RegionId.ApiNotSupported | The api is not supported in this region. | 指定地域下不支持调用 API。请检查 RegionId 参数取值是否正确。 |
400 | CmdParam.EmptyKey | You must specify the parameter names. | 请检查您的参数是否完整,是否有参数名未填写的情况。 |
400 | CmdParam.InvalidParamName | Invalid parameter name. The name can contain only lowercase letters (a to z), uppercase letters (A to Z), numbers (0 to 9), hyphens (-), and underscores (_). | 自定义参数的参数名无效,只允许 a-zA-Z0-9-_ 的组合。 |
400 | CmdContent.DecodeError | The CommandContent can not be base64 decoded. | 命令内容无法通过Base64解码。 |
400 | InvalidParameter.WorkingDir | The specified parameter WorkingDir is not valid. | 指定的参数WorkingDir不合法。 |
403 | CmdContent.ExceedLimit | The length of the command content exceeds the upper limit. | 命令内容长度超过上限。 |
403 | CmdName.ExceedLimit | The length of the command name exceeds the upper limit. | 命令名称长度超过上限。 |
403 | CmdDesc.ExceedLimit | The length of the command description exceeds the upper limit. | 命令描述长度超过上限。 |
403 | CmdCount.ExceedQuota | The total number of commands in the current region exceeds the quota. | 当前地域下的云助手命令数量已超出限制。 |
403 | CmdParamCount.ExceedLimit | The maximum number of custom parameters is exceeded. | 参数数量超出最大可设置数量。 |
403 | CmdParamName.ExceedLimit | The maximum length of a parameter name is exceeded. | 您的自定义参数的参数名长度超过限制。 |
403 | Operation.Forbidden | The operation is not permitted. | 该操作是不被允许的。 |
403 | InvalidStatus.ResourceGroup | You cannot perform an operation on a resource group that is being created or deleted. | 资源组正在创建或删除时不允许操作。 |
404 | InvalidCmdType.NotFound | The specified command type does not exist. | 指定的命令类型不存在。 |
404 | InvalidResourceGroup.NotFound | The ResourceGroup provided does not exist in our records. | 资源组并不在记录中。 |
500 | InternalError.Dispatch | An error occurred when you dispatched the request. | 发送请求时发生错误,请稍后重试。 |
访问错误中心查看更多错误码。
关于阿里云ecs服务器的内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/9751.html