2017-10-20 24 views
0

Dans CloudFormation, comment puis-je ajouter une liste? Essayé:Comment ajouter une liste dans CloudFormation

!Join [ ",", [ !Ref ListParam, !Ref StringParam ]] 

mais nous avons eu une erreur:

A client error (ValidationError) occurred when calling the 
ValidateTemplate operation: Template error: every Fn::Join object 
requires two parameters, (1) a string delimiter and (2) a list of 
strings to be joined or a function that returns a list of strings 
(such as Fn::GetAZs) to be joined. 

Répondre

0

Selon l'erreur, le second paramètre peut être:

  • Une liste de chaînes, OU
  • Une fonction retourne une liste de chaînes

Vous fournissez une liste qui inclut une fonction et une chaîne. C'est probablement le problème.

Vous pouvez essayer de l'appeler en premier avec ListParam pour convertir la liste en chaîne, puis concaténer String Param jusqu'à la fin.

Meta-code:

  • Si ListParam = [a, b, c] et StringParam = 'D'
  • Join (' ' Inscription (',', ListParam), StringParam)
0

D'abord, nous devons savoir ce que vous voulez réaliser. Si vous souhaitez ajouter un nouveau paramètre de chaîne dans une liste et obtenir la sortie dans une chaîne, vous pouvez utiliser !Join. Parce que la caractéristique de !Join est d'ajouter un ensemble de valeurs dans une seule valeur. Si vous voulez faire, vous pouvez essayer le code ci-dessous:

!Join [ ",", [ !Join [ ",", [ !Ref ListParam ] ], !Ref StringParam ] ] 

Si vous voulez ajouter ces valeurs dans le type de liste, vous devriez essayer une autre façon. Ce sera plus facile si vous fournissez le cas d'exemple.