跳到主要内容

云函数调用方式

CloudBase 云函数支持多种调用方式,满足不同场景和平台的需求。您可以根据实际情况选择最适合的调用方式。

调用方式概览

调用方式适用场景特点
SDK 调用小程序、Web 应用、移动应用简单易用,自动处理认证
HTTP API跨语言调用、第三方系统集成标准 REST API,支持所有语言
Web 客户端浏览器环境、前端应用支持 CORS,直接 HTTP 访问
小程序调用微信小程序原生支持,无需额外配置

SDK 调用

通过 CloudBase SDK 调用云函数是最简单的方式,SDK 会自动处理认证和请求封装。

Web SDK 调用

import tcb from '@cloudbase/js-sdk';

// 初始化
const app = tcb.init({
env: 'your-env-id'
});

// 调用云函数
async function callFunction() {
try {
const result = await app.callFunction({
name: 'hello-world',
data: {
name: 'CloudBase',
message: 'Hello from Web'
}
});

console.log('调用成功:', result);
return result.result;
} catch (error) {
console.error('调用失败:', error);
throw error;
}
}

// 使用示例
callFunction().then(result => {
console.log('函数返回:', result);
});

Node.js SDK 调用

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

// 初始化
const app = tcb.init({
env: 'your-env-id',
secretId: 'your-secret-id',
secretKey: 'your-secret-key'
});

// 调用云函数
async function callFunction() {
try {
const result = await app.callFunction({
name: 'hello-world',
data: {
name: 'CloudBase',
message: 'Hello from Node.js'
}
});

return result.result;
} catch (error) {
console.error('调用失败:', error);
throw error;
}
}

小程序 SDK 调用

// 小程序中调用云函数
wx.cloud.callFunction({
name: 'hello-world',
data: {
name: 'CloudBase',
message: 'Hello from MiniProgram'
},
success: res => {
console.log('调用成功:', res.result);
},
fail: err => {
console.error('调用失败:', err);
}
});

// 使用 Promise 方式
async function callFunction() {
try {
const result = await wx.cloud.callFunction({
name: 'hello-world',
data: { message: 'Hello' }
});

return result.result;
} catch (error) {
console.error('调用失败:', error);
throw error;
}
}

SDK 调用优势

  • 自动认证 - SDK 自动处理用户认证和权限验证
  • 错误处理 - 统一的错误处理和重试机制
  • 类型安全 - TypeScript 支持,提供完整的类型定义
  • 简单易用 - 封装了底层 HTTP 请求细节

选择调用方式

根据场景选择

  • 小程序开发 → 使用小程序 SDK 调用
  • Web 应用开发 → 使用 Web SDK 调用
  • 服务端开发 → 使用 Node.js SDK 调用
  • 第三方系统集成 → 使用 HTTP API 调用
  • 前端直接访问 → 使用 Web 客户端调用

性能对比

调用方式性能易用性功能完整性
SDK 调用⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
HTTP API⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Web 客户端⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
小程序调用⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐

相关文档