我还是Azure的新手,如果这是一个新手问题,请多多包涵。
我在Azure数据工厂中创建了一个任务,该任务将调用Http触发的Python函数(消耗计划)。该任务的设置和用户属性如下所示:
在这里
函数本身如下所示:
问题1:我想知道如何在Python函数(上面的屏幕快照中的“ run.py”)中读取/访问POST请求的标头。目前,我只能使用os.environ['req']
访问HTTP请求的正文。
第二季度:,我还想知道是否有可能在“ run.py”中访问“用户属性”,前提是我在数据工厂中运行了该任务(第一个和第二个)屏幕截图)。如果是这样,我该怎么做。
答案 0 :(得分:1)
我终于弄明白了,并分享了我在下面发现的内容,以便它可以帮助所有人都想知道和我一样的事情。
这是我在Python Function App中编写的用于访问正文和请求标头的代码。
import os
import json
# This is how I'm currently reading the **body of the POST request**
postreqdata = json.loads(open(os.environ['req']).read())
# This is how we should read **a header of the POST request**;
# here 'excelSourcePath' is one of the header names.
postreqdata['header1'] = os.environ['REQ_HEADERS_EXCELSOURCEPATH']
# 'User Properties' is just for monitoring purpose
# https://social.msdn.microsoft.com/Forums/en-US/8692cd00-307b-4204-a547-bed2030cb762/adfv2-user-property-setting?forum=AzureDataFactory
response = open(os.environ['res'], 'w')
response.write(json.dumps({'This is what I see from POST request now':postreqdata}))
response.close()
希望这会有所帮助。