如何在数据工厂管道中将路由传递给 Azure 函数(C#)http 触发器?
Posted
技术标签:
【中文标题】如何在数据工厂管道中将路由传递给 Azure 函数(C#)http 触发器?【英文标题】:How to pass a route to Azure function (C#) http trigger in Data Factory pipeline? 【发布时间】:2019-06-02 17:47:38 【问题描述】:我需要在数据工厂的 Azure 函数活动中传递标头信息。 如图所示,表头标为红色。
我需要更改以下代码以接收标头。我还需要捕获标头的值。
public static async Task Run([HttpTrigger(AuthorizationLevel.Function, "get", Route = "name" )] HttpRequestMessage req, 字符串名称, TraceWriter 日志, [Blob("pk-api-test/name", FileAccess.Read)] Stream myBlob)
【问题讨论】:
您的意思是您不想再使用Route
,而是要将标头信息传递给http触发器并捕获信息以检索blob?
是的@JerryLiu,这就是我想做的。
@JerryLiu 这给了我一个错误。因此,我通过在代码中使用“Route = TestFunction/name”以及在数据工厂的 Azure 函数设置中解决了这个问题,我使用了 Function Name = TestFunction/albany
【参考方案1】:
我通过在代码中使用 'Route = TestFunction/name' 解决了这个问题,在数据工厂的 Azure 函数设置中,我使用了 Function Name = TestFunction/albany
【讨论】:
【参考方案2】:试试下面的代码。使用headers
访问http请求中的headers信息。
public static async Task Run(
[HttpTrigger(AuthorizationLevel.Function, "get", Route = null)]HttpRequestMessage req,
[Blob("pk-api-test/headers.name", FileAccess.Read)]Stream myBlob,
IDictionary<string, string> headers,
TraceWriter log)
string name = headers["name"];
//...
【讨论】:
在这里留下我的答案,因此它适用于我的数据工厂测试。以上是关于如何在数据工厂管道中将路由传递给 Azure 函数(C#)http 触发器?的主要内容,如果未能解决你的问题,请参考以下文章
将日期时间参数从管道传递到数据流源存储过程 Azure 数据工厂