如何在Cloudformation模板中引用Fn :: Transform

时间:2019-07-26 17:46:53

标签: amazon-web-services amazon-cloudformation

我正在尝试在cloudformation中编写一个转换宏,该宏会将给定的字符串格式化为S3存储桶名称前缀。我以lambda的形式写出了脚本并创建了宏,但是却收到一条错误消息,提示我的转换宏名称不存在。

BucketNameFormattingMacro: 
  Type: AWS::CloudFormation::Macro
  Properties: 
    Description: Changes strings to be formatted properly to be added to S3 bucket names.
    FunctionName: !GetAtt BucketNameFormattingScript.Arn

TransformFunctionPermissions:
  Type: AWS::Lambda::Permission
  Properties:
    Action: 'lambda:InvokeFunction'
    FunctionName: !GetAtt BucketNameFormattingScript.Arn
    Principal: 'cloudformation.amazonaws.com'

Bucket:
  Type: AWS::S3::Bucket
  Properties:
    BucketName:
      Fn::Transform:
        - Name: BucketNameFormattingMacro
          Parameters:
            InputString: !Sub '{ENV}-bucket'

运行脚本会引发以下情况:

  

“未找到名为699790013825 :: BucketNameFormattingMacro的转换。用户请求回滚。”

在宏名之前有一个数字字符串,我没有把它怀疑是问题的一部分。为什么这些数字在那里?如何正确引用转换以在存储桶名称中使用它?

0 个答案:

没有答案