无法通过 serverless.yml 创建 S3Buckets

Unable to create S3Buckets through serverless.yml

我只是尝试将新的 S3Bucket 添加到资源部分,但不再构建堆栈:

resources:
  Resources:
    myBucket:
      Type: AWS::S3::Bucket
      Properties:
        BucketName: prefix-${self:custom.env.myvar}-myBucket

我得到的错误并没有太大帮助: 模板格式错误:未解决的资源依赖关系 [] 在模板的资源块中([] 之间没有任何内容可以指示要查找的内容)

知道发生了什么事吗?

我是 运行 无服务器 v1.5.0

serverless.yml

service: myService
frameworkVersion: "=1.5.0"

custom:
  env: ${file(./.variables.yml)}

provider:
  name: aws
  runtime: nodejs4.3
  stage: ${opt:stage, self:custom.env.stage}
  region: ${self:custom.env.region}
  profile: myProfile-${opt:stage, self:custom.env.stage}
  memorySize: 128

  iamRoleStatements:
    - Effect: "Allow"
      Action:
        - "lambda:InvokeFunction"
      Resource: "*"
    - Effect: "Allow"
      Action:
    - "s3:ListBucket"
      Resource: { "Fn::Join" : ["", ["arn:aws:s3:::", { "Ref" : "ServerlessDeploymentBucket" } ] ]  }
    - Effect: "Allow"
      Action:
        - "s3:PutObject"
      Resource:
        Fn::Join:
          - ""
          - - "arn:aws:s3:::"
            - "Ref" : "ServerlessDeploymentBucket"
            - "Ref" : ""

functions:
  myFunction:
    handler: functions/myFunction.handler
    name: ${opt:stage, self:custom.env.stage}-myFunction

resources:
  Resources:
    myBucket:
      Type: AWS::S3::Bucket
      Properties:
        BucketName: myService-${opt:stage, self:custom.env.myVar}-myBucket

iamRoleStatements 部分 - "Ref" : "" 中对 empty-string 的引用可能导致 Unresolved resource dependencies [] 错误。从您的模板中删除此行,因为它似乎没有必要。