Yaml 在无服务器框架中找不到导出名称XYZ
我已经创建了这个WebSocket并第一次尝试部署它,它显示没有导出名称webSocketAPI找到,custom:标记在输出导出API之前执行。如何使用DependsOn完成此操作,或者是否有其他方法完成此操作?您缺少输出所需的字段- 在这里您可以找到如何设置 另一个例子: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
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}