微搭低代码使用的是文档型数据库,有时候会有数据集成的需求,将低代码的数据库中的数据抽取到第三方系统中。本篇就介绍一下本地抽取数据以及云函数中抽取数据
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的两种方式,实际应用中根据需求自行选择即可。