有没有办法使用 nodejs 重新加载 hasura 远程模式

Posted

技术标签:

【中文标题】有没有办法使用 nodejs 重新加载 hasura 远程模式【英文标题】:is there a way to reload hasura remote schema using nodejs 【发布时间】:2019-12-31 07:17:09 【问题描述】:

我正在另一个 hasura graphql 模式中设置远程模式我如何使用 node/express js 设置 reload_remote_schema ?

我面临以下问题。 在单击重新加载按钮之前,Graphql 远程模式数据不会更新。我不想手动重新加载远程架构,它应该通过 node/express js 代码自动刷新。

【问题讨论】:

【参考方案1】:

使用任何 JS http 客户端,您都应该能够访问此端点:

POST /v1/query HTTP/1.1
Content-Type: application/json
X-Hasura-Role: admin


    "type": "reload_remote_schema",
    "args": 
        "name": "my remote schema"
    

文档:https://docs.hasura.io/1.0/graphql/manual/api-reference/schema-metadata-api/remote-schemas.html#reload-remote-schema

每当您更新远程架构(例如在新部署中)时,您都可以通过 API 进行刷新。

也可以通过 CLI 刷新远程架构:https://docs.hasura.io/1.0/graphql/manual/hasura-cli/hasura_metadata_reload.html#hasura-metadata-reload。但是这个操作是一个排他的/昂贵的请求(至少从 beta.3 开始有可能导致死锁)。

【讨论】:

hasura cli 命令元数据重新加载不会重新加载远程模式。发出请求时,reload_remote_schemas 未设置,因此默认为 false,并且在发出请求时无法通过 cli 进行设置

以上是关于有没有办法使用 nodejs 重新加载 hasura 远程模式的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在不重新启动调试器的情况下评估nodejs中的promise?

有没有办法在重新加载表格视图数据之前添加加载视图

不停歇的nodejs

删除 iframe 后有没有办法重新加载?

Django:当本地 .py 文件更改并动态加载时,有没有办法防止开发服务器重新启动?

有没有办法在页面重新加载之间保存远程资源的 css/js 更改或将远程资源映射到 devtools 中的本地?