更新时间:2025-08-12 GMT+08:00
分享

使用FunctionGraph函数访问RDS for MySQL操作步骤

前提条件

步骤一:创建函数依赖包

表1 依赖包文件下载

依赖包

依赖包概述

下载链接

pymysql

用Python编写的MySQL数据库连接器,其作用是让Python程序能够和MySQL数据库进行通信。

pymysql_py36-1.zipsha256校验文件

DBUtils

数据库连接池工具包,可以对数据库连接进行管理和复用。

dbutils_py36-1.zipsha256校验文件

  1. 登录函数工作流控制台,区域选择“华东-上海一”
  2. 在左侧导航栏选择“函数 > 依赖包管理”,进入“依赖包管理”界面。
  3. 单击“创建依赖包”,进入创建依赖包界面,参考表2分别创建“pymysql_py36”“dbutils_py36”依赖包。
    图1所示以创建pymysql依赖包为例,dbutils依赖包创建参数相同。
    表2 创建依赖包参数说明

    参数

    取值

    参数说明

    依赖包名称

    pymysql_py36

    自定义依赖包名称,便于识别不同的依赖包。

    可包含字母、数字、下划线、点和中划线,长度不超过96个字符。以大/小写字母开头,以字母或数字结尾。

    运行时

    Python 3.6

    选择依赖包的运行时语言。

    代码上传方式

    上传ZIP文件

    分为上传ZIP文件和从OBS上传ZIP文件。

    • 上传ZIP文件:单击“添加文件”,上传ZIP代码文件。上传的文件大小限制为10MB。
    • 从OBS上传文件:填写“OBS链接URL”。如何在OBS中上传文件对象请参见上传对象,OBS存储链接获取方法请参见通过URL访问对象

    文件上传

    单击“添加文件”,上传表1下载的zip包。

    选择上传ZIP文件后出现此参数,单击上传本地的ZIP文件。

    描述

    -

    自定义填写依赖包的描述信息。

    图1 创建依赖包

步骤二:创建函数

  1. 返回函数工作流控制台,在左侧导航栏选择“函数 > 函数列表”,单击“创建函数”
  2. 参考表3填写函数基本信息,基本信息填写完成如图2所示。
    表3 创建函数基本信息

    参数

    取值样例

    参数说明

    函数类型

    事件函数

    事件函数为可通过特定事件触发的函数,通常为JSON格式的请求事件。

    区域

    华东-上海一

    选择函数所在的区域。本实践以“华东-上海一”区域为例。

    函数名称

    access-mysql-demo

    输入自定义的函数名称,命名规则如下:

    • 可包含字母、数字、下划线和中划线,长度不超过60个字符。
    • 以大/小写字母开头,以字母或数字结尾。

    企业项目

    default

    选择函数所属的企业项目。企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。

    默认为“default”,支持选择已创建的企业项目。

    如果您没有开通企业管理服务,将无法看到企业项目选项。开通方法请参见如何开通企业项目

    委托

    VPC

    选择函数的委托。通过委托来授权函数工作流来访问其他云服务。

    本实践需配置函数访问VPC内资源,因此需选择包含“VPC Administrator”权限的委托。

    运行时

    Python 3.6

    选择用于编写函数的运行时语言。本实践以Python 3.6为例。

    图2 创建函数基本信息

  3. 参考表4填写函数高级设置信息,填写完成如图3所示,单击“立即创建”
    表4 创建函数高级设置

    参数

    取值样例

    参数说明

    函数访问公网

    未开启

    开启时,函数可以通过默认网卡访问公网上的服务,其公网访问带宽为用户间共享,仅适用于测试场景。

    函数访问VPC内资源

    开启。

    • VPC:vpc-fg(192.168.x.x/x)
    • 子网:subnet-fg(192.168.x.x/x)

    开启后可选择函数需访问的VPC及其子网。需选择与所创建RDS实例相同的VPC环境。

    开启时,函数将使用配置的VPC所绑定的网卡进行网络访问,同时禁用函数工作流的默认网卡,即开关“函数访问公网”参数将不生效。

    日志记录

    未开启

    启用日志功能后,函数运行过程中产生的日志会上报到云日志服务(LTS)。

    LTS将按需收取日志管理费用,详情请参见云日志服务价格详情

    图3 创建函数高级设置

步骤三:配置函数

  1. 成功创建函数后进入函数详情页,复制函数访问RDS MySQL示例代码,如图4所示粘贴在代码在线编辑器中覆盖“index.py”文件中的代码,单击“部署代码”

    本实践的示例代码实现了从RDS for MySQL实例数据库的user表中查询前10条记录的功能,请根据您数据库中的实际表名进行代码内容修改。

    图4 部署代码

  2. “代码”页签下,滑至页面最底部的“代码依赖包”板块,单击“添加依赖包”
  3. “选择依赖包”弹窗,如图5所示,“依赖包源”选择“私有依赖包”,分别添加步骤一:创建函数依赖包创建的“pymysql_py36”“dbutils_py36”依赖包。
    图5 选择依赖包

  4. 添加完成后如图6所示。
    图6 代码依赖包

  5. 单击“设置”页签,选择“常规设置”,调整“执行超时时间”“30”“内存”选择“256”,单击“保存”
    图7 函数常规设置

  6. “设置”页签下选择“环境变量”,单击“编辑环境变量”,在弹窗中单击添加环境变量,参考表5的说明列添加环境变量,添加完成后如图8所示,单击“确定”
    表5 环境变量

    值(示例)

    说明

    host

    192.168.x.x

    数据库实例的访问地址。

    • 如果您选择同VPC内的RDS数据库的场景,请将此环境变量值设置为数据库的内网地址
    • 如果您选择跨VPC或跨地域访问RDS数据库的场景,请将此环境变量值设置为数据库的外网地址

    RDS控制台操作步骤:进入目标RDS实例详情页,在左侧导航栏选择“连接管理”,在连接信息处获取数据库的内网地址或外网地址。

    database

    db_test

    RDS实例中创建的数据库名称。

    password

    ******

    RDS实例中设置的数据库密码。

    密码为敏感信息,建议开启加密参数。

    port

    3306

    RDS实例中设置的数据库端口。

    username

    fg_user

    RDS实例中创建的账号名称。

    图8 编辑环境变量

  7. “设置”页签下选择“生命周期”,如图9所示开启初始化配置,设置“初始化超时时间”“60”“函数初始化入口”“index.initializer”,单击“保存”
    图9 初始化配置

步骤四:测试函数

  1. 回到“代码”页签,单击“测试”弹出配置测试事件弹窗,选择“空白模板”,无需修改单击“创建”
  2. 图10所示单击“测试”,查看函数执行结果。
    根据示例代码,函数返回连接的RDS for MySQL实例数据库的user表中的前10条记录。
    图10 测试函数

相关文档