Membuat perintah Cloud Assistant.
Catatan penggunaan
- Anda dapat membuat perintah dengan tipe berikut:
- Perintah Batch (RunBatScript), berlaku untuk instans Windows
- Perintah PowerShell (RunPowerShellScript), berlaku untuk instans Windows
- Perintah Shell (RunShellScript), berlaku untuk instans Linux
- Anda dapat menentukan parameter Timeout untuk mengatur periode timeout maksimum eksekusi perintah pada instans Elastic Compute Service (ECS). Jika eksekusi melebihi batas waktu tersebut, Cloud Assistant Agent akan secara paksa menghentikan proses perintah dengan membatalkan process ID (PID) perintah tersebut.
- Untuk tugas satu kali, ketika eksekusi timeout, status perintah (InvokeRecordStatus) berubah menjadi Failed.
- Untuk tugas terjadwal, perhatikan hal-hal berikut:
- Periode timeout berlaku untuk setiap eksekusi.
- Ketika suatu eksekusi timeout, status (InvokeRecordStatus) perintah berubah menjadi Failed.
- Timeout pada satu eksekusi tidak memengaruhi eksekusi berikutnya.
- Anda dapat menyimpan hingga 500–10.000 perintah Cloud Assistant di setiap wilayah. Anda dapat melakukan operasi yang dijelaskan dalam topik View and increase resource quotas atau memanggil operasi DescribeAccountAttribute untuk menanyakan kuota sumber daya.
- Anda dapat menggunakan WorkingDir untuk menentukan direktori eksekusi perintah Cloud Assistant. Untuk instans Linux, direktori eksekusi default perintah Cloud Assistant adalah direktori home pengguna root, yaitu
/root. Untuk instans Windows, direktori eksekusi default perintah Cloud Assistant adalah direktori tempat proses Cloud Assistant Agent berada, misalnyaC:\Windows\System32. - Anda dapat mengaktifkan fitur parameter kustom untuk perintah Cloud Assistant dengan mengatur EnableParameter ke true. Saat Anda mengatur CommandContent, Anda dapat mendefinisikan parameter kustom dalam format {{parameter}}. Kemudian, saat operasi InvokeCommand dipanggil, pasangan kunci-nilai parameter kustom tersebut diteruskan. Misalnya, jika perintahnya adalah
echo {{name}}, parameter Parameters dapat digunakan untuk meneruskan pasangan kunci-nilai<name, Jack>saat operasi InvokeCommand dipanggil. Kunci name dari parameter kustom tersebut secara otomatis diganti dengan nilai Jack yang sesuai sehingga menghasilkan perintah baru. Akibatnya, perintahecho Jackyang sebenarnya dijalankan.
Debugging
Parameter permintaan
|
Parameter |
Type |
Required |
Example |
Description |
| Action | String | Yes | CreateCommand | Operasi yang ingin Anda lakukan. Tetapkan nilainya ke CreateCommand. |
| RegionId | String | Yes | cn-hangzhou | ID wilayah tempat perintah dibuat. Anda dapat memanggil operasi DescribeRegions untuk menanyakan daftar wilayah terbaru. |
| Name | String | Yes | testName | Nama perintah. Nama mendukung semua set karakter dan panjangnya dapat mencapai 128 karakter. |
| Description | String | No | testDescription | Deskripsi perintah. Deskripsi mendukung semua set karakter dan panjangnya dapat mencapai 512 karakter. |
| Type | String | Yes | RunShellScript | Tipe perintah. Nilai yang valid:
|
| CommandContent | String | Yes | ZWNobyAxMjM= | Konten perintah yang dikodekan dalam Base64. Perhatikan hal-hal berikut:
|
| WorkingDir | String | No | /home/user | Jalur eksekusi perintah pada instans ECS. Nilainya dapat mencapai panjang 200 karakter. Nilai default:
Catatan Jika Anda mengatur WorkingDir ke nilai selain nilai default, pastikan direktori tersebut ada di instans. |
| Timeout | Long | No | 60 | Periode timeout maksimum eksekusi perintah pada instans. Satuan: detik. Ketika perintah yang Anda buat tidak dapat dijalankan, perintah tersebut akan timeout. Saat eksekusi perintah timeout, Cloud Assistant Agent secara paksa menghentikan proses perintah dengan membatalkan PID. Nilai default: 60. |
| EnableParameter | Boolean | No | false | Menentukan apakah akan menggunakan parameter kustom dalam perintah. Nilai default: false. |
| ContentEncoding | String | No | PlainText | Mode pengkodean konten perintah (CommandContent). Nilai yang valid:
Nilai default: Base64. Catatan Jika nilai parameter ini tidak valid, Base64 akan digunakan secara default. |
| ResourceGroupId | String | No | rg-123****** | ID kelompok sumber daya tempat perintah akan ditugaskan. |
| Tag.N.Key | String | No | TestKey | Kunci tag N yang akan ditambahkan ke perintah. Nilai N yang valid: 1 hingga 20. Kunci tag tidak boleh berupa string kosong. Jika satu tag ditentukan untuk menanyakan resource, hingga 1.000 resource yang memiliki tag tersebut dapat ditampilkan dalam respons. Jika beberapa tag ditentukan untuk menanyakan resource, hingga 1.000 resource yang memiliki semua tag tersebut dapat ditampilkan dalam respons. Untuk menanyakan lebih dari 1.000 resource yang memiliki tag tertentu, panggil ListTagResources. Panjang kunci tag dapat mencapai 64 karakter dan tidak boleh diawali dengan |
| Tag.N.Value | String | No | TestValue | Nilai tag N yang akan ditambahkan ke perintah. Nilai N yang valid: 1 hingga 20. Nilai tag dapat berupa string kosong. Panjangnya dapat mencapai 128 karakter dan tidak boleh mengandung |
Parameter respons
Parameter |
Type |
Example |
Description |
| CommandId | String | c-7d2a745b412b4601b2d47f6a768d**** | ID perintah. |
| RequestId | String | 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** | ID permintaan. |
Contoh
Contoh permintaan
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>
Contoh respons sukses
XML format
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateCommandResponse>
<CommandId>c-7d2a745b412b4601b2d47f6a768d****</CommandId>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</CreateCommandResponse>
JSON format
HTTP/1.1 200 OK
Content-Type:application/json
{
"CommandId" : "c-7d2a745b412b4601b2d47f6a768d****",
"RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}
Kode kesalahan
|
Kode status HTTP |
Kode kesalahan |
Pesan kesalahan |
Deskripsi |
| 400 | RegionId.ApiNotSupported | The api is not supported in this region. | Operasi ini tidak dapat dilakukan di wilayah yang ditentukan. Periksa apakah nilai parameter RegionId valid. |
| 400 | CmdParam.EmptyKey | You must specify the parameter names. | Beberapa parameter yang diperlukan belum ditentukan. |
| 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 (_). | Nama parameter kustom tidak valid. Setiap nama parameter kustom hanya boleh berisi huruf, angka, garis bawah (_), dan tanda hubung (-). |
| 400 | CmdContent.DecodeError | The CommandContent can not be base64 decoded. | Konten perintah tidak dapat didekode dalam Base64. |
| 400 | InvalidParameter.WorkingDir | The specified parameter WorkingDir is not valid. | Nilai WorkingDir tidak valid. |
| 403 | CmdContent.ExceedLimit | The length of the command content exceeds the upper limit. | Panjang maksimum konten perintah telah terlampaui. |
| 403 | CmdName.ExceedLimit | The length of the command name exceeds the upper limit. | Panjang maksimum nama perintah telah terlampaui. |
| 403 | CmdDesc.ExceedLimit | The length of the command description exceeds the upper limit. | Panjang maksimum deskripsi perintah telah terlampaui. |
| 403 | CmdCount.ExceedQuota | The total number of commands in the current region exceeds the quota. | Jumlah maksimum perintah Cloud Assistant di wilayah saat ini telah terlampaui. |
| 403 | CmdParamCount.ExceedLimit | The maximum number of custom parameters is exceeded. | Jumlah maksimum parameter kustom telah terlampaui. |
| 403 | CmdParamName.ExceedLimit | The maximum length of a parameter name is exceeded. | Panjang maksimum nama parameter kustom telah terlampaui. |
| 403 | Operation.Forbidden | The operation is not permitted. | Operasi ini tidak didukung. |
| 403 | InvalidStatus.ResourceGroup | You cannot perform an operation on a resource group that is being created or deleted. | Anda tidak dapat melakukan operasi ini pada kelompok sumber daya yang sedang dibuat atau dihapus. |
| 404 | InvalidCmdType.NotFound | The specified command type does not exist. | Tipe perintah yang ditentukan tidak ditemukan. |
| 404 | InvalidResourceGroup.NotFound | The ResourceGroup provided does not exist in our records. | Kelompok sumber daya tidak ditemukan. |
| 500 | InternalError.Dispatch | An error occurred when you dispatched the request. | Terjadi kesalahan saat permintaan dikirim. Coba lagi nanti. |
Untuk daftar kode kesalahan lengkap, lihat Service error codes.