Пользовательская конечная точка веб-сокета API-шлюза с использованием - PullRequest
1 голос
/ 12 мая 2019

Я пытаюсь настроить конечную точку веб-сокета 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
...