Share via


Azure Data Factory'de web kancası etkinliği

UYGULANANLAR: Azure Data Factory Azure Synapse Analytics

Bahşiş

Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!

Web kancası etkinliği, özel kod aracılığıyla işlem hatlarının yürütülmesini denetleyebilir. Web kancası etkinliğiyle kod bir uç noktayı çağırabilir ve bir geri çağırma URL'si geçirebilir. İşlem hattı çalıştırması, sonraki etkinliğe geçmeden önce geri çağırmayı bekler.

Önemli

Web Kancası etkinliği artık hata durumunu ve özel iletileri etkinliğe ve işlem hattına geri getirmenizi sağlar. reportStatusOnCallBack değerini true olarak ayarlayın ve geri çağırma yüküne StatusCode ve Error değerlerini ekleyin. Daha fazla bilgi için Ek Notlar bölümüne bakın.

Kullanıcı arabirimiyle Web kancası etkinliği oluşturma

İşlem hattında Web Kancası etkinliği kullanmak için aşağıdaki adımları tamamlayın:

  1. İşlem hattı Etkinlikleri bölmesinde Web Kancası'nı arayın ve bir Web kancası etkinliğini işlem hattı tuvaline sürükleyin.

  2. Tuvalde henüz seçili değilse yeni web kancası etkinliğini ve ayrıntılarını düzenlemek için Ayarlar sekmesini seçin.

    Shows the UI for a Webhook activity.

  3. Web kancası için sabit BIR URL dizesi veya dinamik ifadelerin, işlevlerin, sistem değişkenlerinin veya diğer etkinliklerden elde edilen çıkışların herhangi bir bileşimi olabilecek bir URL belirtin. İstekle birlikte gönderilecek diğer ayrıntıları sağlayın.

  4. Etkinliğin çıkışını başka herhangi bir etkinliğe giriş olarak kullanın ve hedef etkinlikte dinamik içeriğin desteklendiği her yerde çıkışa başvurun.

Sözdizimi


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

Tür özellikleri

Özellik Açıklama İzin verilen değerler Zorunlu
Adı Web kancası etkinliğinin adı. String Evet
type "Web Kancası" olarak ayarlanmalıdır. String Evet
Yöntem Hedef uç nokta için REST API yöntemi. Dize. Desteklenen tür "POST" şeklindedir. Evet
Url Hedef uç nokta ve yol. Dizenin resultType değerine sahip bir dize veya ifade. Evet
Üstbilgi İsteğe gönderilen üst bilgiler. Bir istekte dili ve türü ayarlayan bir örnek aşağıda verilmiştır: "headers" : { "Accept-Language": "en-us", "Content-Type": "application/json" }. Dizenin resultType değerine sahip bir dize veya ifade. Evet. gibi "headers":{ "Content-Type":"application/json"} bir Content-Type üst bilgi gereklidir.
gövde Uç noktaya gönderilen yükü temsil eder. Geçerli JSON veya JSON resultType değerine sahip bir ifade. İstek yükünün şeması için bkz. İstek yükü şeması. Evet
Kimlik doğrulama Uç noktayı çağırmak için kullanılan kimlik doğrulama yöntemi. Desteklenen türler "Temel" ve "ClientCertificate" türleridir. Daha fazla bilgi için bkz. Kimlik doğrulaması. Kimlik doğrulaması gerekmiyorsa bu özelliği hariç tutun. Dizenin resultType değerine sahip bir dize veya ifade. No
Zaman aşımı Etkinliğin callBackUri tarafından belirtilen geri çağırmanın çağrılmasını beklediği süre. Varsayılan değer 10 dakikadır ("00:10:00"). Değerler TimeSpan biçimi d'ye sahiptir.ss:mm:ss. String Hayı
Geri aramada rapor durumu Kullanıcının web kancası etkinliğinin başarısız durumunu bildirmesine izin verir. Boolean No

Kimlik Doğrulaması

Web kancası etkinliği aşağıdaki kimlik doğrulama türlerini destekler.

Hiçbiri

Kimlik doğrulaması gerekli değilse, kimlik doğrulama özelliğini eklemeyin.

Temel

Temel kimlik doğrulamasıyla kullanılacak kullanıcı adını ve parolayı belirtin.

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

İstemci sertifikası

PFX dosyasının Base64 ile kodlanmış içeriğini ve parolayı belirtin.

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

Yönetilen kimlik

Erişim belirtecinin istendiği kaynak URI'sini belirtmek için veri fabrikanızın veya Synapse çalışma alanınızın yönetilen kimliğini kullanın. Azure Kaynak Yönetimi API'sini çağırmak için kullanın https://management.azure.com/. Yönetilen kimliklerin nasıl çalıştığı hakkında daha fazla bilgi için bkz. Azure kaynakları için yönetilen kimliklere genel bakış.

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

Dekont

Hizmet bir Git deposuyla yapılandırılmışsa, temel veya istemci sertifikası kimlik doğrulamasını kullanmak için kimlik bilgilerinizi Azure Key Vault'ta depolamanız gerekir. Hizmet, Parolaları Git'te depolamaz.

Ek notlar

Hizmet, URL uç noktasına gönderilen gövdede ek callBackUri özelliğini geçirir. Hizmet, belirtilen zaman aşımı değerinden önce bu URI'nin çağrılmasını bekler. URI çağrılmazsa etkinlik "TimedOut" durumuyla başarısız olur.

Özel uç noktaya yapılan çağrı başarısız olduğunda web kancası etkinliği başarısız olur. Herhangi bir hata iletisi geri çağırma gövdesine eklenebilir ve sonraki bir etkinlikte kullanılabilir.

Her REST API çağrısında, uç nokta bir dakika içinde yanıt vermezse istemci zaman aşımına uysa. Bu davranış, standart HTTP en iyi yöntemidir. Bu sorunu çözmek için 202 deseni uygulayın. Geçerli durumda uç nokta 202 (Kabul Edildi) döndürür ve istemci yoklar.

İstekte bir dakikalık zaman aşımının etkinlik zaman aşımıyla hiçbir ilgisi yoktur. İkincisi, callbackUri tarafından belirtilen geri çağırmayı beklemek için kullanılır.

Geri çağırma URI'sine geçirilen gövde geçerli bir JSON olmalıdır. Content-Type Üst bilgiyi olarak application/jsonayarlayın.

Geri çağırma özelliğinde Rapor durumu özelliğini kullandığınızda, geri çağırma yaparken gövdeye aşağıdaki kodu eklemeniz gerekir:

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

Aşağıdaki desteklenen denetim akışı etkinliklerine bakın: