Cloud Assistant komutu oluşturur.
Kullanım notları
-
Aşağıdaki türlerde komutlar oluşturabilirsiniz:
Toplu iş komutları (RunBatScript), Windows örnekleri için geçerlidir
PowerShell komutları (RunPowerShellScript), Windows örnekleri için geçerlidir
Kabuk komutları (RunShellScript), Linux örnekleri için geçerlidir
-
Elastic Compute Service (ECS) örneklerinde bir komutun çalıştırmaları için maksimum zaman aşımı süresini ayarlamak üzere Timeout parametresini belirtebilirsiniz. Bir çalıştırma zaman aşımına uğrarsa,Cloud Assistant Agent komutun işlem kimliğini (PID) iptal ederek komut işlemini zorla sonlandırır.
Tek seferlik bir görevde, çalıştırma zaman aşımına uğradığında komutun durumu (InvokeRecordStatus) Başarısız (Failed) olur.
-
Zamanlanmış bir görevde aşağıdaki hususlara dikkat edin:
Zaman aşımı süresi her çalıştırmada geçerli olur.
Bir çalıştırma zaman aşımına uğradığında komutun durumu (InvokeRecordStatus) Başarısız (Failed) olur.
Bir çalıştırmanın zaman aşımına uğraması sonraki çalıştırmaları etkilemez.
Her bölgede 500 ila 10.000 arasında Cloud Assistant komutu saklayabilirsiniz. Kaynak kotalarını sorgulamak için Kaynak kota görüntüleme ve artırma konusunda açıklanan işlemleri uygulayabilir veya DescribeAccountAttribute işlemini çağırabilirsiniz.
Cloud Assistant komutunun yürütme dizinini belirtmek için WorkingDir kullanabilirsiniz. Linux örnekleri için Cloud Assistant komutlarının varsayılan yürütme dizini, kök kullanıcının ev dizini olan /root'tur. Windows örnekleri için Cloud Assistant komutlarının varsayılan yürütme dizini, Cloud Assistant Agent işleminin bulunduğu dizindir; örneğin C:\Windows\System32.
EnableParameter değerini true olarak ayarlayarak Cloud Assistant komutu için özel parametre özelliğini etkinleştirebilirsiniz. CommandContent değerini ayarlarken {{parametre}} biçiminde özel parametreler tanımlayabilirsiniz. Ardından,InvokeCommand işlemi çağrıldığında özel parametrelerin anahtar-değer çiftleri iletilir. Örneğin, bir komut echo {{name}} ise InvokeCommand işlemi çağrıldığında Parameters parametresi <name, Jack>anahtar-değer çiftini iletmek için kullanılabilir. Özel parametrenin name anahtarı otomatik olarak eşleşen Jack değeriyle değiştirilerek yeni bir komut oluşturulur. Sonuçta aslında echo Jack komutu çalıştırılır.
Hata ayıklama
İstek parametreleri
|
Parametre |
Tür |
Zorunlu |
Örnek |
Açıklama |
| Action | Dize | Evet | CreateCommand | Gerçekleştirmek istediğiniz işlem. Değeri CreateCommand olarak ayarlayın. |
| RegionId | Dize | Evet | cn-hangzhou | Komutun oluşturulacağı bölgenin ID'si. En güncel bölge listesini sorgulamak için DescribeRegions işlemini çağırabilirsiniz. |
| Name | Dize | Evet | testName | Komutun adı. Ad tüm karakter kümelerini destekler ve en fazla 128 karakter uzunluğunda olabilir. |
| Description | Dize | Hayır | testDescription | Komutun açıklaması. Açıklama tüm karakter kümelerini destekler ve en fazla 512 karakter uzunluğunda olabilir. |
| Type | Dize | Evet | RunShellScript | Komutun türü. Geçerli değerler:
|
| CommandContent | Dize | Evet | ZWNobyAxMjM= | Base64 ile kodlanmış komut içeriği. Aşağıdaki hususlara dikkat edin:
|
| WorkingDir | Dize | Hayır | /home/user | Komutun ECS örneklerindeki yürütme yolu. Değer en fazla 200 karakter uzunluğunda olabilir. Varsayılan değerler:
Not WorkingDir değerini varsayılanlardan farklı bir değere ayarlarsanız dizinin örnekte bulunduğundan emin olun. |
| Timeout | Long | Hayır | 60 | Komutun örnekteki çalıştırması için maksimum zaman aşımı süresi. Birim: saniye. Oluşturduğunuz bir komut çalıştırılamadığında komut zaman aşımına uğrar. Bir komut çalıştırması zaman aşımına uğradığında Cloud Assistant Agent PID'yi iptal ederek komut işlemini zorla sonlandırır. Varsayılan değer: 60. |
| EnableParameter | Boolean | Hayır | false | Komutta özel parametrelerin kullanılıp kullanılmayacağını belirtir. Varsayılan değer: false. |
| ContentEncoding | Dize | Hayır | PlainText | Komut içeriğinin (CommandContent) kodlama modu. Geçerli değerler:
Varsayılan değer: Base64. Not Bu parametrenin belirtilen değeri geçersizse varsayılan olarak Base64 kullanılır. |
| ResourceGroupId | Dize | Hayır | rg-123****** | Komutun atanacağı kaynak grubunun ID'si. |
| Tag.N.Key | Dize | Hayır | TestKey | Komuta eklenecek N etiketinin anahtarı. N için geçerli değerler: 1 ila 20. Etiket anahtarı boş bir dize olamaz. Kaynakları sorgulamak için tek bir etiket belirtilirse yanıtta bu etiket eklenmiş en fazla 1.000 kaynak görüntülenebilir. Kaynakları sorgulamak için birden çok etiket belirtilirse yanıtta tüm bu etiketler eklenmiş en fazla 1.000 kaynak görüntülenebilir. Belirtilen etiketlere sahip 1.000'den fazla kaynağı sorgulamak için ListTagResources işlemini çağırın. Etiket anahtarı en fazla 64 karakter uzunluğunda olabilir ve |
| Tag.N.Value | Dize | Hayır | TestValue | Komuta eklenecek N etiketinin değeri. N için geçerli değerler: 1 ila 20. Etiket değeri boş bir dize olabilir. En fazla 128 karakter uzunluğunda olabilir ve |
Yanıt parametreleri
|
Parametre |
Tür |
Örnek |
Açıklama |
|
CommandId |
String |
c-7d2a745b412b4601b2d47f6a768d**** |
Komutun ID'si. |
|
RequestId |
String |
473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** |
İsteğin ID'si. |
Örnekler
Örnek istekler
http(s)://ecs.aliyuncs.com/?Action=CreateCommand
&CommandContent=ZWNobyB7e25hbWV9fSA=
&Name=testName
&RegionId=cn-hangzhou
&Type=RunShellScript
&Description=testDescription
&WorkingDir=/home/user
&Timeout=60
&EnableParameter=true
&ContentEncoding=Base64
&<Common request parameters>
Başarılı örnek yanıtlar
XML biçimi
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateCommandResponse>
<CommandId>c-7d2a745b412b4601b2d47f6a768d****</CommandId>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</CreateCommandResponse>
JSON biçimi
HTTP/1.1 200 OK
Content-Type:application/json
{
"CommandId" : "c-7d2a745b412b4601b2d47f6a768d****",
"RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}
Hata kodları
|
HTTP durum kodu |
Hata kodu |
Hata mesajı |
Açıklama |
|
400 |
RegionId.ApiNotSupported |
The api is not supported in this region. |
Bu işlem belirtilen bölgede gerçekleştirilemez. RegionId parametresinin değerinin geçerli olup olmadığını kontrol edin. |
|
400 |
CmdParam.EmptyKey |
You must specify the parameter names. |
Bazı gerekli parametreler belirtilmemiş. |
|
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 (_). |
Geçersiz özel parametre adı. Her özel parametre adı yalnızca harf, rakam, alt çizgi (_) ve tire (-) içerebilir. |
|
400 |
CmdContent.DecodeError |
The CommandContent can not be base64 decoded. |
Komut içeriği Base64 ile çözülemiyor. |
|
400 |
InvalidParameter.WorkingDir |
The specified parameter WorkingDir is not valid. |
Geçersiz WorkingDir değeri. |
|
403 |
CmdContent.ExceedLimit |
The length of the command content exceeds the upper limit. |
Komut içeriğinin maksimum uzunluğu aşıldı. |
|
403 |
CmdName.ExceedLimit |
The length of the command name exceeds the upper limit. |
Komut adının maksimum uzunluğu aşıldı. |
|
403 |
CmdDesc.ExceedLimit |
The length of the command description exceeds the upper limit. |
Komut açıklamasının maksimum uzunluğu aşıldı. |
|
403 |
CmdCount.ExceedQuota |
The total number of commands in the current region exceeds the quota. |
Mevcut bölgedeki maksimum Cloud Assistant komutu sayısı aşıldı. |
|
403 |
CmdParamCount.ExceedLimit |
The maximum number of custom parameters is exceeded. |
Maksimum özel parametre sayısı aşıldı. |
|
403 |
CmdParamName.ExceedLimit |
The maximum length of a parameter name is exceeded. |
Bir özel parametre adının maksimum uzunluğu aşıldı. |
|
403 |
Operation.Forbidden |
The operation is not permitted. |
İşlem desteklenmiyor. |
|
403 |
InvalidStatus.ResourceGroup |
You cannot perform an operation on a resource group that is being created or deleted. |
Oluşturulmakta veya silinmekte olan bir kaynak grubunda bu işlemi gerçekleştiremezsiniz. |
|
404 |
InvalidCmdType.NotFound |
The specified command type does not exist. |
Belirtilen komut türü bulunamadı. |
|
404 |
InvalidResourceGroup.NotFound |
The ResourceGroup provided does not exist in our records. |
Kaynak grubu bulunamadı. |
|
500 |
InternalError.Dispatch |
An error occurred when you dispatched the request. |
İstek gönderilirken bir hata oluştu. Daha sonra tekrar deneyin. |
Hata kodlarının listesi için bkz. Hizmet hata kodları.