All Products
Search
Document Center

Resource Orchestration Service:ALIYUN::ECS::Invocation

Last Updated:Jul 06, 2025

ALIYUN::ECS::Invocation digunakan untuk menjalankan perintah Cloud Assistant pada instance Elastic Compute Service (ECS).

Sintaksis

{
  "Type": "ALIYUN::ECS::Invocation",
  "Properties": {
    "Frequency": String,
    "CommandId": String,
    "Parameters": Map,
    "InstanceIds": List,
    "Sync": Boolean,
    "CommandName": String,
    "WindowsPasswordName": String,
    "Timeout": Integer,
    "RepeatMode": String,
    "ResourceGroupId": String,
    "ContainerName": String,
    "ContainerId": String,
    "Launcher": String,
    "Username": String,
    "Tags": List
  }
}

Properti

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Frequency

String

Tidak

Tidak

Jadwal di mana perintah dijalankan. Untuk informasi tentang struktur nilai, lihat Ekspresi Cron.

Tidak ada.

CommandId

String

Tidak

Ya

ID perintah.

Tidak ada.

InstanceIds

List

Ya

Ya

ID instance ECS tempat Anda ingin menjalankan perintah.

Anda dapat menentukan hingga 20 ID instance.

Parameters

Map

Tidak

Ya

Pasangan kunci-nilai dari parameter kustom yang ingin Anda lewatkan ke perintah saat fitur parameter kustom diaktifkan. Contoh: {"name": "Jack", "accessKey": "LTAI****************"}.

Anda dapat menentukan hingga 10 parameter kustom.

Setiap kunci dalam koleksi Map tidak boleh berupa string kosong, dan dapat memiliki panjang hingga 64 karakter. Setiap nilai dalam koleksi Map dapat berupa string kosong.

Setelah parameter kustom dan konten perintah asli dienkripsi Base64, ukuran totalnya tidak boleh melebihi 16 KB.

Himpunan nama parameter kustom harus merupakan subset dari himpunan parameter yang Anda tentukan saat membuat perintah. Anda dapat menggunakan string kosong untuk mewakili parameter yang tidak dilewatkan.

Sync

Boolean

Tidak

Tidak

Menentukan apakah akan menjalankan perintah secara sinkron.

Nilai valid:

  • true

  • false

Launcher

String

Tidak

Tidak

Peluncur untuk eksekusi skrip.

Nilainya bisa mencapai ukuran 1 KB.

CommandName

String

Tidak

Tidak

Nama perintah.

Tidak ada

WindowsPasswordName

String

Tidak

Tidak

Nama pengguna dari kata sandi yang Anda gunakan untuk menjalankan perintah pada instance Windows.

Nama tersebut dapat memiliki panjang hingga 255 karakter.

Jika Anda tidak ingin menggunakan pengguna Sistem default untuk menjalankan perintah pada instance Windows, tentukan properti WindowsPasswordName dan Username. Kata sandi disimpan dalam teks biasa di repositori parameter CloudOps Orchestration Service (OOS) untuk mengurangi risiko kebocoran kata sandi. Hanya nama pengguna dari kata sandi yang dilewatkan dengan menggunakan properti WindowsPasswordName. Untuk informasi lebih lanjut, lihat Parameter terenkripsi dan Jalankan perintah Cloud Assistant sebagai pengguna biasa.

Catatan

Jika Anda menggunakan pengguna root untuk instance Linux atau pengguna Sistem untuk instance Windows untuk menjalankan perintah, Anda tidak perlu menentukan properti WindowsPasswordName.

Timeout

Integer

Tidak

Ya

Periode timeout untuk eksekusi perintah. Unit: detik.

Perhatikan hal-hal berikut saat Anda menentukan properti ini:

  • Periode timeout tidak boleh kurang dari 10 detik.

  • Kesalahan timeout terjadi jika perintah tidak dapat dijalankan karena proses melambat atau karena modul tertentu atau Cloud Assistant Agent tidak ada. Saat periode timeout yang ditentukan berakhir, proses perintah dihentikan secara paksa.

  • Jika Anda tidak menentukan properti ini, periode timeout yang ditentukan saat perintah dibuat akan digunakan.

  • Periode timeout ini hanya berlaku untuk eksekusi. Periode timeout perintah tidak dimodifikasi.

RepeatMode

String

Tidak

Tidak

Mode di mana Anda ingin menjalankan perintah.

Nilai valid:

  • Once: segera menjalankan perintah.

  • Period: menjalankan perintah secara berkala. Jika Anda menetapkan properti ini ke Period, Anda juga harus menentukan properti Frequency.

  • NextRebootOnly: menjalankan perintah saat instance mulai lagi.

  • EveryReboot: menjalankan perintah setiap kali instance dimulai.

Nilai default:

  • Jika Anda tidak menentukan properti Frequency, nilai defaultnya adalah Once.

  • Jika Anda menentukan properti Frequency, Period digunakan sebagai nilai RepeatMode tanpa memperhatikan apakah properti RepeatMode diatur ke Period.

Perhatikan hal-hal berikut saat Anda menentukan properti ini:

  • Anda dapat memanggil operasi StopInvocation untuk menghentikan eksekusi perintah yang tertunda atau dijadwalkan.

  • Jika Anda menetapkan properti ini ke Period atau EveryReboot, Anda dapat memanggil operasi DescribeInvocationResults dengan IncludeHistory diatur ke true untuk menanyakan hasil eksekusi terjadwal historis.

ResourceGroupId

String

Tidak

Tidak

ID grup sumber daya.

