AnyService 轻量服务器如何访问云数据库和云存储
使用 AnyService 将服务部署到轻量服务器后,需要访问云开发的云数据库或云存储。本文介绍正确的认证方式和访问方法。
问题背景
AnyService 提供的是小程序到轻量服务器的访问通道。在轻量服务器中运行的后端服务(如 Node.js、.NET 等)如果需要访问云开发的云数据库或云存储,无法像云函数那样直接初始化就能使用。
解决方案
方案一:使用 API Key 访问(推荐)
通过服务端 API Key 进行认证访问:
1. 获取 API Key
- 登录 云开发控制台
- 进入【环境】-【环境设置】-【API 密钥】
- 创建服务端 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),则需要配置内网互联
注意事项
- 保护好密钥:API Key 具有完整的访问权限,请妥善保管
- 环境变量存储:建议将密钥存储在环境变量中,不要硬编码
- 安全规则:数据库安全规则对服务端 API Key 不生效,请在代码中做好权限控制
相似问题
- AnyService 如何访问云数据库?
- 轻量服务器怎么调用云开发 SDK?
- 非云函数环境如何访问云开发资源?
- API Key 和 Publishable Key 有什么区别?
- 轻量服务器访问云数据库走内网还是外网?
- AnyService 需要配置内网互联吗?
- Node.js 服务如何初始化云开发 SDK?
- 服务端 API Key 如何获取?
- 后端服务访问云存储需要登录吗?
- 轻量服务器调用云开发有并发限制吗?