Działanie elementu webhook w usłudze Azure Data Factory

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

Działanie elementu webhook może kontrolować wykonywanie potoków za pomocą kodu niestandardowego. Za pomocą działania elementu webhook kod może wywołać punkt końcowy i przekazać mu adres URL wywołania zwrotnego. Uruchomienie potoku czeka na wywołanie wywołania zwrotnego, zanim przejdzie do następnego działania.

Ważne

Działanie elementu webhook umożliwia teraz wyświetlanie stanu błędu i niestandardowych komunikatów z powrotem do działania i potoku. Ustaw parametr reportStatusOnCallBack na wartość true i uwzględnij wartość StatusCode i Error w ładunku wywołania zwrotnego. Aby uzyskać więcej informacji, zobacz sekcję Dodatkowe uwagi .

Tworzenie działania elementu webhook za pomocą interfejsu użytkownika

Aby użyć działania elementu webhook w potoku, wykonaj następujące kroki:

  1. Wyszukaj element webhook w okienku Działania potoku i przeciągnij działanie elementu webhook do kanwy potoku.

  2. Wybierz nowe działanie elementu webhook na kanwie, jeśli nie zostało jeszcze wybrane, a karta Ustawienia, aby edytować jego szczegóły.

    Shows the UI for a Webhook activity.

  3. Określ adres URL elementu webhook, który może być ciągiem adresu URL literału lub dowolną kombinacją wyrażeń dynamicznych , funkcji, zmiennych systemowych lub danych wyjściowych innych działań. Podaj inne szczegóły, które mają zostać przesłane z żądaniem.

  4. Użyj danych wyjściowych z działania jako danych wejściowych do dowolnego innego działania i odwołuj się do danych wyjściowych w dowolnym miejscu zawartości dynamicznej obsługiwanej w działaniu docelowym.

Składnia


{
    "name": "MyWebHookActivity",
    "type": "WebHook",
    "typeProperties": {
        "method": "POST",
        "url": "<URLEndpoint>",
        "headers": {
            "Content-Type": "application/json"
        },
        "body": {
            "key": "value"
        },
        "timeout": "00:10:00",
        "reportStatusOnCallBack": false,
        "authentication": {
            "type": "ClientCertificate",
            "pfx": "****",
            "password": "****"
        }
    }
}

Właściwości typu

Właściwości opis Dozwolone wartości Wymagania
name Nazwa działania elementu webhook. String Tak
type Musi być ustawiona na wartość "Element webhook". String Tak
Metoda Metoda interfejsu API REST dla docelowego punktu końcowego. Ciąg. Obsługiwany typ to "POST". Tak
Adres url Docelowy punkt końcowy i ścieżka. Ciąg lub wyrażenie z wartością resultType ciągu. Tak
Nagłówki Nagłówki wysyłane do żądania. Oto przykład ustawiający język i typ żądania: "headers" : { "Accept-Language": "en-us", "Content-Type": "application/json" }. Ciąg lub wyrażenie z wartością resultType ciągu. Tak. Nagłówek Content-Type podobny "headers":{ "Content-Type":"application/json"} do tego jest wymagany.
treść Reprezentuje ładunek, który jest wysyłany do punktu końcowego. Prawidłowy kod JSON lub wyrażenie z wartością resultType w formacie JSON. Zobacz Request payload schema for the schema of the request payload (Schemat ładunku żądania) dla schematu ładunku żądania. Tak
Uwierzytelniania Metoda uwierzytelniania używana do wywoływania punktu końcowego. Obsługiwane typy to "Basic" i "ClientCertificate". Aby uzyskać więcej informacji, zobacz Authentication (Uwierzytelnianie). Jeśli uwierzytelnianie nie jest wymagane, wyklucz tę właściwość. Ciąg lub wyrażenie z wartością resultType ciągu. Nie.
Limit czasu Jak długo działanie oczekuje na wywołanie zwrotne określone przez callBackUri do wywołania. Wartość domyślna to 10 minut ("00:10:00"). Wartości mają format TimeSpan d.hh:mm:ss. String Nie
Raport o stanie wywołania zwrotnego Umożliwia użytkownikowi zgłaszanie stanu niepowodzenia działania elementu webhook. Wartość logiczna Nie.

