Shell、PowerShell、または Bat スクリプトタイプのクラウドアシスタントコマンドを作成します。
操作説明
操作の説明
- 以下のタイプのコマンドを作成できます。
Windows インスタンス用の Bat スクリプト (RunBatScript)。
Windows インスタンス用の PowerShell スクリプト (RunPowerShellScript)。
Linux インスタンス用の Shell スクリプト (RunShellScript)。
- Timeout パラメーターを指定して、ECS インスタンスでのコマンド実行の最大タイムアウト期間を設定できます。コマンドがタイムアウトした場合、クラウドアシスタントエージェント はコマンドの PID をキャンセルすることでコマンドプロセスを強制終了します。
1 回限りの実行の場合、コマンドがタイムアウトすると、指定された ECS インスタンスでのコマンドの実行ステータス ( InvokeRecordStatus ) が Failed に変わります。
- 定期実行の場合:
タイムアウト期間は各実行レコードに効果があります。
特定の実行がタイムアウトすると、その実行レコードのステータス ( InvokeRecordStatus ) が Failed に変わります。
以前の実行のタイムアウトは、次の実行には影響しません。
1 つのリージョンに保持できるクラウドアシスタントコマンドは 500 から 50,000 個までです。クォータの引き上げをリクエストすることもできます。クォータのクエリと引き上げ方法については、「クォータ管理」を参照してください。
WorkingDir パラメーターを指定して、コマンドの実行パスを設定できます。Linux インスタンスの場合、デフォルトのパスはルートユーザーのホームディレクトリである /root です。Windows インスタンスの場合、デフォルトのパスはクラウドアシスタントエージェントプロセスが配置されているディレクトリ (例:C:\Windows\System32) です。
EnableParameter=true を指定して、カスタムパラメーター機能を有効にできます。CommandContent を設定する際に、{{parameter}} 形式でカスタムパラメーターを定義し、 InvokeCommand を呼び出してコマンドを実行するときにカスタムパラメーターのキーと値のペアを渡すことができます。たとえば、echo {{name}} というコマンドを作成し、InvokeCommand を呼び出すときに Parameters パラメーターを使用してキーと値のペア <name, Jack> を渡すと、カスタムパラメーターが自動的に置換されます。新しいコマンド echo Jack が生成され、インスタンス上で実行されます。
今すぐお試しください
テスト
RAM 認証
|
アクション |
アクセスレベル |
リソースタイプ |
条件キー |
依存アクション |
|
ecs:CreateCommand |
create |
*Command。
|
なし | なし |
リクエストパラメーター
|
パラメーター |
型 |
必須 / 任意 |
説明 |
例 |
| RegionId |
string |
必須 |
リージョン ID。 DescribeRegions を呼び出して、最新のリージョンリストをクエリできます。 |
cn-hangzhou |
| Name |
string |
必須 |
コマンド名。すべての文字セットがサポートされています。名前の長さは最大 128 文字です。 |
testName |
| Description |
string |
任意 |
コマンドの説明。すべての文字セットがサポートされています。説明の長さは最大 512 文字です。 |
testDescription |
| Type |
string |
必須 |
コマンドのタイプ。有効な値:
|
RunShellScript |
| CommandContent |
string |
必須 |
コマンドの Base64 エンコーディングされた内容。
|
ZWNobyAxMjM= |
| WorkingDir |
string |
任意 |
ECS インスタンスでコマンドが実行されるディレクトリ。ディレクトリの長さは最大 200 文字です。 デフォルト値:
説明
このパラメーターを別のディレクトリに設定する場合は、インスタンス上にそのディレクトリが存在することを確認してください。 |
/home/user |
| Timeout |
integer |
任意 |
ECS インスタンスでのコマンド実行の最大タイムアウト期間。単位: 秒。何らかの理由でコマンドを実行できない場合、タイムアウトが発生します。タイムアウト後、コマンドの PID をキャンセルすることでコマンドプロセスが強制終了されます。 デフォルト値: 60。 |
60 |
| EnableParameter |
boolean |
任意 |
コマンドでカスタムパラメーターを使用するかどうかを指定します。 デフォルト値: false。 |
false |
| ContentEncoding |
string |
任意 |
コマンドの内容 (CommandContent) のエンコーディングモード。有効な値:
デフォルト値: Base64。 説明
無効な値が指定された場合、Base64 として扱われます。 |
PlainText |
| ClientToken |
string |
任意 |
リクエストのべき等性を確保するために使用されるクライアントトークン。クライアントを使用してトークンを生成できますが、異なるリクエスト間でトークンが一意であることを確認してください。ClientToken は ASCII 文字のみをサポートし、長さは 64 文字を超えることはできません。詳細については、「べき等性の確保方法」を参照してください。 |
123e4567-e89b-12d3-a456-426655440000 |
| ResourceGroupId |
string |
任意 |
コマンドが属するリソースグループの ID。 |
rg-123****** |
| Launcher |
string |
任意 |
スクリプト実行のブートストラッププログラム。値の長さは 1 KB を超えることはできません。 |
python3 -u {{ACS::ScriptFileName|Ext(".py")}} |
| Tag |
array<object> |
任意 |
タグ。 |
|
|
object |
任意 |
タグ。 |
||
| Key |
string |
任意 |
コマンドのタグキー。N の有効な値: 1~20。タグキーは空文字列にすることはできません。 単一のタグを使用してリソースをフィルター処理する場合、指定されたタグを持つリソース数は 1,000 を超えることはできません。複数のタグを使用してリソースをフィルター処理する場合、指定されたすべてのタグが付けられているリソースの数は 1,000 を超えることはできません。リソース数が 1,000 を超える場合は、 ListTagResources を呼び出してリソースをクエリしてください。 タグキーの長さは最大 64 文字で、aliyun または acs: で始めることはできません。http:// または https:// を含めることはできません。 |
TestKey |
| Value |
string |
任意 |
コマンドのタグ値。N の有効な値: 1~20。タグ値は空文字列にすることができます。 タグ値の長さは最大 128 文字で、http:// または https:// を含めることはできません。 |
TestValue |
レスポンスフィールド
|
フィールド |
型 |
説明 |
例 |
|
object |
|||
| CommandId |
string |
コマンド ID。 |
c-7d2a745b412b4601b2d47f6a768d**** |
| RequestId |
string |
リクエスト ID |
473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** |
例
成功レスポンス
JSONJSON
{
"CommandId": "c-7d2a745b412b4601b2d47f6a768d****",
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}
エラーコード
|
HTTP ステータスコード |
エラーコード |
エラーメッセージ |
説明 |
|---|---|---|---|
| 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 (_). | |
| 400 | CmdContent.DecodeError | The CommandContent can not be base64 decoded. | 指定された CommandContent パラメーター値を Base64 デコードできません。パラメーター値が正しいかどうかを確認してください。 |
| 400 | InvalidParameter.WorkingDir | The specified parameter WorkingDir is not valid. | 指定された WorkingDir パラメーターは無効です。 |
| 400 | InvalidClientToken.Malformed | The specified parameter clientToken is not valid. | 指定された冪等パラメーターは無効です。 |
| 500 | InternalError.Dispatch | An error occurred when you dispatched the request. | リクエストの送信中にエラーが発生しました。後でもう一度お試しください。 |
| 403 | InvalidParameterCharacter | The specified parameter %s contains illegal characters. | |
| 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. | リソースグループの作成中または削除中は、操作を実行できません。 |
| 403 | InvalidParameterCharacter.CommandName | The command Name contains illegal characters. | コマンド名に無効な文字が含まれています。 |
| 403 | InvalidParameterCharacter.CommandDescription | The command Description contains illegal characters. | コマンドの説明に無効な文字が含まれています。 |
| 403 | InvalidParameterCharacter.CommandWorkingDir | The command WorkingDir contains illegal characters. | コマンドの実行パスに無効な文字が含まれています。 |
| 403 | InvalidLauncher.LengthLimitExceeded | The length of the parameter Launcher exceeds the limit of 1 KB characters. | Launcher パラメーターの長さが上限の 1 KB を超えています。 |
| 403 | InvalidTimeout.ExceedLimit | The specified parameter Timeout exceeds the upper limit. | |
| 403 | IdempotentParameterMismatch | The specified parameter has changed while using an already used clientToken. | リクエストパラメーターが、同じ ClientToken を持つリクエストと一致しません。 |
| 403 | IdempotentProcessing | The previous idempotent request(s) is still processing. | 直前の冪等リクエストはまだ処理中です。しばらくしてからもう一度お試しください。 |
| 404 | InvalidCmdType.NotFound | The specified command type does not exist. | |
| 404 | InvalidRegionId.NotFound | The RegionId provided does not exist in our records. | 指定された RegionId は存在しません。このリージョンでプロダクトが利用可能かどうかを確認してください。 |
| 404 | InvalidResourceGroup.NotFound | The ResourceGroup provided does not exist in our records. | レコードにリソースグループが見つかりません。 |
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。