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:
İşlem hattı Etkinlikleri bölmesinde Web Kancası'nı arayın ve bir Web kancası etkinliğini işlem hattı tuvaline sürükleyin.
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ı 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.
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/json
ayarlayı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
}
İlgili içerik
Aşağıdaki desteklenen denetim akışı etkinliklerine bakın: