Fn::ForEach - AWS CloudFormation

這是新的 CloudFormation 範本參考指南。請更新您的書籤和連結。如需 CloudFormation 入門的說明,請參閱 AWS CloudFormation 使用者指南

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Fn::ForEach

Fn::ForEach 內建函數接受集合和片段,並將集合中的項目套用至所提供片段中的識別符。Fn::ForEach 可能包含其他內建函數 (包括 Fn::ForEach 本身),並可在 ConditionsOutputsResources (包括資源屬性) 區段中使用。它無法在下列任何區段中使用:AWSTemplateFormatVersionDescriptionMetadataTransformParametersMappingsRulesHooks 區段。

如果在範本中使用 Fn::ForEach 內建函數,也必須使用 AWS::LanguageExtensions 轉換

使用 Fn::ForEach 內部函數不會更改配額,這些配額將套用到所產生的範本。配額包括範本的大小上限和範本中的資源數量上限。如需詳細資訊,請參閱《AWS CloudFormation 使用者指南》中的了解 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 範本本身的內部參考。

識別符

OutputKeyOutputValue 參數中取代的預留位置識別符。在 OutputKeyOutputValue 參數中,${Identifier}&{Identifier} 的全部執行個體將被取代為來自 Collection 參數的值。

收集

要逐一查看的值的集合。這可以是此參數中的陣列,也可以是 CommaDelimitedListRef。使用 &{Identifier} 時,可以在 Collection 中傳入非英數字元。

輸出金鑰

轉換範本中的金鑰。${Identifier}&{Identifier} 必須包含在 OutputKey 參數中。例如,如果在範本的 Resources 區段中使用 Fn::ForEach,則這是每項資源的邏輯 ID。

&{} 語法允許在 OutputKey 參數內使用 Collection 中的非英數字元。如需相關範例,請參閱 在 Fn::ForEach 的 Collection 內傳遞非英數字元

輸出值

在轉換後的範本中針對 Collection 參數中的每個項目複寫的值。例如,如果 Fn::ForEach 在範本的 Resources 區段中使用,則這是重複用來設定每項資源的範本片段。

傳回值

展開的物件包含為集合中每個項目重複一次的物件片段,片段中的識別碼被來自集合的項目替換。

支援的函數

您可以在 Fn::ForEach 中使用以下函數。

範例

可以在 範例 中找到 ConditionsOutputsResources 區段的範例。