aws:runCommand
– 在受管執行個體上執行命令
執行指定的命令。
注意
自動化僅支援一個 AWS Systems Manager Run Command 動作的輸出。Runbook 可以包含多個 Run Command 動作,但一次僅一個動作支援輸出。
輸入
此動作支援大部分的傳送命令參數。如需詳細資訊,請參閱 SendCommand。
- DocumentName
-
如果命令類型文件由您或 AWS 擁有,則請指定文件的名稱。如果您使用的文件是由不同 AWS 帳戶 共用,則請指定文件的 Amazon Resource Name (ARN)。如需使用共用文件的詳細資訊,請參閱 使用共用的 SSM 文件。
類型:字串
必要:是
- InstanceIds
-
您想要命令執行的執行個體 ID。您最多可以指定 50 個 ID。
您也可以使用虛擬參數
{{RESOURCE_ID}}
取代執行個體 ID,在目標群組中的所有執行個體上執行命令。如需這些虛擬參數的詳細資訊,請參閱註冊維護時段任務時使用虛擬參數。另一種方法是使用
Targets
參數將命令傳送到執行個體機群。Targets
參數接受 Amazon Elastic Compute Cloud (Amazon EC2) 標籤。如需使用Targets
參數的詳細資訊,請參閱 大規模執行命令。類型:StringList
必要:否 (如果您未指定 InstanceIds 或使用
{{RESOURCE_ID}}
虛擬參數,則必須指定Targets
參數。) - 目標
-
一系列的搜尋條件,使用您指定的鍵值組合將執行個體設為目標。若您沒有在呼叫中提供一或多個執行個體 ID,則
Targets
為必要項目。如需使用Targets
參數的詳細資訊,請參閱 大規模執行命令。類型:MapList (清單中的對應結構描述必須符合物件。) 如需詳細資訊,請參閱《AWS Systems Manager API 參考》中的 Target。
必要:否 (如果您未指定
Targets
,則必須指定 InstanceIds 或使用{{RESOURCE_ID}}
虛擬參數)。以下是範例。
- 參數
-
文件中指定的必要和選用參數。
類型:映射
必要:否
- CloudWatchOutputConfig
-
用於傳送命令輸出至 Amazon CloudWatch Logs 的組態選項。如需傳送命令輸出至 CloudWatch Logs 的詳細資訊,請參閱 設定 Run Command 的 Amazon CloudWatch Logs。
類型:StringMap (映射的結構描述必須與物件相符。如需詳細資訊,請參閱《AWS Systems Manager API 參考》中的 CloudWatchOutputConfig。
必要:否
以下是範例。
- 註解
-
關於命令,由使用者定義的資訊。
類型:字串
必要:否
- DocumentHash
-
文件的雜湊。
類型:字串
必要:否
- DocumentHashType
-
雜湊的類型。
類型:字串
有效值:
Sha256
|Sha1
必要:否
- NotificationConfig
-
傳送通知的組態。
必要:否
- OutputS3BucketName
-
用於命令輸出回應的 S3 儲存貯體名稱。
類型:字串
必要:否
- OutputS3KeyPrefix
-
字首。
類型:字串
必要:否
- ServiceRoleArn
-
AWS Identity and Access Management (IAM) 角色的 ARN。
類型:字串
必要:否
- TimeoutSeconds
-
等待命令傳遞至執行個體上 AWS Systems Manager SSM Agent 的時間 (以秒為單位)。如果在指定的值到達之前執行個體上的 SSM Agent 沒有收到命令,則命令的狀態會變更為
Delivery Timed Out
。類型:整數
必要:否
有效值:30-2592000
輸出
- CommandId
-
命令的 ID。
- Status
-
命令的狀態。
- ResponseCode
-
命令的回應代碼。如果執行的文件有 1 個以上步驟,則不會傳回此輸出的值。
- 輸出
-
命令的輸出。如果您使用命令將標籤或多個執行個體設為目標,則不會傳回輸出值。您可以使用
GetCommandInvocation
和ListCommandInvocations
API 操作來擷取個別執行個體的輸出。