AWS Lambda
开发人员指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

步骤 2.1:创建部署程序包

注意

目前,只提供使用 Python 编写的 Lambda 函数的示例代码。

Python

以下 Python 代码示例针对您在 VPC 中创建的 MySQL RDS 实例中的 Employee 表运行 SELECT 查询。该代码在 ExampleDB 数据库中创建表,添加示例记录,并检索这些记录。

  1. 打开文本编辑器,然后复制以下代码。

    Copy
    import sys import logging import rds_config import pymysql #rds settings rds_host = "rds-instance-endpoint" name = rds_config.db_username password = rds_config.db_password db_name = rds_config.db_name logger = logging.getLogger() logger.setLevel(logging.INFO) try: conn = pymysql.connect(rds_host, user=name, passwd=password, db=db_name, connect_timeout=5) except: logger.error("ERROR: Unexpected error: Could not connect to MySql instance.") sys.exit() logger.info("SUCCESS: Connection to RDS mysql instance succeeded") def handler(event, context): """ This function fetches content from mysql RDS instance """ item_count = 0 with conn.cursor() as cur: cur.execute("create table Employee3 ( EmpID int NOT NULL, Name varchar(255) NOT NULL, PRIMARY KEY (EmpID))") cur.execute('insert into Employee3 (EmpID, Name) values(1, "Joe")') cur.execute('insert into Employee3 (EmpID, Name) values(2, "Bob")') cur.execute('insert into Employee3 (EmpID, Name) values(3, "Mary")') conn.commit() cur.execute("select * from Employee3") for row in cur: item_count += 1 logger.info(row) #print(row) return "Added %d items from RDS MySQL table" %(item_count)

    注意

    我们建议按照所示方式在处理程序之外执行 pymysql.connect(),以便获得更好的性能。

  2. 将该文件保存为 app.py

  3. 使用 pip 安装以下库依赖项:

    • pymysql - Lambda 函数代码使用此库来访问您的 MySQL 实例(请参阅 PyMySQL)。

  4. 创建包含以下信息的配置文件并将其保存为 rds_config.py

    Copy
    #config file containing credentials for rds mysql instance db_username = "username" db_password = "password" db_name = "databasename"
  5. 将所有这些文件压缩成名为 app.zip 的文件来创建您的部署程序包。如需分步指导,请参阅 创建部署程序包 (Python)

下一步

步骤 2.2:创建执行角色(IAM 角色)

本页内容: