Elastic Compute Service (ECS) örneklerinde kabuk, PowerShell veya toplu iş komutu çalıştırır.
Kullanım notları
CreateCommand ve InvokeCommand işlemlerinden farklı olarak RunCommand, tek bir istekte komut oluşturup çalıştırmanıza olanak tanır.
Aşağıdaki hususlara dikkat edin:
Komut çalıştırmak istediğiniz örneklerin Çalışıyor durumunda olması gerekir. Örneklerin durumunu sorgulamak için DescribeInstances işlemini çağırabilirsiniz.
Örneklerde Cloud Assistant Agent önceden yüklüdür.
Windows örneğinde PowerShell komutu çalıştırmadan önce PowerShell modülünün örneğe yüklü olduğundan emin olun.
Zamanlamayı belirtmek için CRON ifadesi kullanırken iş gereksinimlerinize göre saat dilimi belirtebilirsiniz. Saat dilimi belirtmezseniz zamanlama örnek sistem saatiyle belirlenir. Örneğin saatinin veya saat diliminin iş gereksinimlerinizi karşıladığından emin olun. Saat dilimleri hakkında bilgi için CentOS 6 çalışan ECS örnekleri için NTP hizmetini yapılandırma veya Windows örnekleri için NTP hizmetini yapılandırma konularına bakın.
-
Timeout parametresini yapılandırarak ECS örneklerinde komutun çalıştırılması için zaman aşımı süresi belirtebilirsiniz. Bir çalıştırma zaman aşımına uğradığında Cloud Assistant Agent komut sürecini zorla sonlandırır.
Tek seferlik bir komut çalıştırması zaman aşımına uğrarsa komutun çalıştırma durumu Başarısız olarak değişir. Komut çalıştırma durumunu sorgulamak için InvokeRecordStatus işlemini çağırabilirsiniz.
-
Zamanlanmış görevler için zaman aşımı süresi komutun her çalıştırılmasında geçerlidir. Bir komut çalıştırması zaman aşımına uğradığında sonraki çalıştırmalar etkilenmez. Zamanlanmış bir komut çalıştırması zaman aşımına uğrarsa komutun çalıştırma durumu Başarısız olarak değişir. Komut çalıştırma durumunu sorgulamak için InvokeRecordStatus işlemini çağırabilirsiniz.
Zamanlanmış görevlerin beklendiği gibi çalışmasını sağlamak için Cloud Assistant Agent sürümü aşağıdakilerden eski olamaz. Zamanlanmış görev belirtilen aralıkta, belirli bir zamanda yalnızca bir kez veya belirtilen yıl ya da saat dilimine sahip CRON ifadesine göre belirlenen zamanlarda komut çalıştırabilir. ClientNeedUpgrade hata kodu döndürülürse Cloud Assistant Agent'ı en son sürüme yükseltmeniz gerekir. Daha fazla bilgi için Cloud Assistant Agent güncelleme veya güncellemeleri devre dışı bırakma konusuna bakın.
Linux: 2.2.3.282
Windows: 2.1.3.282
Komut çalıştırmaları örnek durumu istisnaları, ağ istisnaları veya Cloud Assistant Agent ile ilgili istisnalar nedeniyle başarısız olabilir. Komut çalıştırması başarısız olursa yürütme bilgisi oluşturulmaz. Daha fazla bilgi için Çalıştırma sonuçlarını kontrol etme ve yaygın sorunları giderme konusuna bakın.
EnableParameter parametresini true olarak ayarlarsanız özel parametre özelliği etkinleştirilir. CommandContent parametresini yapılandırırken {{parametre}} biçiminde özel parametreler tanımlayabilirsiniz. Komut çalıştırıldığında özel parametrelerin anahtar-değer çiftleri aktarılır.
ECS kullanımınıza bağlı olarak her bölgede 500 ila 10.000 arasında Cloud Assistant komutu saklayabilirsiniz. Kaynak kotalarını sorgulamak için Kaynak kotalarını görüntüleme ve artırma konusunda açıklanan işlemleri uygulayabilir veya DescribeAccountAttribute işlemini çağırabilirsiniz.
Özellikle yeni örneklerde komut çalıştırmadan önce örneklerdeki Cloud Assistant Agent durumunu sorgulamak için DescribeCloudAssistantStatus işlemini çağırmanızı ve yanıtta CloudAssistantStatus parametresi örnekler için true olduğunda komutu çalıştırmanızı öneririz.
Hata ayıklama
İstek parametreleri
Parametre | Tür | Zorunlu | Örnek | Açıklama |
Action | String | Evet | RunCommand | Gerçekleştirmek istediğiniz işlem. Değeri RunCommand olarak ayarlayın. |
RegionId | String | Evet | cn-hangzhou | Bölge kimliği. En güncel bölge listesini sorgulamak için DescribeRegions işlemini çağırabilirsiniz. |
ResourceGroupId | String | Hayır | rg-bp67acfmxazb4p**** | Komutu çalıştırmak istediğiniz kaynak grubunun kimliği. Bu parametreyi yapılandırırken aşağıdaki hususlara dikkat edin:
|
Name | String | Hayır | testName | Komutun adı. Ad tüm karakter kümelerini destekler ve en fazla 128 karakter uzunluğunda olabilir. |
Description | String | Hayır | testDescription | Komutun açıklaması. Açıklama tüm karakter kümelerini destekler ve en fazla 512 karakter uzunluğunda olabilir. |
Type | String | Evet | RunShellScript | Komutun dil türü. Geçerli değerler:
|
CommandContent | String | Evet | ZWNobyAxMjM= | Komut içeriği. Komut içeriği düz metin veya Base64 kodlamalı olabilir. Aşağıdaki hususlara dikkat edin:
|
WorkingDir | String | Hayır | /home/user | Örnekteki komutun çalışma dizini. Değer en fazla 200 karakter uzunluğunda olabilir. Varsayılan değer:
|
Timeout | Long | Hayır | 3600 | Komut çalıştırması için zaman aşımı süresi. Birim: saniye. İşlem yavaşladığından veya belirli bir modül ya da Cloud Assistant Agent bulunmadığından komut çalıştırılamazsa zaman aşımı hatası oluşur. Çalıştırma zaman aşımına uğradığında komut işlemi zorla sonlandırılır. Varsayılan değer: 60. |
EnableParameter | Boolean | Hayır | false | Komuta özel parametrelerin dahil edilip edilmeyeceğini belirtir. Varsayılan değer: false. |
RepeatMode | String | Hayır | Once | Komutu çalıştırmak istediğiniz mod. Geçerli değerler:
Varsayılan değer:
Aşağıdaki hususlara dikkat edin:
|
Timed | Boolean | Hayır | true | Not Bu parametre kullanımdan kaldırılmıştır ve etkili değildir. |
Frequency | String | Hayır | 0 /20 ? | Komutu çalıştırmak istediğiniz zamanlama. Komutu rate ifadesine göre sabit aralıkla, belirli bir zamanda yalnızca bir kez veya CRON ifadesine göre belirlenen zamanlarda çalışacak şekilde yapılandırabilirsiniz.
|
Parameters | Map | Hayır | {"name":"Jack", "accessKey":"LTAIdyvdIqaRY****"} | Özel parametre içerebilen komut çalıştırıldığında aktarılan özel parametrelerin anahtar-değer çiftleri. Örneğin komut içeriği En fazla 10 özel parametre belirtebilirsiniz. Aşağıdaki hususlara dikkat edin:
Bu parametre varsayılan olarak boştur. Özel parametre özelliğini devre dışı bırakmak için bu parametreyi boş bırakabilirsiniz. |
KeepCommand | Boolean | Hayır | false | Komut çalıştırıldıktan sonra komutun saklanıp saklanmayacağını belirtir. Geçerli değerler:
Varsayılan değer: false. |
ContentEncoding | String | Hayır | Base64 |
Varsayılan değer: PlainText. Bu parametre için geçersiz bir değer belirtilirse PlainText kullanılır. |
Username | String | Hayır | test | Örneklerde komutu çalıştırmak için kullanılacak kullanıcı adı. Kullanıcı adı 255 karakterden uzun olamaz.
Komutu çalıştırmak için örneklerde zaten var olan diğer kullanıcı adlarını da belirtebilirsiniz. Güvenlik amacıyla Cloud Assistant komutlarını normal kullanıcı olarak çalıştırmanızı öneririz. Daha fazla bilgi için Cloud Assistant komutlarını normal kullanıcı olarak çalıştırma konusuna bakın. |
WindowsPasswordName | String | Hayır | axtSecretPassword | Windows örneklerinde komutu çalıştırmak için kullanılacak parolanın adı. Ad 255 karakterden uzun olamaz. Windows örneklerinde komutu çalıştırmak için varsayılan System kullanıcısını kullanmak istemiyorsanız hem WindowsPasswordName hem de Not Linux örnekleri için root kullanıcısını veya Windows örnekleri için System kullanıcısını kullanarak komutu çalıştırıyorsanız WindowsPasswordName parametresini yapılandırmanız gerekmez. |
InstanceId.N | String | Evet | i-bp185dy2o3o6neg**** | N. örneğin kimliği. N için geçerli değerler: 1 ila 50. Belirtilen örneklerden biri komut çalıştırma koşullarını karşılamazsa çağrı başarısız olur. Çağrının başarılı olmasını sağlamak için yalnızca koşulları karşılayan örneklerin kimliklerini belirtin. |
Tag.N.Key | String | Hayır | TestKey | Komut görevine eklenecek N. etiketin anahtarı. N için geçerli değerler: 1 ila 20. Etiket anahtarı boş 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 | String | Hayır | TestValue | Komut görevine eklenecek N. etiketin değeri. N için geçerli değerler: 1 ila 20. Etiket değeri boş dize olabilir. Etiket değeri en fazla 128 karakter uzunluğunda olabilir ve |
ContainerId | String | Hayır | ab141ddfbacfe02d9dbc25966ed971536124527097398d419a6746873fea**** | Konteyner kimliği. Yalnızca 64 bit onaltılık dizeler desteklenir. Aşağıdaki hususlara dikkat edin:
|
ContainerName | String | Hayır | test-container | Konteynerin adı. Aşağıdaki hususlara dikkat edin:
|
ClientToken | String | Hayır | 123e4567-e89b-12d3-a456-426655440000 | İsteğin tekilleğini (idempotence) sağlamak için kullanılan istemci belirteci. Belirteci istemci kullanarak oluşturabilirsiniz ancak belirtecin farklı istekler arasında benzersiz olduğundan emin olmanız gerekir. Belirteç yalnızca ASCII karakterler içerebilir ve 64 karakterden uzun olamaz. Daha fazla bilgi için Tekillik nasıl sağlanır konusuna bakın. |
Yanıt parametreleri
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Örnekler
Örnek istekler
http(s)://ecs.aliyuncs.com/?Action=RunCommand
&CommandContent='echo hello'
&InstanceId.1=i-bp185dy2o3o6neg****
&InstanceId.2=i-bp541dc26ko6dd5****
&Name=Test
&RegionId=cn-hangzhou
&Type=RunShellScript
&Username=test
&<Common request parameters>
Örnek başarılı yanıt
XML biçimi
HTTP/1.1 200 OK
Content-Type:application/xml
<RunCommandResponse>
<RequestId>E69EF3CC-94CD-42E7-8926-F133B863****</RequestId>
<CommandId>c-7d2a745b412b4601b2d47f6a768d****</CommandId>
<InvokeId>t-7d2a745b412b4601b2d47f6a768d****</InvokeId>
</RunCommandResponse>
JSON biçimi
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "E69EF3CC-94CD-42E7-8926-F133B863****",
"CommandId" : "c-7d2a745b412b4601b2d47f6a768d****",
"InvokeId" : "t-7d2a745b412b4601b2d47f6a768d****"
}
Hata kodları
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Hata kodlarının listesi için Hizmet hata kodları konusuna bakın.