上云无忧 > 文档中心 > 配置百度智能云函数计算CFC以访问百度云中的RDS
函数计算CFC
配置百度智能云函数计算CFC以访问百度云中的RDS

文档简介:
关系型数据库RDS,英文全称Relational Database Service是一个专业化的高性能、高可靠云数据库服务,支持Mysql、SQL Server、PostgreSQL引擎,提供简易方便的Web界面管理、可靠的数据备份和恢复、完备的安全管理、完善的监控等功能。 在本教程中,您将执行以下操作:
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

关系型数据库RDS,英文全称Relational Database Service是一个专业化的高性能、高可靠云数据库服务,支持Mysql、SQL Server、PostgreSQL引擎,提供简易方便的Web界面管理、可靠的数据备份和恢复、完备的安全管理、完善的监控等功能。 在本教程中,您将执行以下操作:

  • 创建您的百度云MySQL 数据库引擎实例(仅Mysql5.7以上支持CFC访问)。在 MySQL 实例中,您将创建一个数据库 (exampledb),其中包含一个示例表 (employee)。 关于RDS的更多信息,请参阅百度云RDS。
  • 创建一个 CFC 函数来访问 ExampleDB 数据库,创建一个表 (Employee),添加几个记录,然后检索表中的记录。
  • 手动调用 CFC 函数并验证查询结果。这样您可以验证您的 CFC 函数是否可以访问 VPC 中的 RDS MySQL 实例。

创建RDS

在本教程中,您的CFC函数将创建一个表 (Employee),插入一些记录,然后检索这些记录。CFC函数创建的表具有以下结构:

Employee(EmpID, Name)

首先,您需要启动RDS Mysql5.7 实例。如果您在百度云上存在RDS Mysql5.7 实例,请跳过此步骤。

  • 您可以使用百度云控制台启动百度云的RDS MySQL 实例 参见创建RDS for Mysql主实例
  • 创建RDS之后,请开通公网访问和设置SSL加密
  • 创建数据库exampledb

  • 创建用户

  • 记下数据库名称、用户名称和密码。您还需要数据库实例的公网地址和CA证书,您可以从 RDS 控制台获取该信息(您可能需要等待,直到实例状态变为可用并且终端节点值显示在控制台中)。

创建CFC函数

1.登录百度云平台官网。登录成功后,选择“产品服务>云函数计算 CFC”,进入“函数列表”页面,点击创建函数,进入创建函数界面

2.填写函数名称、描述,并根据需要选择运行语言,本教程以Nodejs 6.11的运行语言为例。

3.选择“编辑类型”,编辑类型分为:在线编辑和上传.ZIP文件两种,本教程将通过上传.ZIP文件方式创建函数, 首先在创建example目录,进入此目录执行以下npm命令

npm init 
   npm install mysql --save

打开您的本地文本编辑器,并编写您的代码。保存文件(例如,index.js)。 在创建 cfc 函数时,您将使用此文件名指定处理程序。

var fs = require('fs'); var mysql = require('mysql'); var connection = mysql.createConnection(
{ host: 'mysql57.rdsm2st64lnr7lj.rds.bj.baidubce.com', //上文中的受保护地址或公网域名 user: 
'testuser', password: 'password', database: 'exampledb', ssl: { ca: fs.readFileSync(__dirname + '/ca.pem') } }); 
connection.connect(); console.log('connected!') exports.handler = (event, context, callback) => { var p 
= new Promise(function(resolve, reject){ var employeeAddSql = 'INSERT INTO employee(Name) VALUES(?)';
 var employeeAddSqlParams = ['LiLei']; connection.query('CREATE TABLE IF NOT EXISTS employee 
( EmpID  int NOT NULL AUTO_INCREMENT, Name varchar(255) NOT NULL, PRIMARY KEY (EmpID))',
 function (error, results) { if (error) { console.log(error); reject(error) }; });
 connection.query(employeeAddSql,employeeAddSqlParams, function (error, results) { if (error) 
{ console.log(error); reject(error) }; console.log("success"); resolve(results); }); 
}); p.then(function (value) { callback(null, value); },function (reason) { callback(null, reason); }) };

注意

为了获得更好的性能,connection.connect();放在了处理程序之外执行。

将CA证书放入同一目录,目录结构如下

.
├── ca.pem
├── index.js
├── node_modules
├── package-lock.json
└── package.json

压缩文件夹的内容,即您的部署程序包(例如,example.zip)。 进入目录

zip -r  example.zip *

然后,在创建您的CFC函数时指定此选择上传.ZIP文件,上传此zip包

4.环境变量,您还可以自定义函数执行时的环境变量。环境变量的总长度不能超过 4KB。

测试函数

点击右上角的测试,进行函数测试

在弹窗中点击执行

相似文档
  • 当前,百度智能小程序已经全面具备了云开发能力,为开发者提供了一种 Serverless 的小程序开发模式,主要包含了云函数,云存储,云数据库三大部分功能, 其中云函数的功能即由CFC提供了背后支持, 本篇文档将向您介绍一下关于云函数的使用建议。
  • CFC函数计算定时读取物联网智能家电设备上报到IoT平台的最新数据,调用天气API获取指定位置的天气信息、空气质量、紫外线等指数,智能控制远程设备,如根据温度指数,自动开启空调;根据PM2.5指数,自动开启、调节空气净化器。IoT平台结合函数计算,能快速有效地控制远程物联网设备,大大降低开发成本。
  • 本文介绍了使用百度云函数计算,结合 BOS 和百度云图像效果增强能力,实现图像文件的自动处理,并通过 Terraform 实现应用的快速部署。
  • 在我们进行Web API的相关开发过程中,偶尔需要对系统进行 API 的增加或者迁移,在系统逻辑较为复杂的情况下,进行 API 的扩充或者迁移往往工作量较大。此时,使用 CFC 以及百度云 TableStorage 则可以简单地实现 API 的托管,从而减少系统的负载,同时增加接口的可移植性。
  • 百度云CFC Flask框架模版旨在实现flask-web serverless化,用户可通过该模版的示例代码,使用url去访问函数。 使用场景: Flask-web应用,如Flask url构建。 环境准备: 安装Python3及以上运行环境。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部