Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/
FunctionGraph/
Preguntas frecuentes/
Preguntas frecuentes sobre el acceso a recursos externos/
¿Cómo accede una función a la base de datos de MySQL?
Actualización más reciente 2023-05-09 GMT+08:00
¿Cómo accede una función a la base de datos de MySQL?
Realice las siguientes operaciones:
- Compruebe si la base de datos de MySQL está desplegada en una VPC.
- Si la base de datos de MySQL se despliega en una VPC, configure la misma VPC y subred que la base de datos de MySQL para la función haciendo referencia a la Configuración de acceso de VPC.
- Si la base de datos de MySQL se construye en una red pública, obtenga su dirección IP pública.
- Compilar código para conectar una función a la base de datos de MySQL.
- Cree una función y agregue la dependencia pymysql a la función en la página de pestañas Code.
Para obtener más información sobre cómo cargar la dependencia pymysql, consulte la Creación de una dependencia.
FunctionGraph proporciona pymysql de la dependencia pública. Por lo tanto, puede usarlo directamente.
- Edite el siguiente código para conectar la función a la base de datos de MySQL:
# -*- 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
Si la función necesita acceder a las API de RDS, crear una delegación y conceder los permisos requeridos.
- Cree una función y agregue la dependencia pymysql a la función en la página de pestañas Code.
Tema principal: Preguntas frecuentes sobre el acceso a recursos externos
Comentarios
¿Le pareció útil esta página?
Deje algún comentario
Muchas gracias por sus comentarios. Seguiremos trabajando para mejorar la documentación.
El sistema está ocupado. Vuelva a intentarlo más tarde.