Trasformazione AWS::LanguageExtensions - AWS CloudFormation

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 chiamata UpdateStack. Lo stack verrà aggiornato con i nuovi valori dei parametri.

  • La YAML sintassi in forma abbreviata non è supportata all'interno di un modello per le funzioni intrinseche disponibili solo nella trasformazione. AWS::LanguageExtensions Esempi di funzioni intrinseche disponibili solo nella trasformazione AWS::LanguageExtensions sono Fn::Length e Fn::ToJsonString. Utilizza riferimenti espliciti a queste funzioni. Ad esempio, utilizza Fn::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 e AWS::Serverless, l'operazione transform di AWS::LanguageExtensions deve essere posizionata prima della trasformazione AWS::Serverless nell'elenco.

  • Le funzioni e gli attributi forniti dall'operazione transform di AWS::LanguageExtensions sono supportati solo nelle sezioni Resources, Conditions e Outputs di un modello.

Per ulteriori informazioni sull'utilizzo delle macro, consulta la sezione Creare 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