本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS::LanguageExtensions
轉換程序
AWS::LanguageExtensions
轉換是由託管的巨集, AWS CloudFormation 可讓您使用預設未包含的內建函數和其他功能。 AWS CloudFormation當範本參考AWS::LanguageExtensions
,而且您正在使用變更集建立或更新堆疊時, AWS CloudFormation 會將轉換所定義的任何內建函數更新為範本中已解析的值。當您在 AWS CloudFormation 範本中新增AWS::LanguageExtensions
轉換時,您可以使用內建函數做為和的參數。Ref Fn::GetAtt
AWS::LanguageExtensions
轉換支援下列功能和屬性:
用量
轉換宣告的值必須是常值字串。您不能使用參數或函數來指定轉換值。如需有關轉換宣告的範例,請參閱此程式碼片段:
範本最上層的語法
在範本的最上層使用 AWS::LanguageExtensions
轉換。不得將 AWS::LanguageExtensions
轉換用作任何其他範本區段中的內嵌轉換。
JSON
"Transform": "AWS::LanguageExtensions"
YAML
Transform: AWS::LanguageExtensions
參數
AWS::LanguageExtensions
轉換不接受參數。
備註
使用 AWS::LanguageExtensions
轉換時,請謹記以下幾點考量:
-
如果您使用不同參數值更新堆疊,請勿使用原始範本包含轉換的
--use-previous-template
選項。在UpdateStack
呼叫中使用轉換之前的原始範本。堆疊會使用新的參數值進行更新。 -
僅由
AWS::LanguageExtensions
轉換提供的內部函數在範本中不支援簡短格式 YAML 語法。僅由AWS::LanguageExtensions
轉換提供的內部函數範例包括Fn::Length
和Fn::ToJsonString
。使用這些函數的明確參考。例如,使用Fn::Length
代替!Length
。 -
如果您使用多個轉換,請使用清單格式。如果您使用的是自訂巨集,請在自訂巨集之後放置 AWS提供的變形。如果您同時使用
AWS::LanguageExtensions
和AWS::Serverless
轉換,則在清單中,AWS::LanguageExtensions
轉換必須排在AWS::Serverless
轉換之前。 -
僅在範本的
Resources
、Conditions
和Outputs
區段中,支援AWS::LanguageExtensions
轉換提供的功能和屬性。
如需有關使用巨集的詳細資訊,請參閱 建立 CloudFormation 巨集定義。
範例
下列範例顯示如何借助 AWS::LanguageExtensions
轉換使用由該轉換定義的 Fn::Length
內部函數。
JSON
{ "AWSTemplateFormatVersion": "2010-09-09", "Transform": "AWS::LanguageExtensions", "Parameters": { "QueueList": { "Type": "CommaDelimitedList" }, "QueueNameParam": { "Description": "Name for your SQS queue", "Type": "String" } }, "Resources": { "Queue": { "Type": "AWS::SQS::Queue", "Properties": { "QueueName": { "Ref": "QueueNameParam" }, "DelaySeconds": { "Fn::Length": { "Ref": "QueueList" } } } } } }
YAML
AWSTemplateFormatVersion: 2010-09-09 Transform: 'AWS::LanguageExtensions' Parameters: QueueList: Type: CommaDelimitedList QueueNameParam: Description: Name for your SQS queue Type: String Resources: Queue: Type: 'AWS::SQS::Queue' Properties: QueueName: !Ref QueueNameParam DelaySeconds: 'Fn::Length': !Ref QueueList