【问题标题】:Subscribing multiple AppSync users to the same Model mutation为多个 AppSync 用户订阅同一个模型突变
【发布时间】:2020-01-02 08:33:32
【问题描述】:

在 AppSync 中,我有 2 个用户 Adam 和 Eve,他们都使用同一辆车(由 VIN 识别)。

当 Adam startsCar 时,他订阅了 updateFuel 突变。在 Adam 调用 startsCar 的那一刻,我如何让 Eve 订阅 updateFuel

我无法理解权限和用户上下文。 startsCar 正在使用 Adam 的 Cognito 凭据运行,并且要让 Eve 接收 AFAIK 事件,第二个 updateFuel 应该使用 Eve 的 Cognito 凭据进行订阅。

上述情况可能吗?如何找到解决方案?

我曾考虑将 Adam 添加到管理员组,但仍然坚持以 Eve 的身份订阅 updateFuel

【问题讨论】:

    标签: amazon-web-services aws-appsync graphql-subscriptions


    【解决方案1】:

    这应该是完全可能的,您所要做的就是在 VIN 上的订阅中添加一个过滤器。对于突变,它可能看起来像这样:

    type Mutation {
        ...other stuff...
        startCar(...other stuff..., VIN: String!): SomeType
    }
    

    这是订阅:

    type Subscription {
        ...other stuff...
        updateFuel(VIN: String!): SomeType
        @aws_subscribe(mutations: ["startCar"])
    }
    

    它也可以扩展到汽车中的任何其他假设乘客,这意味着无论是谁启动了汽车,使用此模式订阅它的人都会获得汽车启动的更新。

    如果您想锁定查看订阅更新的功能,您对组的直觉将是一种明智的方式,通过架构中订阅字段上的 auth 指令。

    【讨论】:

      猜你喜欢
      • 2019-08-09
      • 2019-12-27
      • 2020-03-21
      • 2018-02-01
      • 1970-01-01
      • 2018-12-28
      • 2019-03-07
      • 2021-05-13
      • 1970-01-01
      相关资源
      最近更新 更多