Я пытаюсь настроить конечную точку веб-сокета api-шлюза через сервер, потому что мне нужно инициализировать ее для облачного фронта, который развернут перед веб-сокетом.Код инициализации приведен ниже:
ApiGatewayWebsocketApi:
Type: AWS::ApiGatewayV2::Api
Properties:
Name: ${self:provider.stage}-${self:provider.variant}-WebsocketApi
ProtocolType: WEBSOCKET
RouteSelectionExpression: "$request.body.action"
Description: "WebSocket API for ${self:provider.variant}"
И я экспортировал его как вывод:
ApiGatewayWebsocketApiId:
Value:
Ref: ApiGatewayWebsocketApi
Export:
Name: ${self:custom.configFile.appCode}-${self:provider.stage}-${self:provider.variant}-ApiGatewayWebsocketApiId
Тогда ApiGatewayWebsocketApiId будет представлять строку конечной точки, такую как b6hnpuyzq6
ИЯ могу получить его в websocket serverless.yml:
WebSocketApiId:
Fn::ImportValue: ${self:custom.configFile.appCode}-${self:provider.stage}-${self:provider.variant}-ApiGatewayWebsocketApiId
Но вот проблема: как я могу импортировать его в свою функцию, такую как connectionHandler, чтобы этот websocket мог использовать конечную точку, импортированную выше:
connectionHandler:
name: ${self:provider.stage}-${self:provider.variant}-${self:custom.configFile.appCode}-ws-connection
handler: WebsocketTestHandler
events:
- websocket:
route: $connect
- websocket:
route: $disconnect