使用内部功能的saw形成AWS

时间:2018-09-13 16:48:47

标签: amazon-web-services amazon-cloudformation aws-sam-cli

为什么固有的cloudformation函数!当我将其放入无服务器api模板的definitionbody中的Join函数中时,ImportValue不能解析为字符串吗?

此cloudformation模板:

public function switchLang(Request $request, $lang)
{
        session(['applocale' => $lang]);
        app()->setLocale($lang);
} 

会产生以下错误:

public function index()
{
        \Debugbar::info("Index getLocale is: " . app()->getLocale());
        \Debugbar::info("Index Session locale is: " . session('applocale'));
}

但是,如果我将最后一行替换为:

  UserAPI:
    Type: 'AWS::Serverless::Api'
    Properties:
      StageName: !ImportValue StageName
      DefinitionBody:
          'Fn::Transform':
            Name: 'AWS::Include'
            Parameters:
              Location: !Join [ "", [ "s3://", !ImportValue S3APIBucket, "/api_user.yaml" ] ]

并将S3APIBucket作为参数可以正常工作。否则,请勿使用!Join并仅对s3存储桶名称进行硬编码,这也可以正常工作。

0 个答案:

没有答案