指定CommandId、InstanceId、ResourceGroupId等參數,為一台或多台ECS執行個體觸發一條雲助手命令。
介面說明
介面說明
-
對目標 ECS 執行個體有如下限制。選擇了多台 ECS 執行個體後,若其中某台執行個體不滿足執行條件,您需要重新調用介面。
-
狀態必須為運行中(
Running),您可以調用 DescribeInstances 查詢。 -
已預先安裝雲助手 Agent。
-
執行類型為 PowerShell 的命令時,執行個體必須已經配置了 PowerShell 模組。
-
-
單次執行:只執行一次命令。
-
定時執行:
根據參數 Frequency 指定的時間頻率定時執行,上次的執行結果不會對下一次執行產生任何影響。
當您基於 Cron 運算式執行定時任務且指定了時區,時鐘定時執行時間設定基準為您指定的時區;當您沒有指定時區時,時鐘定時執行時間設定基準為 ECS 執行個體內的系統時區,且執行時間以執行個體的系統時間為準。請確保 ECS 執行個體的時間或者時區與您預期的時間一致。更多關於時區的詳情,請參見行政時間同步服務。
雲助手 Agent 版本不低於以下對應的版本才能支援定時任務的新特性(固定時間間隔執行、僅在指定時間執行一次、基於 Cron 運算式定時執行時指定年份或時區)。如果結果返回 ClientNeedUpgrade 錯誤碼,請參見升級或禁止升級雲助手 Agent,將用戶端更新至最新版本。
Linux:2.2.3.282。
Windows:2.1.3.282。
-
命令可能會因為目標執行個體的狀態異常、網路異常或雲助手 Agent 異常而出現無法執行的情況,無法執行時不會產生執行資訊。更多資訊,請參見執行失敗常見錯誤及修複建議。
-
當您建立命令時啟用了自訂參數功能,需要在執行命令時傳入自訂參數(
Parameters)。 -
建議您先調用 DescribeCloudAssistantStatus 查詢執行個體的雲助手狀態,當 CloudAssistantStatus 為 true 時再執行命令,尤其對於新購執行個體。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
調試
授權資訊
|
操作 |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
|
ecs:InvokeCommand |
update |
*Command
*Instance
|
|
無 |
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| RegionId |
string |
是 |
地區 ID。您可以調用 DescribeRegions 查看最新的阿里雲地區列表。 |
cn-hangzhou |
| ResourceGroupId |
string |
否 |
命令執行的資源群組 ID,當指定該參數時:
|
rg-bp67acfmxazb4p**** |
| RegionId |
string |
是 |
地區 ID。您可以調用 DescribeRegions 查看最新的阿里雲地區列表。 |
cn-hangzhou |
| CommandId |
string |
是 |
命令 ID。您可以通過介面 DescribeCommands 查詢所有可用的 CommandId。 說明
對於公用命令,可以通過命令名稱執行。更多資訊,請參見查看和執行雲助手公用命令。 |
c-e996287206324975b5fbe1d**** |
| RepeatMode |
string |
否 |
設定命令執行的方式。取值範圍:
預設值:
注意事項:
|
Once |
| Timed |
boolean |
否 |
說明
該參數已廢棄,傳入該參數不會生效。 |
true |
| Frequency |
string |
否 |
定時執行命令的執行時間。目前支援三種定時執行方式:固定時間間隔執行(基於 Rate 運算式)、僅在指定時間執行一次、基於時鐘定時執行(基於 Cron 運算式)。
|
0 */20 * * * ? |
| Parameters |
object |
否 |
啟用自訂參數功能時,執行命令時傳入的自訂參數的索引值對。自訂參數的個數範圍為 0~10。
您可以取消設定該參數從而禁用自訂參數。 |
{"name":"Jack", "accessKey":"LTAI************"} |
| Username |
string |
否 |
在 ECS 執行個體中執行命令的使用者名稱稱。長度不得超過 255 個字元。
您也可以指定執行個體中已存在的其他使用者執行命令,以普通使用者執行雲助手命令更加安全。更多資訊,請參見設定普通使用者執行雲助手命令。 |
test |
| WindowsPasswordName |
string |
否 |
在 Windows 執行個體中執行命令的使用者的密碼名稱。長度不得超過 255 個字元。 當您希望以非預設使用者(System)在 Windows 執行個體中執行命令時,需要同時傳入 說明
當您使用 Linux 執行個體的 root 使用者或 Windows 執行個體的 System 使用者執行命令時,不需要傳遞該參數。 |
axtSecretPassword |
| InstanceId |
array |
否 |
需要執行命令的執行個體列表,最多能指定 100 台執行個體 ID。N 的取值範圍為 1~100。 您也可以在配額中心申請提升配額(配額名稱為命令執行支援執行個體上限數)。 |
i-bp185dy2o3o6n**** |
|
string |
否 |
需要執行命令的執行個體 ID。 |
i-bp185dy2o3o6n**** |
|
| ContainerId |
string |
否 |
容器 ID。僅支援 64 位元 16 進位字串。支援使用 注意事項:
|
ab141ddfbacfe02d9dbc25966ed971536124527097398d419a6746873fea**** |
| ContainerName |
string |
否 |
容器名稱。 注意事項:
|
test-container |
| Timeout |
integer |
否 |
執行命令的逾時時間,單位:秒。
|
60 |
| Tag |
array<object> |
否 |
標籤列表。 |
|
|
object |
否 |
標籤列表。 |
||
| Value |
string |
否 |
命令執行的標籤值。N 的取值範圍為 1~20。該值可以為空白字串。 最多支援 128 個字元,不能包含 |
TestValue |
| Key |
string |
否 |
命令執行的標籤鍵。N 的取值範圍為 1~20。一旦傳入該值,則不允許為空白字串。 使用一個標籤過濾資源,查詢到該標籤下的資源數量不能超過 1000 個。使用多個標籤過濾資源,查詢到同時綁定了多個標籤的資源數量不能超過 1000 個。如果資源數量超過 1000 個,您需要使用 ListTagResources 介面進行查詢。 最多支援 64 個字元,不能以 |
TestKey |
| ClientToken |
string |
否 |
保證請求等冪性。從您的用戶端產生一個參數值,確保不同請求間該參數值唯一。ClientToken 只支援 ASCII 字元,且不能超過 64 個字元。更多詳情,請參見如何保證等冪性。 |
123e4567-e89b-12d3-a456-42665544**** |
| ResourceTag |
array<object> |
否 |
用於篩選執行個體的標籤列表。可以在不指定 InstanceId 的情況下,向具有相同標籤的執行個體批量執行命令。 |
|
|
object |
否 |
用於篩選執行個體的標籤。可以在不指定 InstanceId 的情況下,向具有相同標籤的執行個體批量執行命令。 |
||
| Value |
string |
否 |
用於篩選執行個體的標籤值。 注意事項:
|
TestValue |
| Key |
string |
否 |
用於篩選執行個體的標籤鍵。 注意事項:
|
TestKey |
| TerminationMode |
string |
否 |
停止任務(手動停止或執行逾時打斷)時的模式。可能值:
|
ProcessTree |
| Launcher |
string |
否 |
指令碼執行的引導程式。長度不能超過 1 KB。 |
python3 -u {{ACS::ScriptFileName|Ext(".py")}} |
| WorkingDir |
string |
否 |
命令在 ECS 執行個體中啟動並執行目錄。長度不得超過 200 個字元。
|
/home/user |
| OssOutputDelivery |
string |
否 |
命令執行 Output OSS 投遞配置。
|
oss://testBucket/testPrefix |
返回參數
|
名稱 |
類型 |
描述 |
樣本值 |
|
object |
|||
| InvokeId |
string |
命令執行 ID。 |
t-7d2a745b412b4601b2d47f6a768d**** |
| RequestId |
string |
請求 ID。 |
473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** |
樣本
正常返回樣本
JSON格式
{
"InvokeId": "t-7d2a745b412b4601b2d47f6a768d****",
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}
錯誤碼
|
HTTP status code |
錯誤碼 |
錯誤資訊 |
描述 |
|---|---|---|---|
| 400 | ResourceBusy.SlrCreation | The ServiceLinkedRole is still being created or has not taken effect yet. Please try again later. | |
| 400 | RegionId.ApiNotSupported | The api is not supported in this region. | 指定地區下不支援調用 API。請檢查 RegionId 參數取值是否正確。 |
| 400 | InvalidParameter.WorkingDir | The specified parameter WorkingDir is not valid. | 指定的參數WorkingDir不合法。 |
| 400 | MissingParam.InstanceId | The parameter instanceId is missing or empty. | 執行個體ID為空白。 |
| 400 | InvalidContainerId.Malformed | The specified parameter ContainerId is not valid. | 指定的容器ID不合法。 |
| 400 | InvalidContainerName.Malformed | The specified parameter ContainerName is not valid. | 指定的容器名稱不合法。 |
| 400 | InvalidClientToken.Malformed | The specified parameter clientToken is not valid. | 指定的等冪參數不合法。 |
| 400 | InvalidInstance.NotMatch | The specified instance type does not match the command. | |
| 400 | MissingParam.Frequency | The frequency must be specified when you create a timed task. | |
| 400 | InvalidParam.Frequency | The specified frequency is invalid. | |
| 400 | Parameter.MissingValue | The parameter value of this command is required. | |
| 400 | Parameter.Disabled | Parameters cannot be passed in when the command customization function is disabled. | |
| 400 | InvalidParameter.Parameters | The specified parameter Parameters is not valid. | 指定的參數Parameters不合法。 |
| 400 | NumberExceed.ResourceTags | The maximum number of ResourceTags is exceeded. | |
| 400 | MissingParameter.ResourceTagKey | You must specify ResourceTag.N.Key. | |
| 400 | InvalidResourceTagKey.Malformed | The specified ResourceTag key is not valid. | |
| 400 | InvalidResourceTagValue.Malformed | The specified ResourceTag value is not valid. | |
| 400 | Duplicate.ResourceTagKey | The ResourceTag contains duplicate keys. | |
| 400 | InvalidResourceTag.InstanceNotFound | InstanceIds are not found by the specified ResourceTag. | |
| 400 | InvalidResourceTag.ConflictWithInstanceIds | The specified param ResourceTag conflicts with InstanceId. | |
| 400 | InvalidOssOutputDelivery.BucketInOtherRegion | The OSS bucket specified in the parameter OssOutputDelivery is in another region. | 參數OssOutputDelivery 中指定的 OSS bucket在其他地區。 |
| 400 | InvalidParameter.OssOutputDelivery | The specified parameter OssOutputDelivery is not valid. | 指定的參數OssOutputDelivery不合法。 |
| 400 | InvalidOssOutputDelivery.KeyPrefixMalformed | The prefix of the OSS key specified in the parameter OssOutputDelivery is not valid. | 參數OssOutputDelivery中指定的prefix不合法。 |
| 500 | InternalError.Dispatch | An error occurred when you dispatched the request. | 發送請求時發生錯誤,請稍後重試。 |
| 403 | InvalidOssOutputDelivery.BucketAccessDenied | The error message returned by the OSS API is: %s | |
| 403 | InstanceIds.ExceedLimit | The number of instance IDs exceeds the upper limit. | 目標執行個體數量超過上限。 |
| 403 | Invocation.ExceedQuota | The invocation quota in the current region has been reached for today. | 在當前地區命令執行次數已到達今天的額度。 |
| 403 | ParameterCount.ExceedLimit | The maximum number of parameters is exceeded. | 參數數量超出最大可設定數量。 |
| 403 | ParameterKey.ExceedLimit | The maximum length of a parameter name is exceeded. | 指定的參數Key長度超過可設定的最大長度。 |
| 403 | CmdContent.ExceedLimit | The maximum length of a command is exceeded. | 您的命令內容過長,請精簡您的命令內容。 |
| 403 | ParameterKey.Duplicate | Parameter names cannot be duplicated. | 參數名稱不能重複,請確認後重試。 |
| 403 | Parameter.NotMatched | The passed-in parameters do not match the parameters defined when you created the command. | 傳入的自訂參數與建立命令時定義的自訂參數不匹配。 |
| 403 | ParameterType.NotSupported | The type of parameter value is not supported. | |
| 403 | Username.ExceedLimit | The length of the username exceeds the upper limit. | 使用者名稱長度超過上限。 |
| 403 | WindowsPasswordName.ExceedLimit | The length of the WindowsPasswordName exceeds the upper limit. | 指定的WindowsPasswordName參數長度超過上限。 |
| 403 | WindowsPasswordName.Missed | WindowsPasswordName must be specified when you create a Windows task. | 請求參數“命令類型(WindowsPasswordName)”的值未提供。 |
| 403 | ParameterStore.NotSupported | Parameter Store is not supported in this region. | |
| 403 | TemporaryAccessKey.Error | The temporary accessKey is invalid. | |
| 403 | ParameterStore.InvalidParameters | The parameter is invalid in Parameter Store. | 未找到命令內容中的{{oos:?}}所指定的參數。 |
| 403 | ParameterStore.NoPermission | You have no access to Parameter Store. | |
| 403 | Operation.Forbidden | The operation is not permitted. | 該操作是不被允許的。 |
| 403 | IdempotentParameterMismatch | The specified parameter has changed while using an already used clientToken. | 指定的客戶令牌已經被使用。 |
| 403 | IdempotentProcessing | The previous idempotent request(s) is still processing. | 先前的等冪請求仍在處理中,請稍後重試。 |
| 403 | InvalidLauncher.LengthLimitExceeded | The length of the parameter Launcher exceeds the limit of 1 KB characters. | 參數Launcher的長度超過了 1 KB個字元的限制。 |
| 403 | InvalidParameterCharset.Parameters | The parameter Parameters contains illegal charset. | 命令參數包含非法字元集。 |
| 403 | CreateServiceLinkedRole.NoPermission | You do not have permission to create ServiceLinkedRole for output delivery. | 您沒有為output投遞功能建立服務關聯角色的許可權。 |
| 403 | InvalidTimeout.ExceedLimit | The specified parameter Timeout exceeds the upper limit. | |
| 404 | InvalidRepeatMode.NotFound | The specified repeat mode does not exist. | 指定的命令執行方式不存在。 |
| 404 | InvalidRegionId.NotFound | The RegionId provided does not exist in our records. | 地區資訊錯誤 |
| 404 | InvalidInstance.NotFound | The specified instance does not exist. | 指定的執行個體不存在。 |
| 404 | InvalidCmdId.NotFound | The specified command ID does not exist. | 指定的 CommandId 參數有誤,請檢查參數值是否正確。您可以通過介面 DescribeCommands 查詢所有可用的 CommandId。 |
| 404 | InvalidResourceGroup.NotFound | The ResourceGroup provided does not exist in our records. | 資源群組並不在記錄中。 |
| 404 | InvalidTerminationMode.NotFound | The specified parameter TerminationMode does not exist. | 指定的參數TerminationMode不存在。 |
| 404 | InvalidOssOutputDelivery.BucketNotFound | The OSS bucket specified in the parameter OssOutputDelivery does not exist. | 參數OssOutputDelivery中指定的bucket不存在。 |
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。