test
1.8 KiB
1.8 KiB
WeHub 全资源 Demo
覆盖 WeHub Deploy Protocol 当前支持的全部 5 种资源的最小可运行标准项目。
CTyun E2E run ID:ctyun-e2e-20260730T101505Z
资源
| kind | name | 说明 |
|---|---|---|
static_site |
web |
frontend/dist/index.html,调 /api/cloud/health 展示绑定状态 |
function |
api |
functions/api/index.js 导出 handler,路由 /api/cloud/*,runtime nodejs20 |
postgres_database |
app_db |
app.demo_events 表读写 |
object_storage |
uploads |
presigned PUT/GET + 运行时凭证刷新 |
model_router |
models |
经 OpenAI 兼容 endpoint 单轮问答 |
路由
GET /api/cloud/health—— 报告 DB/存储/模型绑定是否配置。GET /api/cloud/db—— 建表 + 写一条app.demo_events记录。POST /api/cloud/presigned-upload—— 签发 presigned PUT/GET URL。POST /api/cloud/chat—— 经model_router单轮问答。
资源引用
wehub.manifest.json 中函数 env 用 ref:<resource>.<field> 引用逻辑资源输出:
DATABASE_URL:ref:app_db.connection_urlOBJECT_BUCKET/OBJECT_PREFIX/OBJECT_ENDPOINT/OBJECT_REGION:ref:uploads.*OBJECT_CREDENTIALS/OBJECT_CREDENTIALS_URL/OBJECT_CREDENTIALS_TOKEN/NANOHUB_RUNTIME_TOKEN:ref:uploads.*OPENAI_BASE_URL/OPENAI_API_KEY/OPENAI_MODEL:ref:models.*
函数把 OBJECT_ENDPOINT 直接作为 S3 endpoint,OBJECT_BUCKET 交给 AWS SDK 生成 bucket Host;运行时凭证经 OBJECT_CREDENTIALS_URL + token 刷新,camelCase/snake_case 归一化。
本地检查
仓库不需要预生成 deploy.zip。部署打包产物由 wehub-runner 在构建阶段生成。前端为预构建静态 HTML(无 package.json),runner 跳过前端构建;函数 package.json 存在时 runner 执行 npm ci --omit=dev。