本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Fn::ForEach
內部函數接受集合和片段,並將集合中的項目套用至所提供片段中的識別符。Fn::ForEach
可能包含其他內部函數 (包括 Fn::ForEach
本身),並可在 Conditions、Outputs、Resources (包括資源屬性) 區段中使用。不能在 格式版本、Description、Metadata、Transform、Parameters、Mappings、Rules 或 Hooks
區段中使用。如需範例,請參閱 範例。
重要
您必須使用 AWS::LanguageExtensions 轉換程序 才能使用 Fn::ForEach
內部函數。
重要
使用 Fn::ForEach
內部函數不會更改配額,這些配額將套用到所產生的範本。配額包括範本的大小上限和範本中的資源數量上限。如需詳細資訊,請參閱了解 CloudFormation 配額。
宣告
JSON
"Fn::ForEach::UniqueLoopName
": [
"Identifier
",
["Value1","Value2"], // Collection
{"OutputKey
": {OutputValue
}}
]
YAML
'Fn::ForEach::UniqueLoopName
':
- Identifier
- - Value1
# Collection
- Value2
- 'OutputKey
':
OutputValue
參數
UniqueLoopName
-
此迴圈的名稱。名稱在範本中必須是唯一的,且不能與範本 CloudFormation 範本Resources語法 區段中的任何邏輯 ID 值衝突。轉換後的輸出中沒有此名稱。
Identifier
-
您想在
和OutputKey
參數中替換的識別碼,這些參數代表該範本片段已被複寫。在OutputValue
和OutputKey
參數中,OutputValue
${Identifier}
或&{Identifier}
的所有執行個體均會以來自
參數的值取代。Collection
Collection
-
要逐一查看的值的集合。這可以是此參數中的陣列,也可以是
CommaDelimitedList
的Ref
。使用&{Identifier}
時,可以在Collection
中傳入非英數字元。 OutputKey
-
轉換後範本中的金鑰。
${Identifier}
或&{Identifier}
必須包含在
參數中。例如,如果OutputKey
Fn::ForEach
在範本的 Resources 區段中使用,則這是每項資源的邏輯 Id。&{}
語法允許在
參數內使用OutputKey
Collection
中的非英數字元。如需此範例,請參閱 在 Collection 中傳遞非英數字元 Fn::ForEach。 OutputValue
-
在轉換後的範本中針對
參數中的每個項目複寫的值。例如,如果Collection
Fn::ForEach
在範本的 Resources 區段中使用,則這是重複用來設定每項資源的範本片段。
傳回值
展開的物件包含為集合中每個項目重複一次的物件片段,片段中的識別碼被來自集合的項目替換。
支援的函數
您可以在 Fn::ForEach
中使用以下函數。
範例
如需範例,請參閱 範例。