Json 从API响应到PostgreSQL表 上下文

Json 从API响应到PostgreSQL表 上下文,json,postgresql,rest,api,httpresponse,Json,Postgresql,Rest,Api,Httpresponse,我正在寻找一个高效、健壮的工作流,将API响应中的数据转储到PostgreSQL数据库 详细说明 我可以访问一个项目,我可以向它发送一些图1,并将其作为数据提供给我 例如,当使用例如时,我可以使用API考虑的所有参数构建查询,例如,这些参数可能如下所示: 图1:中的请求示例 相应的响应看起来像一堆这样: [ { 身份证号码:128, 用户:UUID-981729jqdwm91888r, 说明:{ 制片人:约翰·韦恩, 标题:阿拉莫, 年份:1960年 }, 预览:{ imageURL:1123

我正在寻找一个高效、健壮的工作流,将API响应中的数据转储到PostgreSQL数据库

详细说明 我可以访问一个项目,我可以向它发送一些图1,并将其作为数据提供给我

例如,当使用例如时,我可以使用API考虑的所有参数构建查询,例如,这些参数可能如下所示:

图1:中的请求示例

相应的响应看起来像一堆这样:

[ { 身份证号码:128, 用户:UUID-981729jqdwm91888r, 说明:{ 制片人:约翰·韦恩, 标题:阿拉莫, 年份:1960年 }, 预览:{ imageURL:11231068.jpg } }, { ... } ] 另一方面,我在a中有一个数据库,它的结构已经允许响应数据。例如,必须将先前结果中的所有单个胶片特征记录在表“胶片”中,如图2所示

图2:生成的PostgreSQL表的示例

问题是,我不知道从哪里开始,因为直到现在我总是通过我的网络浏览器或邮递员来查询API

总之,我必须在一组结构化的PostgreSQL表中转储API响应,如下所示:; 一个请求的API路由->一个具有多个功能的JSON响应->一个具有多行的PostgreSQL表 一行对应于响应特征之一

问题 从技术上讲,我怎么能做到这一点;有可能直接在SQL中构建API请求吗?我觉得这是一个非常糟糕的主意,还是出于安全原因或仅仅出于实用性,我必须使用其他语言或工具


在网上搜索这类东西时,我几乎总能找到如何对Postgres数据库进行API调用的答案,这显然不是我想要的

试着做一个可以

调用RESTAPI并获取数据 结构化数据库表的数据 然后将数据放入数据库中 您可以设置完成此作业的时间间隔/计划时间


您可以使用golang构建此服务或其他您熟悉的语言。

尝试创建一个可以

调用RESTAPI并获取数据 结构化数据库表的数据 然后将数据放入数据库中 您可以设置完成此作业的时间间隔/计划时间


您可以使用golang构建此服务或其他您熟悉的语言。

因此,如果我理解正确,您希望从web API获取数据,并将其转储到某种形式的数据库中,可能用于以后的数据处理

令我惊讶的是,在Postgres中确实存在这样一种东西,可以做您想做的事情,尽管您需要放宽纯SQL的要求。如果您愿意使用PL/PGSQL,那么可以添加一个用于Postgres的HTTP客户机

对于一个一次性脚本,并且您不介意在Postgres中使用过程语言扩展,我想这会很好。然而,明智地说,Python脚本将比PGSQL更安全、更简单,并且总体上更易于开发。就个人而言,我会选择Python路线,但我不是一名数据库管理员,这也是我的偏好

事实上,如果您不关心使用关系数据库的纯粹性或不太习惯,可以使用类似ORM的方法来简化此任务,然后通过一些前期工作将对象序列化为Python对象。如果不喜欢ORM,还可以使用SQLAlchemy来抽象和处理数据库连接和表设置


当然,如果您对SQL感到满意的话,还有更多的基本库可以设置到Postgres的数据库连接,包括对游标、准备好的语句等的支持。对于Python,有一个;对于JavaScript,有

所以如果我理解正确的话,您希望从web API获取数据并将其转储到某种形式的数据库中,可能用于以后的数据处理

令我惊讶的是,在Postgres中确实存在这样一种东西,可以做您想做的事情,尽管您需要放宽纯SQL的要求。如果您愿意使用PL/PGSQL,那么可以添加一个用于Postgres的HTTP客户机

对于一个一次性脚本,并且您不介意在Postgres中使用过程语言扩展,我想这会很好。然而,明智地说,Python脚本将比PGSQL更安全、更简单,并且总体上更易于开发。就个人而言,我会选择Python路线,但我不是一名数据库管理员,这也是我的偏好

事实上,如果您不关心使用关系数据库的纯粹性或不太习惯,可以使用类似ORM的方法来简化此任务,然后通过一些前期工作将对象序列化为Python对象。如果你不喜欢ORM,你也可以使用S QLachemy用于抽象和处理数据库连接和表设置

当然,如果您对SQL感到满意的话,还有更多的基本库可以设置到Postgres的数据库连接,包括对游标、准备好的语句等的支持。对于Python,有一个;对于JavaScript,有