开发者现在可以使用Hasura GraphQL引擎,存取Azure Database上的PostgreSQL数据库,该引擎还提供开发者接口,除了能浏览GraphQL API,也可以方便地管理数据库架构以及数据。GraphQL为API查询语言,也是一个用于数据库查询在服务器端执行的Runtime,GraphQL的好处是可以直接透过API描述需要的数据,让前端开发人员对数据库字段进行CRUD查询,而不用多次的以Rest API进行呼叫,才能拼凑出需要的数据,透过减少向后端呼叫的次数,加快网页应用程序的速度。GraphQL为REST API的替代解决方案,目前被广泛的应用在于加速产品开发周期。
Hasura GraphQL引擎提供许多功能,开发者可以用实时API探索数据库,其提供排序、过滤、分页以及聚合等开箱即用功能,还在GraphQL中内建称为订阅(Subscriptions)的实时查询功能,让开发者不需要撰写任何程序代码,就能处理websocket连接,实时收到查询结果更新。而Hasura GraphQL引擎也可作为自定义义商业逻辑的网关,开发者可以使用自己习惯的开发语言,撰写GraphQL服务器,并在单一端点公开。开发者可以整合GraphQL以及无服务器服务,Hasura能够在数据库插入、更新或是删除事件发生时,触发Azure Functions或是webhooks,这个功能可以用于开发异步商业逻辑上。而Hasura也提供细致的身份验证功能,其基于角色的权限管理系统,让开发者可以在整合第三方应用的同时,控制数据行列的存取等级,也可以进一步结合使用自定义的权限授权服务JWT或webhook。