Fn::ForEach - AWS CloudFormation

Ini adalah Panduan Referensi AWS CloudFormation Template baru. Harap perbarui bookmark dan tautan Anda. Untuk bantuan memulai CloudFormation, lihat Panduan AWS CloudFormation Pengguna.

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

Fn::ForEach

Fungsi Fn::ForEach intrinsik mengambil koleksi dan fragmen, dan menerapkan item dalam koleksi ke pengidentifikasi di fragmen yang disediakan. Fn::ForEachdapat berisi fungsi intrinsik lainnya, termasuk Fn::ForEach dirinya sendiri, dan digunakan dalam bagianConditions,Outputs, dan Resources (termasuk properti sumber daya). Ini tidak dapat digunakan di salah satu bagian berikut, AWSTemplateFormatVersionDescription,Metadata,Transform,Parameters, MappingsRules, atau Hooks bagian.

Jika Anda menggunakan fungsi Fn::ForEach intrinsik dalam template Anda, Anda juga harus menggunakan. Tansformasi AWS::LanguageExtensions

Menggunakan fungsi Fn::ForEach intrinsik tidak mengubah kuota, yang berlaku untuk template yang dihasilkan. Kuota mencakup ukuran maksimum template dan jumlah maksimum sumber daya dalam template. Untuk informasi selengkapnya, lihat Memahami AWS CloudFormation kuota di Panduan AWS CloudFormation Pengguna.

Pernyataan

JSON

"Fn::ForEach::LoopLogicalName": [ "Identifier", ["Value1","Value2"], // Collection {"OutputKey": {OutputValue}} ]

YAML

'Fn::ForEach::LoopLogicalName': - Identifier - - Value1 # Collection - Value2 - 'OutputKey': OutputValue

Parameter

Loop nama logis

ID logis untuk loop. Nama harus unik dalam template dan tidak dapat bertentangan dengan nilai ID logis di Resources bagian template. Nama ini tidak ada dalam output yang diubah. Ini digunakan untuk referensi internal dalam CloudFormation template itu sendiri.

Pengidentifikasi

Pengidentifikasi untuk placeholder yang diganti dalam parameter danOutputKey. OutputValue Semua contoh ${Identifier} atau &{Identifier} dalam OutputValue parameter OutputKey dan akan diganti dengan nilai dari Collection parameter.

Koleksi

Kumpulan nilai untuk diulang. Ini bisa berupa array dalam parameter ini, atau bisa juga Ref ke aCommaDelimitedList. Saat menggunakan&{Identifier}, karakter non-alfanumerik dapat diteruskan di file. Collection

Kunci keluaran

Kunci dalam template yang diubah. ${Identifier}atau &{Identifier} harus dimasukkan dalam OutputKey parameter. Misalnya, jika Fn::ForEach digunakan di Resources bagian template, ini adalah ID logis dari setiap sumber daya.

&{}Sintaks memungkinkan karakter non-alfanumerik dalam Collection untuk digunakan dalam parameter. OutputKey Untuk contoh ini, lihatMelewati karakter non-alfanumerik dalam for CollectionFn::ForEach.

Nilai keluaran

Nilai yang direplikasi dalam template yang diubah untuk setiap item dalam Collection parameter. Misalnya, jika Fn::ForEach digunakan di Resources bagian template, ini adalah fragmen template yang diulang untuk mengonfigurasi setiap sumber daya.

Nilai yang dikembalikan

Objek yang diperluas yang berisi fragmen objek diulang sekali untuk setiap item dalam koleksi, di mana pengidentifikasi dalam fragmen diganti dengan item dari koleksi.

Fungsi yang didukung

Anda dapat menggunakan fungsi-fungsi berikut di dalamnyaFn::ForEach.

Contoh

Anda dapat menemukan contoh untukConditions,Outputs, dan Resources bagian diContoh.