Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Transformação AWS::LanguageExtensions

Modo de foco
Transformação AWS::LanguageExtensions - AWS CloudFormation
Filtrar visualização

Este tópico descreve como usar a transformação AWS::LanguageExtensions para habilitar funções e recursos adicionais que não estão disponíveis por padrão.

AWS::LanguageExtensions é uma macro do CloudFormation que, quando referenciada no seu modelo de pilha, atualiza qualquer função intrínseca definida pela transformação para seu valor resolvido dentro do modelo quando você cria ou atualiza uma pilha usando um conjunto de alterações.

Ao incluir essa transformação em seu modelo do CloudFormation, você pode acessar recursos adicionais, como Fn::ForEach, o qual permite operações mais avançadas, como iterações. Você também pode usar funções intrínsecas em locais onde elas normalmente não são permitidas, como nas funções Ref e Fn::GetAtt.

Uso

Para usar a transformação AWS::LanguageExtensions, é necessário declará-la no nível superior do seu modelo do CloudFormation. Não é possível usar AWS::LanguageExtensions como uma transformação incorporada em nenhuma outra seção de modelo.

A declaração deve usar a string literal AWS::LanguageExtensions como seu valor. Você não pode usar um parâmetro ou uma função para especificar um valor de transformação.

Sintaxe

Para declarar essa transformação no modelo do CloudFormation, use a seguinte sintaxe:

JSON

{ "Transform":"AWS::LanguageExtensions", "Resources":{ ... } }

YAML

Transform: AWS::LanguageExtensions Resources: ...

A transformação AWS::LanguageExtensions é uma declaração independente sem parâmetros adicionais.

Suporte para funções adicionais

A transformação AWS::LanguageExtensions é compatível com as seguintes funções adicionais:

Considerações

Ao usar a transformação AWS::LanguageExtensions, tenha em mente as seguintes considerações:

  • Ao atualizar uma pilha usando um valor de parâmetro diferente, não use a opção Usar modelo existente no console do CloudFormation, ou a opção de linha de comando equivalente --use-previous-template, se o modelo original contiver uma transformação. Em vez disso, use o modelo original não transformado ao atualizar a pilha. Isso garantirá que a pilha seja atualizada corretamente com os novos valores de parâmetros.

  • A sintaxe YAML de formato curto não é compatível com um modelo para funções intrínsecas disponíveis apenas na transformação AWS::LanguageExtensions. Use referências explícitas a essas funções. Por exemplo, use Fn::Length em vez de !Length.

  • No momento, a CLI do AWS SAM não oferece suporte à função intrínseca Fn::ForEach da transformação AWS::LanguageExtensions.

  • Se você estiver usando várias transformações, use um formato de lista. Se você estiver usando macros personalizadas, posicione as transformações fornecidas pela AWS depois das macros personalizadas. Se você estiver usando ambas as transformações AWS::LanguageExtensions e AWS::Serverless, a transformação AWS::LanguageExtensions deve vir antes da transformação AWS::Serverless na lista.

  • As funções e os atributos fornecidos pela transformação AWS::LanguageExtensions só são compatíveis com as seções Resources, Conditions e Outputs do seu modelo.

Exemplos

Os exemplos a seguir mostram como usar a transformação AWS::LanguageExtensions para usar a função intrínseca Fn::Length definida pela transformação.

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

Para obter mais exemplos, consulte os tópicos a seguir.

Para obter mais informações sobre o uso de macros, consulte Executar processamento personalizado em modelos do CloudFormation com macros de modelo no Guia do usuário do AWS CloudFormation.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.