Aracılığıyla paylaş


İşlevler

Dynamics 365 Fraud Protection, belirli bir görevi gerçekleştirmek için kullanabileceğiniz işlevler oluşturma esnekliği sağlar. Örneğin, birlikte yürütülmesi gereken kod gruplarını birleştirmek için işlevleri kullanabilirsiniz. Ya da kodu yeniden kullanmak için işlevleri kullanabilirsiniz; burada kodu bir kez yazıp başka yerlerden erişerek kodun bakımını kolaylaştırabilirsiniz. Bu örnekte, bir dış hizmeti çağırarak ondan bir değer getirmek istiyorsanız, mantık bir işlev içinde tanımlanabilir ve işlev diğer kaynaklardan çağrılabilir.

İşlev tanımlama

İşlevler giriş parametrelerinden ve çıkış özelliklerinden oluşur.

Giriş parametreleri

İşlevler, çağrı sırasında işleve geçirilecek parametreleri tanımlayabilir. Giriş parametreleri işlev tanımında tanımlanır. çağırma sırasında işleve geçirilen parametre sayısı, işlev için tanımlanan parametre sayısıyla tam olarak eşleşmelidir. Tanımlı parametreler çıkış özellikleri içinde bir değer döndürmek için kullanılabilir. Daha fazla bilgi için bkz . Çıkış özellikleri. Giriş parametrelerini tanımlamak isteğe bağlıdır.

Giriş parametreleri aşağıdaki üç bölümden oluşur.

  • Parametre adı: Parametreye başvurulabilecek bir ad.

  • Veri Türü: Her giriş parametresinin kendisiyle ilişkilendirilmiş bir veri türü olmalıdır. Belirttiğiniz veri türü, parametrenin değerini ilgili türe dönüştürür. İşlevler, aşağıdaki tabloda listelenen veri türlerini destekler.

    Veri türü Örnek değer
    Boolean True
    DateTime Şubat,22,2024 16:44
    Çift 10.0
    Tamsayı 10
    String "Merhaba"
  • Varsayılan Değer: Her parametre için varsayılan bir değer gereklidir. Varsayılan değer "İşlev Değerlendirmesi" sırasında veya işlev çağrısıyla ilgili bir sorun varsa kullanılır.

Çıkış özellikleri

Çıkış özelliklerini kullanarak bir işlevin dönüş değerini tanımlayabilirsiniz. Çıkış özellikleri işlevin değerini döndürmek için "Sahtekarlık Sorgu Dili (FQL)" mantığını kullanır. Ardından çıkış özelliklerine işlev çağrıldığında diğer işlevler, kurallar, hızlar, karar sonrası eylem kuralları ve yönlendirme kuralları içinden erişilebilir. Bir işlevin en fazla 30 çıkış özelliği olabilir. FQL ve nasıl kullanılacağı hakkında daha fazla bilgi için bkz . Dil başvuru kılavuzu.

