全部产品
Search
文档中心

Resource Orchestration Service:ALIYUN::ECS::Command

更新时间:Jul 06, 2025

ALIYUN::ECS::Command digunakan untuk membuat perintah Cloud Assistant.

Sintaksis

{
  "Type": "ALIYUN::ECS::Command",
  "Properties": {
    "Name": String,
    "WorkingDir": String,
    "CommandContent": String,
    "Timeout": Integer,
    "Type": String,
    "Description": String,
    "EnableParameter": Boolean,
    "Tags": List,
    "Launcher": String
    "ResourceGroupId": String,
    "ContentEncoding": String
  }
}

Properti

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Nama

String

Tidak

Ya

Nama perintah.

Nama perintah harus memiliki panjang 1 hingga 128 karakter. Semua set karakter didukung.

WorkingDir

String

Tidak

Ya

Direktori kerja dari perintah pada instance Elastic Compute Service (ECS).

Nilai default:

  • Untuk instance Linux, nilai default adalah /root, yang merupakan direktori home dari pengguna root.

  • Untuk instance Windows, nilai default adalah direktori tempat proses Cloud Assistant Agent berada, seperti C:\Windows\System32.

Catatan

Jika Anda mengatur WorkingDir ke nilai selain nilai default, pastikan bahwa direktori tersebut ada di instance.

CommandContent

String

Tidak

Tidak

Konten perintah yang dikodekan dalam Base64.

  • Nilai properti ini harus dikodekan dalam Base64 dan dapat berukuran hingga 18 KB.

  • Anda dapat menggunakan parameter kustom dalam konten perintah. Untuk mengaktifkan fitur parameter kustom, Anda harus mengatur EnableParameter ke true.

    • Parameter kustom didefinisikan dalam format {{}}. Dalam {{}}, spasi dan line feed sebelum dan sesudah nama parameter diabaikan.

    • Anda dapat menentukan hingga 20 parameter kustom.

    • Nama parameter kustom hanya dapat berisi huruf, angka, tanda hubung (-), dan garis bawah (_). Nama bersifat case-insensitive. Anda tidak dapat menggunakan awalan ACS:: untuk menentukan parameter lingkungan non-bawaan.

    • Setiap nama parameter kustom dapat memiliki panjang hingga 64 byte.

  • Anda dapat menentukan parameter lingkungan bawaan sebagai parameter kustom dalam perintah. Saat menjalankan perintah, Cloud Assistant secara otomatis menggunakan nilai parameter lingkungan untuk parameter kustom. Anda dapat menentukan variabel lingkungan bawaan berikut:

    • {{ACS::RegionId}}: ID wilayah.

    • {{ACS::AccountId}}: pengenal unik (UID) akun Alibaba Cloud.

    • {{ACS::InstanceId}}: ID instance. Jika Anda ingin menentukan {{ACS::InstanceId}} sebagai variabel lingkungan bawaan saat perintah dijalankan pada beberapa instance, pastikan bahwa versi Cloud Assistant Agent tidak lebih awal dari versi berikut:

      • Linux: 2.2.3.309

      • Windows: 2.1.3.309

    • {{ACS::InstanceName}}: nama instance. Jika Anda ingin menentukan {{ACS::InstanceName}} sebagai variabel lingkungan bawaan saat perintah dijalankan pada beberapa instance, pastikan bahwa versi Cloud Assistant Agent tidak lebih awal dari versi berikut:

      • Linux: 2.2.3.344

      • Windows: 2.1.3.344

    • {{ACS::InvokeId}}: ID tugas perintah. Jika Anda ingin menentukan {{ACS::InvokeId}} sebagai variabel lingkungan bawaan, pastikan bahwa versi Cloud Assistant Agent tidak lebih awal dari versi berikut:

      • Linux: 2.2.3.309

      • Windows: 2.1.3.309

    • {{ACS::CommandId}}: ID perintah. Jika Anda ingin menentukan {{ACS::CommandId}} sebagai variabel lingkungan bawaan saat menjalankan perintah dengan memanggil operasi RunCommand, pastikan bahwa versi Cloud Assistant Agent tidak lebih awal dari versi berikut:

      • Linux: 2.2.3.309

      • Windows: 2.1.3.309

