Yaml 在无服务器框架中找不到导出名称XYZ

Yaml 在无服务器框架中找不到导出名称XYZ,yaml,amazon-cloudformation,serverless-framework,Yaml,Amazon Cloudformation,Serverless Framework,我已经创建了这个WebSocket并第一次尝试部署它,它显示没有导出名称webSocketAPI找到,custom:标记在输出导出API之前执行。如何使用DependsOn完成此操作,或者是否有其他方法完成此操作?您缺少输出所需的字段- 在这里您可以找到如何设置 另一个例子: functions:   wsConnect:     handler: src/handlers/wsConnect.handler     name: ${self:provider.stage}-wsConnect

我已经创建了这个WebSocket并第一次尝试部署它,它显示没有导出名称webSocketAPI找到,custom:标记在输出导出API之前执行。如何使用DependsOn完成此操作,或者是否有其他方法完成此操作?

您缺少输出所需的字段-

在这里您可以找到如何设置

另一个例子:

functions:
  wsConnect:
    handler: src/handlers/wsConnect.handler
    name: ${self:provider.stage}-wsConnect
    environment:
      WS_SERVICE: ${self:provider.stage}-wsService
    events:
      - websocket:
          route: $connect
  wsDisconnect:
    handler: src/handlers/wsDisconnect.handler
    name: ${self:provider.stage}-wsDisconnect
    environment:
      WS_SERVICE: ${self:provider.stage}-wsService
    events:
      - websocket:
          route: $disconnect
  wsDefault:
    handler: src/handlers/wsDefault.handler
    name: ${self:provider.stage}-wsDefault
    events:
      - websocket:
          route: $default
resources:
    Outputs:
        ExportedWebSocketpi:
          Value: !Ref WebsocketsApi # Logical ID
          Export:
            Name: webSocketAPI
        ExportedRestApi:
          Value: !Ref ApiGatewayRestApi # Logical ID
          Export:
            Name: rest-wsAPI
custom:
  importwebSocketAPI:
    Fn::ImportValue: webSocketAPI

请查看我的更新代码。甚至这段代码也出现了同样的问题。为什么,因为它是自定义的:标记没有等待资源完成。自定义标记从AWS CloudFormation变量读取/导入值
webSocketAPI
webSocketAPI
从同一堆栈导出。因此,您得到了某种循环依赖,您尝试读取尚未创建的内容。在serverless.yml配置中直接阅读
WebsocketsApi
,您不需要导出/导入变量。感谢您提供的信息
resources:
    Outputs:
        DBUserName:
            Value: ${self:custom.dbCredentials.DB_USERNAME}
        DBPassword:
            Value: ${self:custom.dbCredentials.DB_PSW}

        RDSClusterID:
            Description: "RDS Cluster"
            Value: { Ref: RDSCluster }

        CognitoUserPoolId:
            Value: ${self:custom.userPool}