Çıkış özellikleri aşağıdaki dört bölümden oluşur.

  • Özellik açıklaması: Özelliğin açıklaması. Açıklama isteğe bağlıdır.

  • Veri türü: özelliğinden döndürülen değerin veri türü. İşlevler boole, datetime, double, integer ve string gibi tüm temel veri türlerini destekler. Diğer kaynaklarda başvurulan bir işlevin çıkış özelliğinde hataya neden olan bir değişiklik yapıldığında, özgün çıkış özelliğinin varsayılan değeri "veri türü" kaynak yürütmeye devam etmek için geri dönüş olarak kullanılır. Hataya neden olan değişikliklerden sonra kaynaklarınızı güncelleştirmenizi öneririz.

  • Varsayılan değer: Özelliğin değerlendirmesi sırasında bir özel durumla karşılaşıldığında, varsayılan değer işlevin sonucu olarak döndürülür. Örneğin, 0'a göre bölme ve Null Başvuru özel durumları.

  • Değer döndürmek için kod düzenleyicisi: Kod düzenleyicisi işlevinden bir değer döndürmek için kullanılır. Çıkış değeri döndürmenin yolları aşağıdadır.

    1. Bir işlev içinde tanımlanan giriş parametreleri, değerleri döndürmek için kullanılabilir.

      Dönüş değeri olarak giriş parametresi döndüren çıkış özelliği örneği. Giriş parametrelerini tanımlama hakkında daha fazla bilgi için bu makalenin önceki bölümlerindeki Giriş Parametreleri bölümüne bakın.

    RETURN _number1 + _number2
    
    1. İşlevi çağıran kuralı içeren bir değerlendirmenin hem istek hem de yanıt öznitelikleri (özel veriler dahil). Bu özniteliklere işleciyle @ erişebilirsiniz. Örneğin, @"salesTax".

      İstek özniteliklerini kullanan işlev örneği:

    RETURN @"salesTax"
    
    1. Sahtekarlık Koruması zenginleştirme verileri. Örneğin, Geo.CountryCode().

      Risk puanı kullanan işlev örneği:

    RETURN Geo.CountryCode(@"deviceContext.ipAddress")
    
    1. Sahtekarlık Koruması'na yüklediğiniz listeler. Listeleri karşıya yükleme hakkında daha fazla bilgi için bkz . Listeleri yönetme.

      Liste kullanan işlev örneği:

    RETURN Lookup("Country_Score", "Country", "US", "ScoreCutOff")
    
    1. Sahtekarlık Koruması'nda tanımlanan hızlar. Daha fazla bilgi için bkz . Hız denetimleri gerçekleştirme.

      Hız kullanan işlev örneği:

    RETURN Velocity.IPs_Per_User(@"deviceContext.ipAddress", 30s)
    
    1. Sahtekarlık Koruması'nda oluşturulan dış çağrılar. Daha fazla bilgi için bkz . Dış çağrılar.

      Dış çağrıları kullanan işlev örneği:

    RETURN External.weather("Seattle").id
    
    1. Sahtekarlık Koruması'nda oluşturulan dış değerlendirmeler. Daha fazla bilgi için bkz . Dış Değerlendirmeler.

      Dış değerlendirmeyi çağıran işlev örneği:

    LET $result = Assessments.myAssessment.Evaluate($baseInput = @@)
    RETURN $result.ToStr()
    
    1. İşlevler içindeki Access işlevi.

      Başka bir işlevi çağıran işlev örneği:

    RETURN Functions.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
    

Not

Çok hiyerarşili yığındaki herhangi bir ortamda işlev oluşturabilirsiniz. Bir işlev, ortamda kullanılabilen hızlar, dış çağrılar, listeler ve dış değerlendirmeler gibi kaynaklara başvurduğunda, işlevi çağıran alt ortamlar da işlevin başvurduğunu kaynakları devralır. Örneğin, kökte bir değer döndürmek için dış çağrıya başvuran bir işlev oluşturursanız, işlevi çağıran alt ortam da bu dış çağrının sonucuna erişebilir. İşlevleri devralma ve çağırma hakkında daha fazla bilgi için bu makalenin devamında yer alan İşlev Devralma bölümüne bakın.

İşlev yayımlama

  1. Sahtekarlık Koruması portalında gezinti çubuğunda İşlevler'i ve ardından Yeni İşlev'i seçin. Fraud Protection, yalnızca size (işlevi oluşturan) görüntülenen bir taslak işlevi oluşturur. Taslakta yaptığınız tüm değişiklikler otomatik olarak kaydedilir.

  2. Sıfırdan yeni bir işlev tanımlamak için bu makalenin önceki bölümlerinde yer alan İşlev Tanımlama bölümüne bakın.

  3. İşlevi yayımlamak için Yayımla'yı seçin.

  4. Onay iletişim kutusunda, adı ve açıklamayı değiştirebilirsiniz. Yayımla öğesini seçin.

Not

