すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:CreateCommand

最終更新日:Sep 20, 2026

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 が生成され、インスタンス上で実行されます。

今すぐお試しください

この API を OpenAPI Explorer でお試しください。手作業による署名は必要ありません。呼び出しに成功すると、入力したパラメーターに基づき、資格情報が組み込まれた SDK コードが自動的に生成されます。このコードをダウンロードしてローカルで使用できます。

テスト

RAM 認証

下表に、この API を呼び出すために必要な認証情報を示します。認証情報は、RAM (Resource Access Management) ポリシーを使用して定義できます。以下で各列名について説明します。

  • アクション:特定のリソースに対して実行可能な操作。ポリシー構文ではAction要素として指定します。

  • API:アクションを具体的に実行するための API。

  • アクセスレベル:各 API に対して事前定義されているアクセスの種類。有効な値:create、list、get、update、delete。

  • リソースタイプ:アクションが作用するリソースの種類。リソースレベルでの権限をサポートするかどうかを示すことができます。ポリシーの有効性を確保するため、アクションの対象として適切なリソースを指定してください。

    • リソースレベルの権限を持つ API の場合、必要なリソースタイプはアスタリスク (*) でマークされます。ポリシーのResource要素で対応する ARN を指定してください。

    • リソースレベルの権限を持たない API の場合、「すべてのリソース」と表示され、ポリシーのResource要素でアスタリスク (*) でマークされます。

  • 条件キー:サービスによって定義された条件のキー。このキーにより、きめ細やかなアクセス制御が可能になります。この制御は、アクション単体に適用することも、特定のリソースに対するアクションに適用することもできます。Alibaba Cloud は、サービス固有の条件キーに加えて、すべての RAM 統合サービスに適用可能な一連の共通条件キーを提供しています。

  • 依存アクション:ある特定のアクションを実行するために、前提として実行が必要となる他のアクション。依存アクションの権限も RAM ユーザーまたは RAM ロールに付与する必要があります。

アクション

アクセスレベル

リソースタイプ

条件キー

依存アクション

ecs:CreateCommand

create

*Command。

acs:ecs:{#regionId}:{#accountId}:command/*

なし なし

リクエストパラメーター

パラメーター

型

必須 / 任意

説明

例

RegionId

string

必須

リージョン ID。 DescribeRegions を呼び出して、最新のリージョンリストをクエリできます。

cn-hangzhou

Name

string

必須

コマンド名。すべての文字セットがサポートされています。名前の長さは最大 128 文字です。

testName

Description

string

任意

コマンドの説明。すべての文字セットがサポートされています。説明の長さは最大 512 文字です。

testDescription

Type

string

必須

コマンドのタイプ。有効な値:

  • RunBatScript: Windows インスタンスで実行する Bat スクリプトを作成します。

  • RunPowerShellScript: Windows インスタンスで実行する PowerShell スクリプトを作成します。

  • RunShellScript: Linux インスタンスで実行する Shell スクリプトを作成します。

RunShellScript

CommandContent

string

必須

コマンドの Base64 エンコーディングされた内容。

  • このパラメーターの値は Base64 エンコーディングされている必要があり、エンコーディング後のサイズは 24 KB を超えることはできません。

  • コマンドの内容はカスタムパラメーターをサポートしています。カスタムパラメーター機能を有効にするには、EnableParameter=true を指定します。

    • カスタムパラメーターは、パラメーター名を {{}} で囲んで定義します。{{}} 内のパラメーター名の前後のスペースと改行は無視されます。

    • カスタムパラメーターの数は 20 を超えることはできません。

    • カスタムパラメーター名には、英字 (a-z、A-Z)、数字 (0-9)、ハイフン (-)、アンダースコア (_) を使用できます。組み込み以外の環境パラメーターを指定するための acs:: プレフィックスはサポートされていません。その他の文字はサポートされていません。パラメーター名は大文字と小文字が区別されません。

    • 各パラメーター名の長さは最大 64 バイトです。

  • 組み込み環境パラメーターをカスタムパラメーターとして指定できます。コマンドが実行されると、クラウドアシスタントはパラメーターを環境の対応する値に自動的に置換します。以下の組み込み環境パラメーターがサポートされています。

    • {{ACS::RegionId}}: リージョン ID。

    • {{ACS::AccountId}}: Alibaba Cloud アカウント ID の UID。

    • {{ACS::InstanceId}}: インスタンスの ID。コマンドが複数のインスタンスに送信され、{{ACS::InstanceId}} を組み込み環境パラメーターとして使用する場合、クラウドアシスタントエージェントのバージョンが以下のバージョン以降であることを確認してください。

      • Linux: 2.2.3.309

      • Windows: 2.1.3.309

    • {{ACS::InstanceName}}: インスタンス名。コマンドが複数のインスタンスに送信され、{{ACS::InstanceName}} を組み込み環境パラメーターとして使用する場合、クラウドアシスタントエージェントのバージョンが以下のバージョン以降であることを確認してください。

      • Linux: 2.2.3.344

      • Windows: 2.1.3.344

    • {{ACS::InvokeId}}: コマンド実行 ID。{{ACS::InvokeId}} を組み込み環境パラメーターとして使用する場合、クラウドアシスタントエージェントのバージョンが以下のバージョン以降であることを確認してください。

      • Linux: 2.2.3.309

      • Windows: 2.1.3.309

    • {{ACS::CommandId}}: コマンド ID。 RunCommand を呼び出してコマンドを実行し、{{ACS::CommandId}} を組み込み環境パラメーターとして使用する場合、クラウドアシスタントエージェントのバージョンが以下のバージョン以降であることを確認してください。

      • Linux: 2.2.3.309

      • Windows: 2.1.3.309

ZWNobyAxMjM=

WorkingDir

string

任意

ECS インスタンスでコマンドが実行されるディレクトリ。ディレクトリの長さは最大 200 文字です。

デフォルト値:

  • Linux インスタンス: ルートユーザーのホームディレクトリである /root。

  • Windows インスタンス: クラウドアシスタントエージェントプロセスが配置されているディレクトリ (例:C:\Windows\System32)。

説明

このパラメーターを別のディレクトリに設定する場合は、インスタンス上にそのディレクトリが存在することを確認してください。

/home/user

Timeout

integer

任意

ECS インスタンスでのコマンド実行の最大タイムアウト期間。単位: 秒。何らかの理由でコマンドを実行できない場合、タイムアウトが発生します。タイムアウト後、コマンドの PID をキャンセルすることでコマンドプロセスが強制終了されます。

デフォルト値: 60。

60

EnableParameter

boolean

任意

コマンドでカスタムパラメーターを使用するかどうかを指定します。

デフォルト値: false。

false

ContentEncoding

string

任意

コマンドの内容 (CommandContent) のエンコーディングモード。有効な値:

  • PlainText: エンコーディングなし。内容はプレーンテキストで送信されます。

  • Base64: Base64 エンコーディング。

デフォルト値: 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. レコードにリソースグループが見つかりません。

完全なリストについては、「エラーコード」をご参照ください。

変更履歴

完全なリストについては、「変更履歴」をご参照ください。