nav-img
Advanced
FunctionGraph

Как с помощью функций FunctionGraph получить доступ к MySQL?

FunctionGraph интегрирован с сервисом VPC, если ваша БД MySQL находится в той же сети, функции сервиса смогут получить доступ к MySQL.

Общедоступные зависимости (public dependencies) предоставляемые FunctionGraph включают в себя библиотеку PyMySQL. Чтобы добавить библиотеку PyMySQL в функцию, выполните следующие действия:

  1. В консоли управления выберите Computing → FunctionGraph.

  2. В меню слева выберите Functions → Function List.

  3. Нажмите на имя нужной функции.

  4. Перейдите на вкладку Code (a).

  5. В поле Dependencies нажмите Add (b).

  6. Активируйте опцию с нужной зависимостью (c).

  7. Нажмите кнопку OK (d).

    ../_images/s__mysql.jpeg
  8. Введите следующий код в редактор:

    # -*- coding:utf-8 -*-
    import pymysql.cursors
    def handler (event, context):
    # Connect to the database
    connection = pymysql.connect(host='host_ip',
    user='user',
    password='passwd',
    db='db',
    charset='utf8mb4',
    cursorclass=pymysql.cursors.DictCursor)
    try:
    with connection.cursor() as cursor:
    # Create a new record
    sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"
    cursor.execute(sql, ('webmaster@python.org', 'very-secret'))
    # connection is not autocommit by default. So you must commit to save
    # your changes.
    connection.commit()
    with connection.cursor() as cursor:
    # Read a single record
    sql = "SELECT `id`, `password` FROM `users` WHERE `email`=%s"
    cursor.execute(sql, ('webmaster@python.org',))
    result = cursor.fetchone()
    print(result)
    finally:
    connection.close()
    output = '^_^'
    return output