İşlevi yayımladıktan sonra tüm kullanıcılar tarafından görülebilir. İşlev daha sonra diğer işlevler, kurallar, hızlar, karar sonrası kuralları ve yönlendirme kuralları içinde çağrılabilir.

İşlevler, kurallar, hızlar, karar sonrası eylemleri ve yönlendirme kuralları gibi diğer kaynaklarda işlevlerin nasıl kullanılacağı hakkında bilgi için, bu makalenin devamında Yer alan Kaynaklardan işlevleri çağırma bölümüne bakın.

Örnek bölmesi

Bir işlevi oluşturduğunuzda veya düzenlediğinizde, sayfanın yanında Örnek bölmesi görüntülenir.

  • İşlevler hiçbir değerlendirmeye bağlı değildir. Örnek yük, işlevlerinizde başvurulabilecek tüm olay özelliklerini gösteren kullanıcılar için yararlı bir kılavuz olarak sunulur. Bölmenin üst kısmındaki Olay alanında olay türünü seçin.

  • Yük örneği bölümü, değerlendirme için istek API'sinde gönderilebilen özelliklerin bir örneğini içerir.

İşlevi yönetme

  1. Daha önce yayımlanmış bir işlevi düzenlemek için işlevi seçin ve ardından Düzenle'yi seçin. Yayımlanan işlevin taslağı oluşturulur ve yalnızca sizin kullanımınıza sunulur. Taslakta yaptığınız tüm değişiklikler otomatik olarak kaydedilir. Değişikliklerinizi üretim ortamına göndermek için Yayımla'yı seçin. Daha önce yayımlanan işlevin üzerine değişikliklerinizle birlikte yazılır. Taslağınızı atmak için At'ı seçin.

  2. Var olan bir işlevi silmek için üç noktayı (...) ve ardından Sil'i seçin.

  3. bir işlevin adını veya açıklamasını güncelleştirmek için üç noktayı (...) ve ardından Yeniden Adlandır'ı seçin.

  4. İşlev aramak için Arama alanına bir anahtar sözcük girin. İşlev adlarının ve açıklamalarının tümü aranılır ve sonuçlar arama anahtar sözcüklerine göre filtrelenir.

İşlevi değerlendirme

Bir işlevi yayımlamadan önce İşlev değerlendirme bölmesini kullanarak beklediğiniz sonuçları döndürdüğünden emin olabilirsiniz.

  • İşlev değerlendirme bölmesini açmak için İşlevler sekmesinde Genişlet'i seçin.
  • Bölmeyi kapatmak için Daralt'ı seçin.

Değerlendirme bölmesi açık olduğunda, çıktı özellikleri listesi sonucuyla birlikte görüntülenir. Değerlendirme, nelerin döndürülmesi gerektiğini belirlerken örnek yük bölümündeki giriş parametreleri ve değerleri için varsayılan değerleri kullanır. Bu değerlerden herhangi biri değiştirilirse çıkış da değiştirilir. Bu şekilde, her çıkış özelliği için doğru değerlerin döndürülmesini sağlayabilirsiniz.

Kaynaklardan işlevleri çağırma

Yayımlanan işlevler kurallar, hızlar, karar sonrası eylemler ve yönlendirme kuralları gibi kaynaklardan çağrılabilir. İşlev içinde tanımlanan tüm çıkış özelliklerine işlev çağrılarak erişilebilir. Bu değerler daha sonra karar alma için kullanılabilir.

Kurallar

İşlevler, aynı ortamdaki herhangi bir kuraldan (herhangi bir değerlendirme içinde) ve aşağıdaki hiyerarşideki alt ortamlardan çağrılabilir. Kurallar hakkında daha fazla bilgi için bkz . Kurallar.

LET $sum = Functions.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
RETURN Approve()
WHEN $sum > 5

Hız

İşlevler, aynı ortamdaki herhangi bir hızdan ve aşağıdaki hiyerarşideki alt ortamlardan çağrılabilir. Hızlar hakkında daha fazla bilgi için bkz . Hız denetimleri gerçekleştirme.

