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