Launcher

String

Tidak

Tidak

Peluncur untuk eksekusi skrip.

Nilai dapat berukuran hingga 1 KB.

Timeout

Integer

Tidak

Ya

Periode timeout untuk menjalankan perintah pada instance ECS.

Jika perintah gagal dijalankan dalam periode yang ditentukan, perintah akan timeout. Saat eksekusi perintah timeout, Cloud Assistant Agent secara paksa menghentikan proses perintah dengan membatalkan ID proses (PID).

Nilai default: 60.

Unit: detik.

Tipe

String

Ya

Tidak

Tipe perintah.

Nilai valid:

  • RunBatScript: perintah batch. Perintah batch berlaku untuk instance Windows.

  • RunPowerShellScript: perintah PowerShell. Perintah PowerShell berlaku untuk instance Windows.

  • RunShellScript: perintah shell. Perintah shell berlaku untuk instance Linux.

Deskripsi

String

Tidak

Ya

Deskripsi perintah.

Deskripsi harus memiliki panjang 1 hingga 512 karakter. Semua set karakter didukung.

EnableParameter

Boolean

Tidak

Tidak

Menentukan apakah akan menggunakan parameter kustom dalam perintah.

Nilai valid:

  • true

  • false (default)

Tags

List

Tidak

Tidak

Tag. Anda dapat menambahkan hingga 20 tag.

Untuk informasi lebih lanjut, lihat Properti Tags.

ContentEncoding

String

Tidak

Tidak

Mode pengkodean konten perintah.

Nilai valid:

  • PlainText: tidak mengkodekan konten perintah.

  • Base64 (default): mengkodekan konten perintah dalam Base64.

Catatan

Jika Anda menentukan nilai yang tidak valid, Base64 digunakan untuk properti ini.

ResourceGroupId

String

Tidak

Ya

ID grup sumber daya tempat perintah dimiliki.

Tidak ada.

Sintaksis Tags

"Tags": [
  {
    "Key": String,
    "Value": String
  }
]

Properti Tags

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Key

String

Ya

Tidak

Kunci tag.

Kunci tag harus memiliki panjang 1 hingga 128 karakter, dan tidak boleh mengandung http:// atau https://. Tidak boleh dimulai dengan aliyun atau acs:.

Value

String

Tidak

Tidak

Nilai tag.

Nilai tag dapat memiliki panjang hingga 128 karakter, dan tidak boleh mengandung http:// atau https://. Tidak boleh dimulai dengan aliyun atau acs:.

Nilai Kembali

Fn::GetAtt

CommandId: ID perintah.

Catatan

Anda hanya dapat menjalankan perintah satu kali. Untuk informasi lebih lanjut, lihat ALIYUN::ECS::RunCommand.

Contoh

YAML format

ROSTemplateFormatVersion: '2015-09-01'
Parameters: {}
Resources:
  Command:
    Type: ALIYUN::ECS::Command
    Properties:
      CommandContent:
        Fn::Base64Encode: |
          #!/bin/bash
          echo "hello" >> /root/test.sh
      Type: RunShellScript
      Name:
        Ref: ALIYUN::StackName
Outputs:
  CommandId:
    Description: The id of command created.
    Value:
      Fn::GetAtt:
        - Command
        - CommandId

JSON format

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
  },
  "Resources": {
    "Command": {
      "Type": "ALIYUN::ECS::Command",
      "Properties": {
        "CommandContent": {
          "Fn::Base64Encode": "#!/bin/bash\necho \"hello\" >> /root/test.sh\n"
        },
        "Type": "RunShellScript",
        "Name": {
          "Ref": "ALIYUN::StackName"
        }
      }
    }
  },
  "Outputs": {
    "CommandId": {
      "Description": "The id of command created.",
      "Value": {
        "Fn::GetAtt": [
          "Command",
          "CommandId"
        ]
      }
    }
  }
}