コマンドを作成します。クラウドアシスタントを使用してコマンドを実行できます。
説明
- 次のタイプのコマンドのみ作成できます。
- Windows インスタンス用の Bat スクリプト (
RunBatScript
) - Windows インスタンス用の PowerShell スクリプト (
RunPowerShellScript
) - Linux インスタンス用の Shell スクリプト (
RunShellScript
)
- Windows インスタンス用の Bat スクリプト (
- ECS インスタンスのコマンド呼び出しで、
TimeOut
パラメーターを指定し、最大タイムアウト値を設定できます。コマンド呼び出しがタイムアウトすると、 クラウドアシスタントクライアントは、コマンド処理を強制的に停止します。- 1 回の呼び出しでは、呼び出しのタイムアウト後、指定された ECS インスタンスのコマンド呼び出しステータス (
InvokeRecordStatus
) は [失敗] (Failed
) になります。 - 定期的な呼び出しの場合:
- 定期的な呼び出しのタイムアウト値は、すべての呼び出しレコードに対して有効です。
- 1 回の呼び出し操作がタイムアウトすると、呼び出しレコード (
InvokeRecordStatus
) のステータスは [失敗] (Failed
)になります。 - 最後の呼び出しのタイムアウトステータスは、次の呼び出しに影響しません。
- 1 回の呼び出しでは、呼び出しのタイムアウト後、指定された ECS インスタンスのコマンド呼び出しステータス (
WorkingDir
パラメーターを指定して、コマンドの呼び出しパスを指定できます。Linux インスタンスの場合、デフォルトでは、コマンドは/root
ディレクトリで実行されます。Windows インスタンスの場合、コマンドは、C:\ProgramData\aliyun\assist\$(version)
など、クラウドアシスタントクライアントプロセスが置かれているディレクトリで実行されます。
リクエストパラメーター
名前 | 型 | 必須かどうか | 説明 |
---|---|---|---|
Action | String | はい | インターフェイスの名前。値:CreateCommand |
RegionId | String | はい | リージョン ID。 詳細については、 DescribeRegions を呼び出して最新のリージョンリストを取得してください。 |
Name | String | はい | コマンド名。すべての文字エンコーディングセットをサポートしています。 |
Type | String | はい | コマンドタイプ。RunBatScript:Windows インスタンス用の Bat スクリプトを作成します。RunPowerShellScript:Windows インスタンス用の PowerShell スクリプトを作成します。RunShellScript:Linux インスタンス用の Shell スクリプトを作成します。オプションの値:
|
Description | String | いいえ | コマンドの説明。すべての文字エンコーディングセットをサポートしています。 |
CommandContent | String | いいえ | Base64 でエンコードされたコマンドの内容。リクエストパラメーター Type を渡す時、 同時にこのパラメーターを渡す必要があります。パラメーター値は送信用に Base64 でエンコードする必要があり、Base64 エンコード前のスクリプトのコンテンツサイズは、16 KB を超えることはできません。 |
WorkingDir | String | いいえ | ECS インスタンスで実行するコマンドを作成したディレクトリ。デフォルト値:
|
TimeOut | Integer | いいえ | コマンドの呼び出しタイムアウト値。単位は秒です。コマンドが何らかの理由で実行に失敗した場合、呼び出しがタイムアウトすることがあります。その後、クラウドアシスタントクライアントは、コマンド PID をキャンセルして、コマンド処理を強制的に停止します。パラメーター値は 60 以上でなければなりません。値が 60 より小さい場合、タイムアウト値のデフォルトは 60 秒です。デフォルト値:3600 |
レスポンスパラメーター
名前 | 型 | 説明 |
---|---|---|
CommandId | String | コマンド ID。 |
例
リクエストの例
https://ecs.aliyuncs.com/?Action=CreateCommand&RegionId=cn-hangzhou&Name=Test&Type=RunShellScript&CommandContent=ZWNobyAxMjM=&<共通リクエストパラメーター>
成功したレスポンスの例
XML 形式
JSON 形式
<CreateCommandResponse> <RequestId>540CFF28-407A-40B5-B6A5-73Bxxxxxxxxx</RequestId> <CommandId>c-e996287206324975b5fbe1dxxxxxxxxx</CommandId></CreateCommandResponse>
{ “RequestId”:”540CFF28-407A-40B5-B6A5-73Bxxxxxxxxx”, “CommandId”:”c-e996287206324975b5fbe1dxxxxxxxxx”}
エラーレスポンスの例
XML 形式
JSON 形式
<Error> <RequestId>540CFF28-407A-40B5-B6A5-74Bxxxxxxxxx</RequestId> <HostId>ecs.aliyuncs.com</HostId> <Code>MissingParameter.Name</Code> <Message>The input parameter “Name” that is mandatory for processing this request is not supplied.</Message></Error>
“RequestId”: “540CFF28-407A-40B5-B6A5-74Bxxxxxxxxx”, “HostId”: “ecs.aliyuncs.com” “Code”: “MissingParameter.Name” “Message”: “The input parameter “Name” that is mandatory for processing this request is not supplied.”
エラーコード
このインタフェースに固有のエラーコードは次の通りです。詳細については、API のエラーセンターをご覧ください 。
エラーコード | エラーメッセージ | HTTP ステータスコード | 説明 |
---|---|---|---|
Invalid.CommandContent | The specified CommandContent is not valid or exceed max | 400 | 指定された CommandContent パラメーターが無効です。または、CommandContent 値が 16 KB を超えています。 |
MissingParameter.Name | The input parameter “Name” that is mandatory for processing this request is not supplied. | 400 | 必須パラメーター Name を指定する必要があります。 |
MissingParameter.RegionId | The input parameter “RegionId” that is mandatory for processing this request is not supplied. | 400 | 必須パラメーター RegionId を指定する必要があります。または、指定されたリージョンのリソースを使用することはできません。 |
MissingParameter.Type | The input parameter “Type” that is mandatory for processing this request is not supplied. | 400 | 必須パラメーター Type を指定する必要があります。 |
InvalidCmdType.NotFound | The specified command type does not exist | 404 | 指定された Type パラメーターは存在しません。 |
InvalidRegionId.NotFound | The RegionId provided does not exist in our items. | 404 | 指定された RegionId は存在しません。 |
InternalError.Dispatch | An internal error occurred when dispath the request | 500 | 内部エラーです。しばらくしてからもう一度お試しください。 |