Perhatikan hal-hal berikut saat Anda menentukan properti ini:

  • Instance ECS yang ditentukan oleh InstanceId harus termasuk dalam grup sumber daya.

  • Setelah perintah dijalankan, Anda dapat memanggil operasi DescribeInvocations atau DescribeInvocationResults dan tentukan ResourceGroupId untuk menanyakan hasil eksekusi perintah dalam grup sumber daya yang ditentukan.

ContainerName

String

Tidak

Tidak

Nama kontainer.

Perhatikan hal-hal berikut saat Anda menentukan properti ini:

  • Jika Anda menentukan properti ini, Cloud Assistant menjalankan skrip di kontainer yang ditentukan pada instance.

  • Jika Anda menentukan properti ini, Anda hanya dapat menjalankan skrip pada instance Linux tempat Cloud Assistant Agent diinstal. Versi Cloud Assistant Agent harus 2.2.3.344 atau lebih baru.

  • Jika Anda menentukan properti ini, Username yang ditentukan dalam permintaan untuk memanggil operasi ini dan WorkingDir yang ditentukan dalam permintaan untuk memanggil operasi CreateCommand tidak berlaku. Anda hanya dapat menjalankan perintah di direktori kerja default kontainer menggunakan pengguna default kontainer. Untuk informasi lebih lanjut, lihat Gunakan Cloud Assistant untuk menjalankan perintah di kontainer.

  • Jika Anda menentukan properti ini, Anda hanya dapat menjalankan skrip shell di kontainer Linux. Anda tidak dapat menentukan penafsir skrip dengan menambahkan perintah dalam format yang mirip dengan #!/usr/bin/python di awal skrip. Untuk informasi lebih lanjut, lihat Gunakan Cloud Assistant untuk menjalankan perintah di kontainer.

ContainerId

String

Tidak

Tidak

ID kontainer.

Hanya string heksadesimal 64-bit yang didukung. Anda dapat menggunakan ID kontainer yang diawali dengan docker://, containerd://, atau cri-o:// untuk menentukan runtime kontainer.

Perhatikan hal-hal berikut saat Anda menentukan properti ini:

  • Jika Anda menentukan properti ini, Cloud Assistant menjalankan skrip di kontainer yang ditentukan pada instance.

  • Jika Anda menentukan properti ini, Anda hanya dapat menjalankan skrip pada instance Linux tempat Cloud Assistant Agent diinstal. Versi Cloud Assistant Agent harus 2.2.3.344 atau lebih baru.

  • Jika Anda menentukan properti ini, Username yang ditentukan dalam permintaan untuk memanggil operasi ini dan WorkingDir yang ditentukan dalam permintaan untuk memanggil operasi CreateCommand tidak berlaku. Anda hanya dapat menjalankan perintah di direktori kerja default kontainer menggunakan pengguna default kontainer. Untuk informasi lebih lanjut, lihat Gunakan Cloud Assistant untuk menjalankan perintah di kontainer.

  • Jika Anda menentukan properti ini, Anda hanya dapat menjalankan skrip shell di kontainer Linux. Anda tidak dapat menentukan penafsir skrip dengan menambahkan perintah dalam format yang mirip dengan #!/usr/bin/python di awal skrip. Untuk informasi lebih lanjut, lihat Gunakan Cloud Assistant untuk menjalankan perintah di kontainer.

Username

String

Tidak

Tidak

Nama pengguna yang Anda gunakan untuk menjalankan perintah pada instance.

Nama pengguna dapat memiliki panjang hingga 255 karakter.

  • Untuk instance Linux, nama pengguna root digunakan secara default.

  • Untuk instance Windows, nama pengguna Sistem digunakan secara default.

Anda juga dapat menentukan nama pengguna lain yang sudah ada pada instance untuk menjalankan perintah. Untuk alasan keamanan, kami sarankan Anda menjalankan perintah Cloud Assistant sebagai pengguna biasa. Untuk informasi lebih lanjut, lihat Jalankan perintah Cloud Assistant sebagai pengguna biasa.

Tags

List

Tidak

Tidak

Tag.

Anda dapat menentukan hingga 20 tag dalam format berikut: [{"Key":"tagKey","Value":"tagValue"},{"Key":"tagKey2","Value":"tagValue2"}].

Untuk informasi lebih lanjut, lihat Properti Tags.

Sintaksis Tags

"Tags": [
  {
    "Value": String,
    "Key": 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

  • InvokeId: ID pemanggilan perintah.

  • InvokeInstances: instance tempat perintah dijalankan.

  • InvokeResults: hasil eksekusi perintah.

Catatan

Jika Anda ingin menjalankan perintah hanya sekali, lihat ALIYUN::ECS::RunCommand.

Contoh

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  CommandId:
    Type: String
    Description: ID perintah.
  InstanceId:
    Type: String
    AssociationProperty: ALIYUN::ECS::Instance::InstanceId
Resources:
  Invocation:
    Type: ALIYUN::ECS::Invocation
    Properties:
      CommandId:
        Ref: CommandId
      InstanceIds:
        - Ref: InstanceId
Outputs:
  InvokeId:
    Description: ID eksekusi perintah.
    Value:
      Fn::GetAtt:
        - Invocation
        - InvokeId                   
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "CommandId": {
      "Type": "String",
      "Description": "ID perintah."
    },
    "InstanceId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::Instance::InstanceId"
    }
  },
  "Resources": {
    "Invocation": {
      "Type": "ALIYUN::ECS::Invocation",
      "Properties": {
        "CommandId": {
          "Ref": "CommandId"
        },
        "InstanceIds": [
          {
            "Ref": "InstanceId"
          }
        ]
      }
    }
  },
  "Outputs": {
    "InvokeId": {
      "Description": "ID eksekusi perintah.",
      "Value": {
        "Fn::GetAtt": [
          "Invocation",
          "InvokeId"
        ]
      }
    }
  }
}