微搭低代码使用的是文档型数据库,有时候会有数据集成的需求,将低代码的数据库中的数据抽取到第三方系统中。本篇就介绍一下本地抽取数据以及云函数中抽取数据
1 本地抽取数据
本地抽取数据我们以nodejs作为后端服务,本机要求先安装好nodejs。
然后在电脑上创建一个文件夹,并且创建一个index.js,使用vscode打开我们的工程目录
index的代码如下
const EnvId = ''; // 环境 ID,例如 lowcode-2gay8jgh25
const SecretId = '';
const SecretKey = '';const Koa = require('koa');
const axios = require('axios');
const app = new Koa();// 域名
const domain = `https://${EnvId}.ap-shanghai.tcb-api.tencentcloudapi.com`;app.use(async (ctx) => { // 换取 AccessToken console.log(domain)console.log(`Basic ${Buffer.from(`${SecretId}:${SecretKey}`).toString('base64')}`)const params = { grant_type: 'client_credentials' }; const response=await axios.post(`${domain}/auth/v1/token/clientCredential`, params, { headers: { 'Authorization': `Basic ${Buffer.from(`${SecretId}:${SecretKey}`).toString('base64')}` } }) console.log("response",response.data)const { data } = response; const { access_token } = data; console.log(access_token)// 请求某个服务端 API const response2 = await axios.get(`${domain}/weda/odata/v1/prod/sys_user`, { headers: { "Authorization": `Bearer ${access_token}` } }); ctx.body = response2.data;
});
app.listen(3000);
这里涉及到参数初始化的问题,首先获取我们的资源ID,打开控制台,找到资源ID
然后获取我们的密钥
然后安装好axios和koa
npm install koa
npm install axios
安装好之后我们在终端里输入
node index.js
启动服务,在postman里访问我们的接口,接口地址http://localhost:3000
2 云函数中抽取数据
云函数,可以使用腾讯云的SCF,我们以微搭的云函数作为示例
代码如下:
'use strict';
const axios = require('axios');
const EnvId = ''; // 环境 ID,例如 lowcode-2gay8jgh25
const SecretId = '';
const SecretKey = '';
const domain = `https://${EnvId}.ap-shanghai.tcb-api.tencentcloudapi.com`;
exports.main = async (event, context) => {const params = { grant_type: 'client_credentials' }; const response=await axios.post(`${domain}/auth/v1/token/clientCredential`, params, { headers: { 'Authorization': `Basic ${Buffer.from(`${SecretId}:${SecretKey}`).toString('base64')}` } }) console.log("response",response.data)const { data } = response; const { access_token } = data; console.log(access_token)// 请求某个服务端 API const response2 = await axios.get(`${domain}/weda/odata/v1/prod/sys_user`, { headers: { "Authorization": `Bearer ${access_token}` } }); console.log(response2.data)return response2.data
};
我们在云上开发,需要编写package.json,代码如下
{"name": "app","version": "1.0.0","description": "","main": "index.js","scripts": {},"author": "","license": "ISC","dependencies": {"@cloudbase/node-sdk": "latest","axios":"latest"}
}
点击保存并安装依赖,测试即可
总结
我们本篇介绍了集成微搭低代码后端API的两种方式,实际应用中根据需求自行选择即可。