Sdílet prostřednictvím


Aktivita Webhooku ve službě Azure Data Factory

PLATÍ PRO: Azure Data Factory Azure Synapse Analytics

Tip

Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.

Aktivita webhooku může řídit spouštění kanálů prostřednictvím vlastního kódu. Pomocí aktivity webhooku může kód volat koncový bod a předat mu adresu URL zpětného volání. Spuštění kanálu čeká na vyvolání zpětného volání, než přejde k další aktivitě.

Důležité

Aktivita WebHooku teď umožňuje zobrazit stav chyb a vlastní zprávy zpět do aktivity a kanálu. Nastavte reportStatusOnCallBack na hodnotu true a do datové části zpětného volání uveďte StatusCode a Error . Další informace najdete v části Další poznámky .

Vytvoření aktivity Webhooku pomocí uživatelského rozhraní

Pokud chcete v kanálu použít aktivitu webhooku, proveďte následující kroky:

  1. Vyhledejte webhook v podokně Aktivity kanálu a přetáhněte aktivitu Webhooku na plátno kanálu.

  2. Pokud ještě není vybraná, vyberte novou aktivitu webhooku na plátně a jeho kartu Nastavení a upravte podrobnosti.

    Zobrazuje uživatelské rozhraní pro aktivitu Webhooku.

  3. Zadejte adresu URL webhooku, což může být řetězec adresy URL literálu nebo libovolná kombinace dynamických výrazů, funkcí, systémových proměnných nebo výstupů z jiných aktivit. Zadejte další podrobnosti, které se mají odeslat s žádostí.

  4. Výstup z aktivity použijte jako vstup do jakékoli jiné aktivity a odkazujte na výstup kdekoli, kde je v cílové aktivitě podporovaný dynamický obsah.

Syntaxe


{
    "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": "****"
        }
    }
}

Vlastnosti typu

Vlastnost Popis Povolené hodnoty Požaduje se
Jméno Název aktivity webhooku. String Ano
type Musí být nastavená na WebHook. String Ano
metoda Metoda REST API pro cílový koncový bod. Řetězec. Podporovaný typ je POST. Ano
adresa URL Cílový koncový bod a cesta. Řetězec nebo výraz s hodnotou resultType řetězce. Ano
hlavičky Hlavičky, které se odešlou do požadavku. Tady je příklad, který nastaví jazyk a typ požadavku: "headers" : { "Accept-Language": "en-us", "Content-Type": "application/json" }. Řetězec nebo výraz s hodnotou resultType řetězce. Ano. Vyžaduje Content-Type se "headers":{ "Content-Type":"application/json"} záhlaví.
tělo Představuje datovou část, která se odešle do koncového bodu. Platný json nebo výraz s hodnotou resultType JSON. Viz Schéma datové části požadavku pro schéma datové části požadavku. Ano
autentizace Metoda ověřování používaná k volání koncového bodu. Podporované typy jsou Basic a ClientCertificate. Další informace najdete v tématu Ověřování. Pokud ověřování není povinné, vylučte tuto vlastnost. Řetězec nebo výraz s hodnotou resultType řetězce. No
přerušení zápasu Jak dlouho aktivita čeká na vyvolání zpětného volání určeného identifikátorem callBackUri . Výchozí hodnota je 10 minut ("00:10:00"). Hodnoty mají formát TimeSpan d.hh:mm:ss. Řetězcové No
Hlášení stavu zpětného volání Umožňuje uživateli hlásit stav selhání aktivity webhooku. Logický No

Ověřování

Aktivita webhooku podporuje následující typy ověřování.

Nic

Pokud ověřování není povinné, nezahrnujte vlastnost ověřování .

Basic

Zadejte uživatelské jméno a heslo, které se má použít se základním ověřováním.

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

Klientský certifikát

Zadejte obsah souboru PFX s kódováním Base64 a heslo.

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

Spravovaná identita

Použijte spravovanou identitu pro objekt pro vytváření dat nebo pracovní prostor Synapse k určení identifikátoru URI prostředku, pro který se požaduje přístupový token. Pokud chcete volat rozhraní API služby Azure Resource Management, použijte https://management.azure.com/. Další informace o tom, jak spravované identity fungují, najdete v přehledu spravovaných identit pro prostředky Azure.

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

Poznámka:

Pokud je služba nakonfigurovaná s úložištěm Git, musíte přihlašovací údaje uložit ve službě Azure Key Vault, abyste mohli používat základní ověřování nebo ověřování pomocí klientského certifikátu. Služba neukládá hesla v Gitu.

Další poznámky

Služba předá další vlastnost callBackUri v textu odeslaném do koncového bodu adresy URL. Služba očekává, že se tento identifikátor URI vyvolá před zadanou hodnotou časového limitu. Pokud se identifikátor URI nevyvolá, aktivita selže se stavem Vypršení časového limitu.

Aktivita webhooku selže, když volání vlastního koncového bodu selže. Do textu zpětného volání lze přidat libovolnou chybovou zprávu a použít ji v pozdější aktivitě.

U každého volání rozhraní REST API vyprší časový limit klienta, pokud koncový bod nereaguje do jedné minuty. Toto chování je standardní osvědčený postup HTTP. Pokud chcete tento problém vyřešit, implementujte vzor 202. V aktuálním případě koncový bod vrátí hodnotu 202 (Přijato) a dotazování klienta.

Časový limit jedné minuty v požadavku nemá nic společného s vypršením časového limitu aktivity. Druhá se používá k čekání na zpětné volání určené identifikátorem CALLBACKURI.

Tělo předané zpět do identifikátoru URI zpětného volání musí být platné JSON. Content-Type Nastavte záhlaví na application/jsonhodnotu .

Pokud používáte stav sestavy u vlastnosti zpětného volání, musíte při zpětném volání přidat do textu následující kód:

{
    "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
}

Projděte si následující podporované aktivity toku řízení: