当前位置: 代码迷 >> python >> 在 Python 中将 Azure 机器人连接到 Azure SQL
  详细解决方案

在 Python 中将 Azure 机器人连接到 Azure SQL

热度:60   发布时间:2023-07-16 11:02:06.0

我正在使用 Python 中的 Azure Bot Framework SDK 构建一个机器人。 机器人需要能够查询同样托管在 Azure 上的 SQL DB。

但是,当我尝试

async def on_message_activity(self, turn_context: TurnContext):
    cnxn = pyodbc.connect(<connectionstring>)
    self.cursor = cnxn.cursor()
    self.cursor.execute("SELECT * from tableA")
    desc = self.cursor.description

并向机器人发送消息,我收到此错误,在机器人的“问题”选项卡中跟踪:

There was an error sending this message to your bot: HTTP status code ServiceUnavailable

我已启用 Azure 服务以访问 SQL 数据库并对连接字符串进行三重检查。 我错过了什么吗? 这是从机器人查询 SQL 数据库的正确方法吗?

我最终使用 Azure Functions 构建了一个 REST API 来执行查询。 避免来自机器人的直接查询,这可能很危险,并且总体上是一个更好、更干净的解决方案。

  相关解决方案