问题描述
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
我已经创建了这个 WebSocket 并尝试第一次部署它,它显示 找不到导出名称 webSocketAPI,自定义:标签在输出导出 API 之前正在执行。我该如何使用 DependsOn 或有其他方法可以做到这一点?
解决方法
您缺少输出的必填字段 - value
您可以在此处找到如何设置 Outputs in serverless framework
另一个例子:
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}