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