提问人:lavava92 提问时间:11/17/2023 最后编辑:karellavava92 更新时间:11/20/2023 访问量:64
在 Python 中导入 mysql.connector 在计时器触发器 Azure 函数中不起作用
import mysql.connector in python won't work in timer trigger azure function
问:
我试图使用 MySQL 数据库通过 Azure 函数中的计时器触发器在 Python 中生成定期摘要报告。使用 import mysql.connector 的 Python 代码使我的查询数据自行正常工作。但是,当我在触发器操作中插入这部分代码时,我得到了 ModuleNotFoundError: No module named 'mysql'。
MySQL连接器生成的电子邮件报告和计时器触发器功能都运行良好,但是将它们放在一起时不起作用。
import logging
import azure.functions as func
app = func.FunctionApp()
@app.schedule(schedule="*/30 * * * * *", arg_name="myTimer",
run_on_startup=True,
use_monitor=False)
def timer_trigger1(myTimer: func.TimerRequest) -> None:
import mysql.connector
bp1db = mysql.connector.connect(
host="xxxx.xxxxx.com",
user="xxxxx",
password="xxxx01",
db = 'boppwh'
)
cur1 = bp1db.cursor()
cur1.execute("SELECT COUNT(cellid) AS free FROM cells WHERE Status = 0")
result1 = cur1.fetchall()
free1 = result1[0]
logging.info('Python timer trigger function executed.')
答:
0赞
Dasari Kamali
11/20/2023
#1
我将import mysql.connector添加到代码中的导入中,并能够触发计时器触发器功能。
法典:
import logging
import azure.functions as func
import mysql.connector
app = func.FunctionApp()
@app.schedule(schedule="*/30 * * * * *", arg_name="myTimer", run_on_startup=True,
use_monitor=False)
def timer_trigger1(myTimer: func.TimerRequest) -> None:
bp1db = mysql.connector.connect(
host="<server_name>.mysql.database.azure.com",
user="<user_name>",
password="<password>",
db='boppwh'
)
cur1 = bp1db.cursor()
cur1.execute("SELECT COUNT(cellid) AS free FROM cells WHERE Status = 0")
result1 = cur1.fetchall()
free1 = result1[0]
logging.info('Python timer trigger function executed.')
要求.txt :
azure-functions
mysql-connector-python
输出:
它成功运行并触发定时器触发功能,如下所示。
评论