应用开发教程¶
使用已有的movie数据集,开发一个电影演员查询服务。应用接收电影编号,通过GET /movies/{movie_id}/actors接口返回电影名称及参演演员的 JSON 数据。
适用读者¶
适合了解 Python 基本语法、希望将数据库查询接入应用的开发者。教程使用 FastAPI 提供 HTTP 接口,无需提前学习该框架。示例只查询已有数据,不创建或修改图数据。
选择连接方式¶
| 教程 | 悦数图数据库开发版连接方式 | 主要内容 |
|---|---|---|
| 使用 Python SDK 构建查询服务 | Python SDK,端口9669 |
通过客户端执行查询、读取结果集 |
| 使用 REST API 构建查询服务 | HTTP,端口19669(预览功能) |
获取 JWT 令牌、发送查询请求、读取响应 |
两篇教程实现相同的应用接口,任选一篇即可。首次使用可先选择 Python SDK;需要通过 HTTP 访问悦数图数据库开发版时,选择 REST API。两篇均提供完整代码下载。
准备悦数图数据库开发版¶
- 按使用 Docker Compose 部署开发版启动悦数图数据库开发版。
- 按连接并完成首次查询加载
movie,确认能查询编号为3的电影及其演员。已加载成功时,继续使用现有数据。 - 准备悦数图数据库开发版用户名和密码。本地练习可使用
root和部署时设置的实际密码,设置与转义规则见设置 root 密码。修改过密码时,使用新密码。
示例固定访问/default_schema/movie。数据位于其他 Schema 时,需修改示例文件中两条查询的图路径。
请求流程¶
flowchart LR
caller["浏览器或 curl"] -->|"HTTP · 8100"| app["电影演员查询服务<br/>FastAPI"]
app -->|"Python SDK · 9669<br/>或 REST API · 19669"| database["图数据库<br/>movie 图"]
浏览器或curl调用应用的8100端口,应用再访问悦数图数据库开发版。应用负责校验电影编号、执行查询和返回 JSON,悦数图数据库开发版用户名、密码及 JWT 令牌由应用保存和使用。
示例应用默认监听127.0.0.1,可从应用所在电脑访问。通过 SSH 在远端运行应用时,按所选教程中的端口转发说明访问。