HasuraAPI和Python POST给出404错误

2024-09-27 23:28:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用HasuraAPI来获取数据库的内容。合适的端点是v1alpha1/pg_dump

我已尝试在Python中执行以下操作:

import requests
api_url = 'http://localhost:9695/v1alpha1/pg_dump'
header = {'Content-Type': 'application/json',
          'x-hasura-admin-secret': 'MY_SECRET',
          'X-Hasura-Role': 'admin'}
r = requests.post(url=api_url, headers=header)

如果我这样做requests.get,我会得到信息(html代码,尽管没有什么特别有用的)。但是,如果我执行requests.post(这是Hasura:https://hasura.io/docs/1.0/graphql/core/api-reference/pgdump.html所要求的),我会得到一个404错误。我不明白为什么。这不是身份验证错误,而是页面未找到错误

我的url是否构建错误?有什么我遗漏的吗?端口是正确的(如果我在代码中更改它,它会给我一个不同的错误,告诉我端口无效/关闭)。我不知道还有什么可以改变的


Tags: 代码apiurladminhtml错误postrequests
1条回答
网友
1楼 · 发布于 2024-09-27 23:28:34

因此,我在自己的Digital Ocean 1 click部署环境中进行了尝试。我没有保护它,所以我不提供任何标题。它的工作原理如下:

import requests
import json

r = requests.post('http://address_of_hasura/v1alpha1/pg_dump',
  data = json.dumps({
  'opts' : ['-O', '-x', ' schema-only', ' schema', 'public'],
  'clean_output': True
}) )
print r.text

如果您使用了HASURA_GRAPHQL_ENABLED_APISenv变量,但没有包含pgdump,这可能是它是disabled的原因

相关问题 更多 >

    热门问题