Azure Cosmos DB Playground:在浏览器中学习和实验查询

发布: (2026年1月14日 GMT+8 15:04)
5 min read
原文: Dev.to

Source: Dev.to

交互式基于浏览器的环境,用于学习、测试和分享查询

Azure Cosmos DB Playground 是一个交互式、基于浏览器的工具,可用于学习和实验 Azure Cosmos DB SQL 查询——无需设置、安装或云费用。它运行在 Azure Cosmos DB vNext 仿真器上,背后使用开源的 codapi 项目。

该 Playground 适用于:

  • 探索预加载的数据集和可直接运行的查询示例
  • 粘贴或上传自己的 JSON 数据,以测试自定义场景
  • 实时查看查询结果,并在运行时修改数据或查询
  • 生成可分享的链接,捕获当前的数据集和查询
  • 页面刷新后自动恢复上一次会话
  • 将交互式、可运行的示例嵌入 HTML 文件,用于文档、博客或教程

注意: 这是一个实验性项目,并非 Microsoft 或 Azure 的官方产品。它旨在用于学习和分享,而非生产环境使用。

快速演示

▶️ 播放演示

入门

访问托管的 Playground 并立即开始实验:

部署您自己的实例

您可以在 Azure 上或使用 Docker Compose 在本地运行 playground。该项目已完全容器化;请遵循 GitHub 仓库中的部署说明来设置您自己的实例。

  • HTTP(s) 访问配置: 请参阅 GitHub 说明以启用安全访问。

Playground 功能

  • 预加载的数据集及示例查询
  • 上传或粘贴自定义 JSON 数据
  • 即时结果显示和实时编辑
  • 可分享的 URL,保留状态
  • 自动会话恢复
  • 可嵌入的交互式示例

功能可能会演变——请查看 GitHub 仓库获取最新列表。

架构概览

+-------------------+        +-------------------+        +-------------------+
|   User Browser    |   |      nginx        |   |     Codapi        |
| (playground.html) |        | (Reverse Proxy)   |        | (Sandbox Server)  |
+-------------------+        +-------------------+        +-------------------+
                                                            |
                                                            v
                                                +--------------------------+
                                                |  Ephemeral Query Container|
                                                |  (Python + Cosmos SDK)    |
                                                +--------------------------+
                                                            |
                                                            v
                                                +--------------------------+
                                                | Cosmos DB Emulator       |
                                                | (Docker Container)       |
                                                +--------------------------+

核心组件

Azure Cosmos DB vNext 仿真器

本地 Docker 容器,模拟 Azure Cosmos DB(SQL API)服务,使您能够在无需任何云资源的情况下实验查询和数据模型。

Codapi

一个轻量级沙盒服务器,用于交互式文档和代码示例。在演示环境中,Codapi:

  • 为每次查询执行管理隔离的 Docker 容器
  • 为前端提供 JavaScript 小部件(codapi-js
  • 在短暂的环境中执行用户代码,以确保隔离

查询执行流程

  1. nginx 为前端提供服务,并将 API 请求转发给 Codapi。
  2. 对于每一次查询运行,Codapi 会生成一个 临时查询 Docker 容器
  3. 在该容器内部,Python 组件连接到长期运行的 Cosmos DB 仿真器。
  4. 创建一个临时的 Cosmos DB 容器,使用用户的数据进行种子初始化,执行查询并返回结果。
  5. 执行完毕后,临时的 Cosmos DB 容器和查询容器都会被清理。

限制

  • 设计用于较小规模的数据集;在更大数据量下性能可能下降。
  • 不适用于生产工作负载。
  • 限制和约束可能会变化——请参阅 GitHub 仓库获取最新信息。

反馈与贡献

有建议或想要贡献?访问 GitHub 仓库,打开 issue,或提交 pull request。

查询愉快!

Back to Blog

相关文章

阅读更多 »

Rapg:基于 TUI 的密钥管理器

我们都有这种经历。你加入一个新项目,首先听到的就是:“在 Slack 的置顶消息里查找 .env 文件”。或者你有多个 .env …

技术是赋能者,而非救世主

为什么思考的清晰度比你使用的工具更重要。Technology 常被视为一种魔法开关——只要打开,它就能让一切改善。新的 software,...

踏入 agentic coding

使用 Copilot Agent 的经验 我主要使用 GitHub Copilot 进行 inline edits 和 PR reviews,让我的大脑完成大部分思考。最近我决定 t...