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
La AWS::LanguageExtensions
trasformazione è una macro ospitata da AWS CloudFormation che consente di utilizzare funzioni intrinseche e altre funzionalità non incluse di default in. AWS CloudFormation Quando un modello fa riferimento AWS::LanguageExtensions
e state creando o aggiornando pile utilizzando set di modifiche, AWS CloudFormation aggiorna qualsiasi funzione intrinseca definita dalla trasformazione al valore risolto all'interno del modello. Quando aggiungi la AWS::LanguageExtensions
trasformazione in un AWS CloudFormation modello, puoi utilizzare le funzioni intrinseche come parametro per e. Ref Fn::GetAtt
L'operazione transform di AWS::LanguageExtensions
supporta le seguenti funzioni e attributi:
Utilizzo
Il valore della dichiarazione della trasformazione deve essere una stringa letterale. Non è possibile utilizzare un parametro o una funzione per specificare un valore di trasformazione. Il frammento seguente è un esempio di una dichiarazione della trasformazione:
Sintassi al livello superiore di un modello
Utilizza l'operazione transform di AWS::LanguageExtensions
al livello superiore del modello. Non è possibile utilizzare l'operazione transform di AWS::LanguageExtensions
come trasformazione incorporata in qualsiasi altra sezione del modello.
JSON
"Transform": "AWS::LanguageExtensions"
YAML
Transform: AWS::LanguageExtensions
Parametri
L'operazione transform di AWS::LanguageExtensions
non accetta alcun parametro.
Remarks
Quando utilizzi l'operazione transform di AWS::LanguageExtensions
, tieni presente le considerazioni riportate di seguito:
-
Se aggiorni uno stack utilizzando un valore di parametro diverso, non utilizzare l'opzione
--use-previous-template
se il modello originale contiene la trasformazione. Utilizza il modello originale, prima della trasformazione, nella chiamataUpdateStack
. Lo stack verrà aggiornato con i nuovi valori dei parametri. -
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
. Esempi di funzioni intrinseche disponibili solo nella trasformazioneAWS::LanguageExtensions
sonoFn::Length
eFn::ToJsonString
. Utilizza riferimenti espliciti a queste funzioni. Ad esempio, utilizzaFn::Length
anziché!Length
. -
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::LanguageExtensions
eAWS::Serverless
, l'operazione transform diAWS::LanguageExtensions
deve essere posizionata prima della trasformazioneAWS::Serverless
nell'elenco. -
Le funzioni e gli attributi forniti dall'operazione transform di
AWS::LanguageExtensions
sono supportati solo nelle sezioniResources
,Conditions
eOutputs
di un modello.
Per ulteriori informazioni sull'utilizzo delle macro, consulta la sezione Creazione di una definizione di CloudFormation macro.
Esempio
Nell'esempio seguente viene mostrato come utilizzare l'operazione transform di AWS::LanguageExtensions
per utilizzare la funzione intrinseca Fn::Length
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