如何使用python从Azure函数向Azure中的队列发送消息?

时间:2017-07-05 14:53:00

标签: python function azure queue

我正在使用具有时间触发器的azure函数,我正在尝试与数据库通信以返回字典列表,我正在尝试将每个字典作为字符串(队列消息)发送到队列,I我会用输出活页夹来做这个,但无法弄清楚如何,所以我使用的是azure模块。问题是我发送的每条消息由于某种原因进入毒性队列,我无法弄清楚原因,这里是我在Azure函数中的代码片段。

import os
import platform
import WorkWithDatabase
#import base64
from azure.storage.queue import QueueService
acc='...ACCOUNT NAME'
key='...KEY'

#Connect to QueueService 
queue_service = QueueService(account_name=acc, account_key=key)

#Pull missing data from the database,
#Call a function in another script to do this

missingList=WorkWithDatabase.ListRequests()

for item in missingList:
    queue_service.put_message('taskqueue', str(item))

还有一种方法可以将数据库用作带有python的天蓝色函数的资源吗?

1 个答案:

答案 0 :(得分:0)

要使用这些python包(例如pyodbcpymssql)连接Azure SQL数据库,您需要在Azure Function上安装自定义版本的Python,然后安装pip for Python的自定义版本可以根据需要安装这些软件包。

所以步骤如下。

  1. 按照文档Using a custom version of Python通过访问网址site\tools在Kudu的https://<your function name>.scm.azurewebsites.net/DebugConsole路径中安装自定义Python运行时。
  2. 自定义python安装后,要将get-pip.py文件下载到自定义Python的路径site\tool,然后通过命令pip安装python get-pip.py工具。
  3. 然后,您可以通过Scripts/pip.exe install <package-names>安装这些软件包。
  4. 然后,您可以导入这些包以在Azure门户上的Azure功能中编写代码。