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
이 있습니다. 이러한 함수에 대한 명시적 참조를 사용하세요. 예를 들어!Length
대신Fn::Length
을 사용하십시오. -
여러 개의 변환을 사용하는 경우 목록 형식을 사용하세요. 사용자 지정 매크로를 사용하는 경우 AWS 제공 변환을 사용자 지정 매크로 뒤에 배치하세요.
AWS::LanguageExtensions
및AWS::Serverless
변환을 모두 사용하는 경우AWS::LanguageExtensions
변환이 목록에서AWS::Serverless
변환 앞에 있어야 합니다. -
AWS::LanguageExtensions
변환에서 제공하는 함수 및 속성은 템플릿의Resources
,Conditions
및Outputs
섹션에서만 지원됩니다.
매크로 사용에 대한 자세한 내용은 AWS 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