Внедрение webhook в Azure Data Factory - PullRequest
1 голос
/ 04 ноября 2019

У меня возникают трудности при получении URI обратного вызова из фабрики данных Azure при использовании активности webhook. В настоящее время я вызываю webjob в рамках webhook. Внутри веб-задания у меня есть .Net-код, но я не могу получить URI обратного вызова.

И мне действительно нужно использовать действие webhook, потому что у меня долгое рабочее задание

1 Ответ

0 голосов
/ 05 ноября 2019

Основываясь на этом очень подробном объяснении из этого блога и интересном примере в этой ссылке , во время вызова активности webhook в конвейере Data Factory добавит дополнительное полев тело запроса JSON «callBackUri», которое будет создано автоматически. (Если нет, вы можете установить его в теле самостоятельно)

Оттуда вы можете продолжить выполнение в конвейере,или используйте потоки управления фабрики данных для корректной обработки сбоя или тайм-аута.

enter image description here


Обновление ответа:

На основеВаш последний комментарий, я предполагаю, что вы хотите передать callbackuri в качестве параметра в webjob и использовать его внутри webjob.

Я искал API REST WebJob и получил api :/api/triggeredwebjobs/{job name}/run?arguments={arguments}

Для запуска с аргументами используйте параметры аргументов, которые будут добавлены в скрипт при вызове. Он также передается в WebJob как переменная среды WEBJOBS_COMMAND_ARGUMENTS

Кажется, что WebJob принимает только аргументы команды, поэтому я провел тест с простым консольным приложением.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace JayWebJobConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write(args[0]);
        }
    }
}

Затем я вызываю вышеупомянутые остальные API на https://***.scm.azurewebsites.net/api/triggeredwebjobs/WebJob1/run?arguments=jayuri, это может быть напечатано в журнале:

enter image description here

Я также сделал тест, который проходит через Jayuriв теле, но к нему нельзя прикоснуться.

enter image description here

Так что я боюсь, что вы должны пропустить callbackuri прямо за крючкомuri как uri / arguments = callbackuri, как и мой тест.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...