openeuler-intelligence-sandbox API完全指南:轻松集成代码执行能力到你的应用
【免费下载链接】openeuler-intelligence-sandboxCode execution service for openEuler Intelligence supported multiple programming languages项目地址: https://gitcode.com/openeuler/openeuler-intelligence-sandbox
前往项目官网免费下载:https://ar.openeuler.org/ar/
openeuler-intelligence-sandbox是一个为openEuler Intelligence打造的代码执行服务,支持多种编程语言。通过其强大的API接口,开发者可以轻松地将安全可靠的代码执行能力集成到自己的应用中,实现从简单脚本运行到复杂多语言代码执行的各种需求。
🌟 核心API概览
openeuler-intelligence-sandbox提供了一系列RESTful API接口,涵盖代码执行、任务管理、系统监控等核心功能。以下是主要API端点的快速参考:
- 代码执行:
POST /execute- 提交代码执行任务 - 任务状态:
GET /task/{task_id}/status- 查询任务执行状态 - 执行结果:
GET /task/{task_id}/result- 获取任务执行结果 - 任务取消:
DELETE /task/{task_id}- 取消正在执行的任务 - 系统状态:
GET /system/status- 获取系统整体运行状态
当服务启动后,你可以通过访问http://{host}:{port}/docs查看完整的API文档,其中包含每个接口的详细参数说明和使用示例。
🚀 快速开始:提交你的第一个代码执行任务
准备工作
在使用API之前,需要确保openeuler-intelligence-sandbox服务已经正确启动。你可以通过以下命令克隆仓库并启动服务:
git clone https://gitcode.com/openeuler/openeuler-intelligence-sandbox cd openeuler-intelligence-sandbox # 安装依赖 pip install -r requirements.txt # 启动服务 python start_service.py服务启动后,会显示API文档的访问地址,通常为http://localhost:8000/docs。
提交代码执行请求
使用POST /execute接口可以提交代码执行任务。以下是一个基本的请求示例:
{ "code": "print('Hello, openeuler-intelligence-sandbox!')", "language": "python", "security_level": "low", "timeout": 5 }这个请求会提交一段Python代码,设置安全级别为低,超时时间为5秒。服务会返回一个包含任务ID的响应,你可以使用这个ID来查询任务状态和结果。
查询任务状态和结果
提交任务后,可以使用GET /task/{task_id}/status接口查询任务状态。任务状态可能为"pending"(等待中)、"running"(执行中)或"completed"(已完成)。
当任务状态为"completed"时,可以通过GET /task/{task_id}/result接口获取执行结果,包括输出内容、执行时间、内存使用等信息。
🔒 安全特性:多层防护机制
openeuler-intelligence-sandbox在设计时就注重安全性,提供了多层防护机制来确保代码执行的安全性。
危险API屏蔽
系统会自动检测并屏蔽危险的API和模块,例如在JavaScript执行器中,会检查并阻止使用危险的API调用。相关实现可以在app/executor/secure_js_executor.py中找到。
容器化执行
对于更高安全级别的需求,系统支持基于Kubernetes的容器化执行方式。这种方式可以提供更强的隔离性和安全性,相关实现位于app/executor/container_executor.py。
📊 高级功能:任务队列和执行器管理
openeuler-intelligence-sandbox还提供了任务队列管理和执行器状态监控的功能,帮助你更好地管理和优化代码执行流程。
任务队列信息
通过GET /queues/info接口可以获取当前任务队列的信息,包括队列长度、等待时间等统计数据,帮助你了解系统负载情况。
执行器状态
使用GET /executors/status接口可以查看各个执行器的状态,包括执行器类型、当前负载、执行统计等信息,有助于你进行性能优化和问题排查。
🛠️ 集成建议
错误处理
在集成API时,建议充分考虑错误处理机制。系统可能会返回各种HTTP异常,如任务不存在、执行超时等,你的应用应该能够妥善处理这些情况。
异步处理
由于代码执行可能需要一定时间,建议采用异步方式处理API请求。提交任务后,定期查询任务状态,而不是一直阻塞等待结果。
安全最佳实践
- 根据代码来源和内容选择合适的安全级别
- 始终设置合理的超时时间,避免长时间运行的任务占用资源
- 对执行结果进行适当的验证和清洗,避免展示未经处理的输出内容
📚 更多资源
- 项目源代码:openeuler/openeuler-intelligence-sandbox
- 测试用例:tests/ - 包含各种API接口的测试示例
- 执行器实现:app/executor/ - 不同语言和安全级别的执行器实现
通过本指南,你应该已经了解了openeuler-intelligence-sandbox API的基本使用方法和核心功能。开始将代码执行能力集成到你的应用中,体验快速、安全、可靠的代码执行服务吧!
【免费下载链接】openeuler-intelligence-sandboxCode execution service for openEuler Intelligence supported multiple programming languages项目地址: https://gitcode.com/openeuler/openeuler-intelligence-sandbox
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考