当前位置: 首页 > 知识库问答 >
问题:

从Node.js云函数插入Google Cloud SQL

陆俊捷
2023-03-14

我有一个运行MySQL第二代的Google Cloud SQL实例和一个Node.js云函数。

index.js

const mysql = require('mysql');

const connectionName = process.env.INSTANCE_CONNECTION_NAME || '';
const dbUser = process.env.SQL_USER || '';
const dbPassword = process.env.SQL_PASSWORD || '';
const dbName = process.env.SQL_NAME || '';

const mysqlConfig = {
  connectionLimit: 1,
  user: dbUser,
  password: dbPassword,
  database: dbName
};

if (process.env.NODE_ENV === 'production') {
  mysqlConfig.socketPath = `/cloudsql/${connectionName}`;
}

let mysqlPool;

exports.populateDatabase = (req, res) => {
  if (!mysqlPool) {
    mysqlPool = mysql.createPool(mysqlConfig);
  }

  mysqlPool.query('CREATE TABLE entries (guestName VARCHAR(255), content VARCHAR(255),' +
                  'entryID INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(entryID));' + 
                  'INSERT INTO entries (guestName, content) values (`first guest`, `I got here!`);' + 
                  'INSERT INTO entries (guestName, content) values (`second guest`, `Me too!`);', (err, results) => {
    if (err) {
      console.error(err);
      res.status(500).send(err);
    } else {
      res.send(JSON.stringify(results));
    }
  });

};

共有1个答案

崔涵亮
2023-03-14

您要向。query()方法调用传递几条语句。默认情况下,不允许使用多个语句。

可以启用多个语句查询,但要注意这会带来潜在的安全风险。

 类似资料:
  • 目前知晓云云函数支持的 Node.js 开发语言包括如下版本: Node.js 8.9 代码编写格式 在云函数中使用 Node.js 编程,需要定义一个 Node.js 函数作为入口,一个简单的函数定义如下: exports.main = function helloWorld(event, callback) { let name = event.data.name callback(n

  • BaaS.invokeFunction(functionName, params, sync) 参数说明 参数 类型 必填 描述 functionName Number 是 云函数名 params Object 否 传递给云函数的参数 sync Bool 否 是否等待返回函数执行结果,默认为 true 返回参数说明 参数 类型 描述 code Number code 为 0 时表示成功执行云函数,

  • 实例化一个 BaaS.File 对象,以下操作都是在该对象上进行操作,如下进行实例化: let MyFile = new BaaS.File() 获取文件详情 MyFile.get(fileID) 参数说明 参数 类型 必填 说明 fileID Number Y 文件 id 返回参数说明 res.data: 参数 类型 说明 category Object 包含文件分类信息,详见以下 cdn_pa

  • 新增数据项 更新数据项 删除数据项 获取数据项 查询数据项 分页和排序 地理位置操作

  • 以下操作都需指明操作的内容库,方法如下: let MyContentGroup = new BaaS.ContentGroup(contentGroupID) 参数说明 参数 类型 必填 说明 contentGroupID Number 是 内容库 ID 获取内容详情 MyContentGroup.getContent(richTextID) 参数说明 参数名 类型 必填 说明 richTextI

  • 除了调用我们的云函数 SDK 之外,你可能需要发起一些网络请求,你可以调用 BaaS.request 发起请求,实际上 BaaS.request 是对 axios 开源网络请求库的封装,请求示例如下: exports.main = function testSDKNetwork(event, callback) { BaaS.request.get('http://ip.taobao.com/