aws:loop— Ulangi langkah-langkah dalam otomatisasi - AWS Systems Manager

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

aws:loop— Ulangi langkah-langkah dalam otomatisasi

Tindakan ini mengulangi subset langkah dalam runbook otomatisasi. Anda dapat memilih loop do while atau for each gaya. Untuk membangun do while loop, gunakan parameter LoopCondition input. Untuk membangun for each loop, gunakan parameter Iterators dan IteratorDataType input. Saat menggunakan aws:loop tindakan, hanya tentukan parameter Iterators atau LoopCondition input. Jumlah maksimum iterasi adalah 100.

onCancelProperti hanya dapat didefinisikan untuk langkah-langkah yang didefinisikan dalam loop. onCancelProperti tidak didukung untuk aws:loop tindakan tersebut.

Contoh

Berikut ini adalah contoh bagaimana membangun berbagai jenis tindakan loop.

do while
name: RepeatMyLambdaFunctionUntilOutputIsReturned action: aws:loop inputs: Steps: - name: invokeMyLambda action: aws:invokeLambdaFunction inputs: FunctionName: LambdaFunctionName outputs: - Name: ShouldRetry Selector: $.Retry Type: Boolean LoopCondition: Variable: "{{ invokeMyLambda.ShouldRetry }}" BooleanEquals: true MaxIterations: 3
for each
name: stopAllInstancesWithWaitTime action: aws:loop inputs: Iterators: "{{ DescribeInstancesStep.InstanceIds }}" IteratorDataType: "String" Steps: - name: stopOneInstance action: aws:changeInstanceState inputs: InstanceIds: - "{{stopAllInstancesWithWaitTime.CurrentIteratorValue}}" CheckStateOnly: false DesiredState: stopped - name: wait10Seconds action: aws:sleep inputs: Duration: PT10S
Input

Intputnya adalah sebagai berikut.

Iterator

Daftar item untuk langkah-langkah untuk mengulangi. Jumlah maksimum iterator adalah 100.

Jenis: StringList

Wajib: Tidak

IteratorDataJenis

Parameter opsional untuk menentukan tipe data dari fileIterators. Nilai untuk parameter ini dapat diberikan bersama dengan parameter Iterators input. Jika Anda tidak menentukan nilai untuk parameter ini danIterators, maka Anda harus menentukan nilai untuk LoopCondition parameter tersebut.

Jenis: String

Nilai yang valid: Boolean | Integer | String | StringMap

Default: String

Wajib: Tidak

LoopCondition

Terdiri dari a Variable dan kondisi operator untuk mengevaluasi. Jika Anda tidak menentukan nilai untuk parameter ini, maka Anda harus menentukan nilai untuk Iterators dan IteratorDataType parameter. Anda dapat menggunakan evaluasi operator yang kompleks dengan menggunakan kombinasiAnd,Not, dan Or operator. Kondisi ini dievaluasi setelah langkah-langkah dalam loop selesai. Jika kondisinya true dan MaxIterations nilainya belum tercapai, langkah-langkah dalam loop berjalan lagi. Kondisi operator adalah sebagai berikut:

Operasi String
  • StringEquals

  • EqualsIgnoreKasus

  • StartsWith

  • EndsWith

  • Berisi

Operasi numerik
  • NumericEquals

  • NumericGreater

  • NumericLesser

  • NumericGreaterOrEquals

  • NumericLesser

  • NumericLesserOrEquals

Operasi Boolean
  • BooleanEquals

Jenis: StringMap

Wajib: Tidak

MaxIterations

Jumlah maksimum kali langkah-langkah dalam loop dijalankan. Setelah nilai yang ditentukan untuk input ini tercapai, loop berhenti berjalan bahkan jika LoopCondition masih true atau jika ada objek yang tersisa dalam Iterators parameter.

Jenis: Integer

Nilai yang valid: 1 - 100

Wajib: Tidak

Langkah-langkah

Daftar langkah-langkah untuk dijalankan dalam loop. Ini berfungsi seperti runbook bersarang. Dalam langkah-langkah ini Anda dapat mengakses nilai iterator saat ini untuk for each loop menggunakan sintaks{{loopStepName.CurrentIteratorValue}}. Anda juga dapat mengakses nilai integer dari iterasi saat ini untuk kedua jenis loop menggunakan sintaks. {{loopStepName.CurrentIteration}}

Jenis: Daftar langkah

Wajib: Ya

Output
CurrentIteration

Iterasi loop saat ini sebagai bilangan bulat. Nilai iterasi mulai dari 1.

Jenis: Integer

CurrentIteratorNilai

Nilai iterator saat ini sebagai string. Output ini hanya ada dalam for each loop.

Jenis: String