如何在 AWS AppSync 控制台中测试订阅?

Posted

技术标签:

【中文标题】如何在 AWS AppSync 控制台中测试订阅?【英文标题】:How to test Subscription in AWS AppSync Console? 【发布时间】:2019-03-05 04:19:41 【问题描述】:

我在 App Sync 控制台中编写了以下订阅和变异代码:

subscription SubscribeToCreateDoctor 
  
  subscribeToCreateDoctor 
       id
       name
  
     


mutation CreateDoctor 

      createDoctor(
        input: 
          name: "sanju", 
          registrationNo: "some value",
          speciality: "some value",
          profilePic: "some value",
          placeOfResidence: "some value", 
          medicalCenter: "some value",
          direction: "some value",
          municipality: "some value",
          isAvailable: "No",
        ) 
         id
         name
        
       

在模式中,我定义了突变和订阅:

type Subscription 
    
    subscribeToCreateDoctor: Doctor
        @aws_subscribe(mutations: ["createDoctor"])


type Mutation 
    
    createDoctor(input: CreateDoctorInput!): Doctor


当我在 App Sync 控制台中测试 CreateDoctor 突变时,我得到以下响应:


  "data": 
    "createDoctor": 
      "id": "5845c994-2389-4df9-8a3e-e13dc24b0153",
      "name": "Sanju"
    
  

但是,我在 AWS App Sync 控制台中没有看到为订阅打印的任何日志。如果我在 React Native Client 应用程序中进行测试,订阅事件也会被触发。

根据 AWS 文档,可以在 App Sync 控制台中测试订阅: https://docs.aws.amazon.com/appsync/latest/devguide/test-debug-resolvers.html

AWS AppSync 让您可以使用 Amazon 记录错误和完整的请求详细信息 云观察。此外,您可以使用 AWS AppSync 控制台进行测试 GraphQL 查询、突变和订阅以及实时流日志数据 将每个请求返回到查询编辑器进行实时调试。为了 订阅,日志显示连接时间信息。

有人在 AWS Sync 控制台中成功测试过订阅吗?

【问题讨论】:

【参考方案1】:

它不起作用,因为您尝试在同一个控制台中测试突变和订阅。 只需打开两个不同的控制台。一个用于mutation,另一个用于subscription。首先,在第一个控制台中启动订阅。当第二个控制台中的突变启动时,订阅将在第一个控制台中被调用。

【讨论】:

在启动 2 个控制台并在一个中运行订阅并在另一个中运行突变后工作。非常感谢伙计。节省了大量时间。

以上是关于如何在 AWS AppSync 控制台中测试订阅?的主要内容,如果未能解决你的问题,请参考以下文章

同一视图控制器中的 AWS AppSync 多个订阅不起作用 - iOS Swift

如何订阅 AWS AppSync 客户端中的多个事件?

AWS Appsync 订阅未更新我的组件

如何使用订阅和 AWS AppSync 高效同步 Apollo 的缓存

基于位置的 AWS AppSync 事件订阅

订阅 AWS AppSync 中的群组/私人聊天列表