【问题标题】:AWS Athena deployment serverless frameworkAWS Athena 部署无服务器框架
【发布时间】:2019-08-04 08:45:30
【问题描述】:

有人提示我如何将 !Ref und !Sub 从 CloudFormation 转换为 serverless.yml。

resources:
  Resources:
    AthenaCreateDatabaseQuery:
      Type: 'AWS::Athena::NamedQuery'
      Properties:
        Description: Run this query to initialize the Athena database
        QueryString: "CREATE DATABASE IF NOT EXISTS $(self:custom.etlDatabase};"
        Database: ${self:custom.etlDataBase}

  • 在 Cloudformation 中,QueryString 属性以 !Sub 和 带有 !Ref 的数据库属性。

感谢克里斯蒂安

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation serverless amazon-athena


    【解决方案1】:

    !Sub 目前不被 serverless.com (see this issue on GitHub) 原生支持,但您可以使用以下插件 https://gitlab.com/kabo/serverless-cf-vars

    当您希望 cloudformation 模板有一个包含 ${} 的字符串时,只需使用 #{},它就会在 cloudformation 模板中转换为正确的 ${}(为您插入 Fn::Sub)部署前。

    或者按照here 的建议使用自定义变量语法。两者都需要在 yaml 中使用 Fn::Sub 和 Fn::Ref 而不是简写形式 !Sub 和 !Ref

    【讨论】:

    • 谢谢,但是当涉及到由 !Sub 引入的 cloudformation 中的多行创建表语句时,我又迷路了。
    猜你喜欢
    • 1970-01-01
    • 2021-05-12
    • 2018-12-30
    • 2019-03-08
    • 1970-01-01
    • 1970-01-01
    • 2018-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多