SELECT DistinctCount(@"device.deviceContextId") AS Devices_Per_IP
FROM AccountLogin
WHEN Functions.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum > 5
GROUPBY @"device.ipAddress"

Karar sonrası kurallar

İşlevler, aynı ortamdaki herhangi bir karar sonrası eylem kuralından (herhangi bir değerlendirme içinde) ve aşağıdaki hiyerarşideki alt ortamlardan çağrılabilir. Karar sonrası eylem kuralları hakkında daha fazla bilgi için bkz . Karar sonrası Eylem Kuralları.

DO SetResponse()
WHEN Functions.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum == 5

Yönlendirme kuralları

İşlevler, aynı ortamdaki herhangi bir yönlendirme kuralından ve aşağıdaki hiyerarşideki alt ortamlardan çağrılabilir. Yönlendirme kuralları hakkında daha fazla bilgi için bkz . Olay Yönetimi.

ROUTETO Queue("General Queue")
WHEN Functions.MyFunction(@"purchase.request.totalAmount", @"purchase.request.salesTax").Calculate_Sum > 5

İşlev devralma

İşlevler aynı ortamda ve aşağıdaki hiyerarşideki alt ortamlardan çağrılabilir. Çağırma söz dizimi, işlevin nerede bulunduğuna ve nereden çağrıldığına bağlıdır. Çoklu hiyerarşi kümesinde işlevleri çağırmanın farklı yolları aşağıdadır.

Not

Bir işlev hızlar, listeler, dış çağrılar ve dış değerlendirmeler gibi kaynaklara başvuruyorsa, işlev çağrıldığında aşağıdaki hiyerarşideki alt ortamlardan da kaynaklar devralınır.

Aynı ortamda oluşturulan işlevleri çağırma

Aşağıdaki örnekte, hem kuralın hem de işlevin aynı ortamda bulunduğu bir kuraldan işlev çağrılır.

LET $sum = Functions.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
RETURN Approve()
WHEN $sum > 5

Kök ortamda oluşturulan işlevleri çağırma

Aşağıdaki örnek, alt ortamdan kökte oluşturulan bir işlevi çağırır.

LET $sum = Functions.root.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
RETURN Approve()
WHEN $sum > 5

Üst ortamda oluşturulan işlevleri çağırma

Aşağıdaki örnek, hemen üst ortamdan bir işlev çağırır.

LET $sum = Functions.parent.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
RETURN Approve()
WHEN $sum > 5

Yığının üzerindeki herhangi bir ortamda oluşturulan işlevleri çağırma

Aşağıdaki örnek, yığının üzerindeki bir ortamda oluşturulan ve daha düşük bir ortamdaki bir kuraldan devralınan bir işlevi çağırır.

LET $sum = Functions.environment["environmentid"].MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
RETURN Approve()
WHEN $sum > 5

İşlev ve kaynak sınırları

Sahtekarlık Koruması, ortam başına oluşturulabilecek işlev sayısı ve bir işlev içinde başvurulabilecek kaynak sayısı üzerinde bir sınıra sahiptir.

Kaynak Sınır
Bir ortamda yayımlanabilir en fazla işlev sayısı 30
İşlev içinde bulunabilecek en fazla çıkış özelliği sayısı 30
Bir işlevin başvurabileceği benzersiz hız sayısı üst sınırı 15
bir işlevin başvurabileceği en fazla dış çağrı sayısı 2
bir işlevin başvurabileceği en fazla sayı benzersiz liste araması 5
İşlevin başvurabileceği benzersiz dış değerlendirme sayısı üst sınırı 2
Bir kural kümesinin çağırabileceği en fazla işlev sayısı 10
Yönlendirme kuralının çağırabileceği en fazla işlev sayısı 10
Karar sonrası eyleminin çağırabileceği en fazla işlev sayısı 10
Bir hızın çağırabileceği en fazla kaynak sayısı 10