【问题标题】:How to pass a route to Azure function (C#) http trigger in Data Factory pipeline?如何在数据工厂管道中将路由传递给 Azure 函数(C#)http 触发器?
【发布时间】: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

标签: c# azure azure-functions azure-data-factory-2


【解决方案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"];
           //...
       }
    

    【讨论】:

    • 在这里留下我的答案,因此它适用于我的数据工厂测试。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-08
    相关资源
    最近更新 更多