Questa è la nuova guida AWS CloudFormation di riferimento per i modelli. Aggiorna i segnalibri e i link. Per informazioni su come iniziare CloudFormation, consulta la Guida per l'AWS CloudFormation utente.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Trasformazione AWS::LanguageExtensions
Questo argomento descrive come utilizzare la AWS::LanguageExtensions trasformazione per abilitare funzioni e funzionalità aggiuntive che non sono disponibili per impostazione predefinita. 
AWS::LanguageExtensionsSi tratta di una  CloudFormation  macro che, se referenziata nel modello di stack, aggiorna qualsiasi funzione intrinseca definita dalla trasformazione al relativo valore risolto all'interno del modello quando si crea o si aggiorna uno stack utilizzando un set di modifiche. 
Includendo questa trasformazione nel  CloudFormation  modello, è possibile accedere a funzionalità aggiuntive, ad esempio che consentono operazioni più avanzate come Fn::ForEach l'iterazione. Puoi anche utilizzare le funzioni intrinseche in luoghi in cui in genere non sono consentite, ad esempio nelle Ref funzioni e. Fn::GetAtt
Utilizzo
Per utilizzare la AWS::LanguageExtensions trasformazione, devi dichiararla al livello più alto del modello.  CloudFormation  Non è possibile utilizzare AWS::LanguageExtensions come trasformazione incorporata in qualsiasi altra sezione del modello.
La dichiarazione deve utilizzare la stringa letterale AWS::LanguageExtensions come valore. Non è possibile utilizzare un parametro o una funzione per specificare un valore di trasformazione.
Sintassi
Per dichiarare questa trasformazione nel CloudFormation modello, utilizzate la seguente sintassi:
JSON
{ "Transform":"AWS::LanguageExtensions", "Resources":{...} }
YAML
Transform: AWS::LanguageExtensions Resources:...
La AWS::LanguageExtensions trasformazione è una dichiarazione autonoma senza parametri aggiuntivi.
Support per funzioni aggiuntive
La AWS::LanguageExtensions trasformazione supporta le seguenti funzioni aggiuntive:
Considerazioni
Quando utilizzi l'operazione transform di AWS::LanguageExtensions, tieni presente le considerazioni riportate di seguito:
- 
                Quando aggiorni uno stack che utilizza la AWS::LanguageExtensionstrasformazione, ti consigliamo di non utilizzare l'opzione Usa modello esistente nella CloudFormation console o l'opzione equivalente della riga di comando.--use-previous-templateLaAWS::LanguageExtensionstrasformazione risolve i parametri in valori letterali durante l'elaborazione. Quando si utilizza--use-previous-template, CloudFormation utilizza questo modello elaborato con i vecchi valori letterali, impedendo l'applicazione di nuovi valori dei parametri e degli aggiornamenti dei parametri di Systems Manager. Fornite invece il modello originale per garantire che i parametri vengano risolti nuovamente con i valori correnti.
- 
                La sintassi YAML in forma abbreviata non è supportata all'interno di un modello per le funzioni intrinseche che sono disponibili solo nella trasformazione AWS::LanguageExtensions. Utilizza riferimenti espliciti a queste funzioni. Ad esempio, utilizzaFn::Lengthanziché!Length.
- 
                La AWS SAM CLI attualmente non supporta la funzione Fn::ForEachintrinseca della trasformazione.AWS::LanguageExtensions
- 
                Se utilizzi più trasformazioni, utilizza un formato elenco. Se utilizzi macro personalizzate, inserisci le trasformazioni AWS fornite dopo le macro personalizzate. Se utilizzi entrambe le operazioni di trasformazione AWS::LanguageExtensionseAWS::Serverless, l'operazione transform diAWS::LanguageExtensionsdeve essere posizionata prima della trasformazioneAWS::Serverlessnell'elenco.
- 
                Le funzioni e gli attributi forniti dalla AWS::LanguageExtensionstrasformazione sono supportati solo nelleOutputssezioni e e delResourcesmodello.Conditions
Esempi
Gli esempi seguenti mostrano come utilizzare la AWS::LanguageExtensions trasformazione per utilizzare la funzione Fn::Length intrinseca, definita dalla trasformazione.
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
Risorse correlate
Per ulteriori esempi, consultate i seguenti argomenti.
Per informazioni generali sull'uso delle macro, consulta Eseguire l'elaborazione personalizzata sui CloudFormation modelli con macro di modello nella Guida per l'AWS CloudFormation utente.