【问题标题】:Custom api gateway websocket endpoint using serverless使用无服务器的自定义 api 网关 websocket 端点
【发布时间】:2019-09-29 12:04:39
【问题描述】:

我正在尝试通过无服务器自定义我的 api 网关 websocket 端点,因为我需要为在 websocket 之前部署的 cloudfront 初始化它。 初始化代码如下:

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

【问题讨论】:

    标签: websocket aws-api-gateway serverless-framework


    【解决方案1】:

    也许您可以尝试通过处理程序中可用的WEB_SOCKET_API_ID 环境变量传递WebSocketApiId 参数值,如下所示:

      connectionHandler:
        name: ${self:provider.stage}-${self:provider.variant}-${self:custom.configFile.appCode}-ws-connection
        handler: WebsocketTestHandler
        environment:
          WEB_SOCKET_API_ID:
            Ref: WebSocketApiId
        events:
          - websocket:
              route: $connect
          - websocket:
              route: $disconnect
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-07
      • 1970-01-01
      • 1970-01-01
      • 2020-06-26
      • 2019-12-23
      • 2014-11-05
      相关资源
      最近更新 更多