Aracılığıyla paylaş


Azure Data Factory'de web kancası etkinliği

UYGULANANLAR: Azure Data Factory Azure Synapse Analytics

İpucu

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.

    Web kancası etkinliğinin kullanıcı arabirimini gösterir.

  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 Yes
type "Web Kancası" olarak ayarlanmalıdır. String Yes
yöntem Hedef uç nokta için REST API yöntemi. Dizgi. Desteklenen tür "POST" şeklindedir. Yes
URL Hedef uç nokta ve yol. Dizenin resultType değerine sahip bir dize veya ifade. Yes
Ü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ı. Yes
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. Hayır
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ır
Geri aramada rapor durumu Kullanıcının web kancası etkinliğinin başarısız durumunu bildirmesine izin verir. Boolean Hayır

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

Not

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: