AWS SAM本地启动API无法解析Fn :: ImportValue

时间:2020-01-27 09:54:36

标签: amazon-web-services aws-sam serverless-application-model

我有SAM模板(部分张贴在这里):

AWSTemplateFormatVersion: "2010-09-09"
Transform: "AWS::Serverless-2016-10-31"

Parameters:

  StorageStackName:
    Type: String
    Description: Name of the stack which provisions DynamoDB table and S3 bucket.

Globals:

  Function:
      Runtime: nodejs12.x
      MemorySize: 128
      Timeout: 8
      CodeUri: .
      AutoPublishAlias: latest
      Environment:
        Variables:
          SOURCE_TABLE_NAME:
            Fn::ImportValue:
              Fn::Sub: "${StorageStackName}-SourceTableName"

命令会通知我

sam local start-api --debug --parameter-overrides='StorageStackName=storage-dev'

Unable to resolve property SOURCE_TABLE_NAME: OrderedDict([('Fn::ImportValue', OrderedDict([('Fn::Sub', '${StorageStackName}-SourceTableName')]))]). Leaving as is.

我试图删除Sub(没有运气):

SOURCE_TABLE_NAME:
  Fn::ImportValue: "storage-dev-SourceTableName"

该模板可在服务器上使用,因此支持Fn :: ImportValue。 所以我的问题是本地调用完全支持Fn :: ImportValue吗?

我确保我使用与storage-dev堆栈相同的凭据(配置文件)用于本地SAM。有什么方法可以再次检查以确保更多?

1 个答案:

答案 0 :(得分:0)

截至目前,该帖子似乎不受支持。我只能找到最后一个PR,包括!Sub和!If。看起来当sam cli成熟时,它们将必须作为参数或env变量传递。