Uwierzytelnianie

Działanie elementu webhook obsługuje następujące typy uwierzytelniania.

Brak

Jeśli uwierzytelnianie nie jest wymagane, nie dołączaj właściwości uwierzytelniania .

Podstawowy

Określ nazwę użytkownika i hasło do użycia z uwierzytelnianiem podstawowym.

"authentication":{
   "type":"Basic",
   "username":"****",
   "password":"****"
}

Certyfikat klienta

Określ zakodowaną w formacie Base64 zawartość pliku PFX i hasło.

"authentication":{
   "type":"ClientCertificate",
   "pfx":"****",
   "password":"****"
}

Tożsamość zarządzana

Użyj tożsamości zarządzanej dla fabryki danych lub obszaru roboczego usługi Synapse, aby określić identyfikator URI zasobu, dla którego zażądano tokenu dostępu. Aby wywołać interfejs API usługi Azure Resource Management, użyj polecenia https://management.azure.com/. Aby uzyskać więcej informacji na temat sposobu działania tożsamości zarządzanych, zobacz Omówienie tożsamości zarządzanych dla zasobów platformy Azure.

"authentication": {
    "type": "MSI",
    "resource": "https://management.azure.com/"
}

Uwaga

Jeśli usługa jest skonfigurowana przy użyciu repozytorium Git, musisz przechowywać poświadczenia w usłudze Azure Key Vault, aby używać uwierzytelniania podstawowego lub certyfikatu klienta. Usługa nie przechowuje haseł w usłudze Git.

Dodatkowe uwagi

Usługa przekazuje dodatkowe właściwości callBackUri w treści wysłanej do punktu końcowego adresu URL. Usługa oczekuje wywołania tego identyfikatora URI przed określoną wartością limitu czasu. Jeśli identyfikator URI nie jest wywoływany, działanie kończy się niepowodzeniem ze stanem "TimedOut".

Działanie elementu webhook kończy się niepowodzeniem, gdy wywołanie niestandardowego punktu końcowego zakończy się niepowodzeniem. Każdy komunikat o błędzie można dodać do treści wywołania zwrotnego i użyć go w późniejszym działaniu.

W przypadku każdego wywołania interfejsu API REST klient upłynął limit czasu, jeśli punkt końcowy nie odpowiada w ciągu jednej minuty. To zachowanie jest standardowym najlepszym rozwiązaniem protokołu HTTP. Aby rozwiązać ten problem, zaimplementuj wzorzec 202. W bieżącym przypadku punkt końcowy zwraca wartość 202 (Zaakceptowane) i sonduje klienta.

Limit czasu jednorazowego żądania nie ma nic wspólnego z limitem czasu działania. Ten ostatni służy do oczekiwania na wywołanie zwrotne określone przez identyfikator callbackUri.

Treść przekazana z powrotem do identyfikatora URI wywołania zwrotnego musi być prawidłowym kodem JSON. Content-Type Ustaw nagłówek na application/json.

Jeśli używasz właściwości Report status w wywołaniu zwrotnym, podczas wykonywania wywołania zwrotnego należy dodać następujący kod do treści:

{
    "Output": {
        // output object is used in activity output
        "testProp": "testPropValue"
    },
    "Error": {
        // Optional, set it when you want to fail the activity
        "ErrorCode": "testErrorCode",
        "Message": "error message to show in activity error"
    },
    "StatusCode": "403" // when status code is >=400, activity is marked as failed
}

Zobacz następujące obsługiwane działania przepływu sterowania: