
# 使用FunctionGraph函数访问RDS for MySQL案例概述
#### 场景介绍
在FunctionGraph中，不同函数实例间不共享状态，而数据库可实现结构化数据的持久化存储，进而实现状态共享。通过FunctionGraph访问云上数据库，可执行数据查询和数据插入等操作。
本文介绍如何在 FunctionGraph 中高可靠地访问RDS for MySQL并进行数据查询操作，同时提供[示例代码](https://support.huaweicloud.com/bestpractice-functiongraph/functiongraph_05_1163.html)供测试使用。示例代码中运用了[数据库连接池和重试机制](https://support.huaweicloud.com/bestpractice-functiongraph/functiongraph_05_1164.html)，可有效提升数据库操作的性能与可靠性，以此展示在 FunctionGraph 中安全和高RDS for MySQL 数据库的方法。
#### 资源与成本规划
[表1]介绍使用FunctionGraph访问RDS for MySQL实践所需的资源和成本规划。
 表1资源和成本规划 
| **资源**              | **资源说明**                                                                                                                                                                                                                                                                                                                                                                                                                    | **计费说明**                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| 函数工作流 FunctionGraph | - 函数类型：事件函数  - 示例区域：华东-上海一  - 创建量：1                                                                                       | - 计费模式：按需计费。  - 函数工作流提供免费试用，每月前100万次调用免费。具体计费项及说明请参考[函数工作流按需计费说明](https://support.huaweicloud.com/price-functiongraph/functiongraph_00_0010.html)。   |
| 云数据库 RDS            | - 示例区域：华东-上海一  - 资源选配：MySQL  - 购买量：1                                                                                       | - 计费模式：按需计费。  - 具体性能规格配置请根据业务需求选择，计费项及计费标准请参考[云数据库RDS for MySQL按需计费说明](https://support.huaweicloud.com/price-rds-mysql/rds_00_0005.html)。            |
| 虚拟私有云 VPC           | - 示例区域：华东-上海一  - 子网数量：1  - 安全组数量：1  - 购买量：1   | - 虚拟私有云：免费。  - 子网：免费。  - 安全组：免费。                              |
   
#### 操作流程
介绍使用FunctionGraph函数访问RDS for MySQL的整体操作流程，具体操作指导请参考[使用FunctionGraph函数访问RDS for MySQL操作步骤](https://support.huaweicloud.com/bestpractice-functiongraph/functiongraph_05_1162.html)。
表2函数访问RDS for MySQL操作流程 
| 操作步骤                                                                                                                                             | 步骤说明                                                                          |
|:---|:---|
| [前提条件](https://support.huaweicloud.com/bestpractice-functiongraph/functiongraph_05_1162.html#functiongraph_05_1162__section17996791009)          | 进行本实践前，需已有可用的VPC网络环境、RDS for MySQL实例及其数据库和表；并已创建包含"VPC Administrator"权限的函数委托。 |
| [步骤一：创建函数依赖包](https://support.huaweicloud.com/bestpractice-functiongraph/functiongraph_05_1162.html#functiongraph_05_1162__section1382023517308) | 本实践使用Python示例代码实现数据库连接访问，代码依赖pymysql和DBUtils包，需将这些依赖包上传至函数工作流控制台，供后续函数调用。     |
| [步骤二：创建函数](https://support.huaweicloud.com/bestpractice-functiongraph/functiongraph_05_1162.html#functiongraph_05_1162__section143665239362)     | 在函数工作流控制台，创建用于访问RDS for MySQL的函数。                                             |
| [步骤三：配置函数](https://support.huaweicloud.com/bestpractice-functiongraph/functiongraph_05_1162.html#functiongraph_05_1162__section1068611916815)    | 进入已创建函数的详情页中配置函数代码、依赖包及相关函数设置。                                                |
| [步骤四：测试函数](https://support.huaweicloud.com/bestpractice-functiongraph/functiongraph_05_1162.html#functiongraph_05_1162__section1688013265413)    | 测试函数是否能成功访问RDS for MySQL实例中数据库表的记录。                                           |
   
