Skip to main content

AnyService 轻量服务器如何访问云数据库和云存储

使用 AnyService 将服务部署到轻量服务器后,需要访问云开发的云数据库或云存储。本文介绍正确的认证方式和访问方法。

问题背景

AnyService 提供的是小程序到轻量服务器的访问通道。在轻量服务器中运行的后端服务(如 Node.js、.NET 等)如果需要访问云开发的云数据库或云存储,无法像云函数那样直接初始化就能使用。

解决方案

方案一:使用 API Key 访问(推荐)

通过服务端 API Key 进行认证访问:

1. 获取 API Key

  1. 登录 云开发控制台
  2. 进入【环境】-【环境设置】-【API 密钥】
  3. 创建服务端 API Key

2. 使用 API Key 初始化 SDK

// Node.js 示例
const cloudbase = require('@cloudbase/node-sdk');

const app = cloudbase.init({
env: 'your-env-id',
secretId: 'your-secret-id',
secretKey: 'your-secret-key',
});

// 访问数据库
const db = app.database();
const result = await db.collection('users').get();

// 访问云存储
const storage = app.storage();

方案二:使用 Publishable Key

对于前端或公开访问场景,可以使用 Publishable Key:

const cloudbase = require('@cloudbase/js-sdk');

const app = cloudbase.init({
env: 'your-env-id',
appSign: 'your-app-sign',
appSecret: {
appAccessKeyId: 'your-key-id',
appAccessKey: 'your-access-key',
},
});

网络说明

  • 轻量服务器访问云开发的云数据库和云存储,目前都是走外网
  • 不需要配置内网互联
  • 如果访问的是腾讯云的其他数据库产品(如云数据库 MySQL),则需要配置内网互联

注意事项

  1. 保护好密钥:API Key 具有完整的访问权限,请妥善保管
  2. 环境变量存储:建议将密钥存储在环境变量中,不要硬编码
  3. 安全规则:数据库安全规则对服务端 API Key 不生效,请在代码中做好权限控制

相似问题

  1. AnyService 如何访问云数据库?
  2. 轻量服务器怎么调用云开发 SDK?
  3. 非云函数环境如何访问云开发资源?
  4. API Key 和 Publishable Key 有什么区别?
  5. 轻量服务器访问云数据库走内网还是外网?
  6. AnyService 需要配置内网互联吗?
  7. Node.js 服务如何初始化云开发 SDK?
  8. 服务端 API Key 如何获取?
  9. 后端服务访问云存储需要登录吗?
  10. 轻量服务器调用云开发有并发限制吗?

相关文档