Функции
Dynamics 365 Fraud Protection позволяет создавать функции, которые можно использовать для выполнения конкретной задачи. Например, можно использовать функции для объединения групп кода, которые должны выполняться вместе. Вы также можете использовать функции для повторного использования кода, где вы пишете код один раз и обращаетесь к нему из других мест, что упрощает обслуживание кода. В этом примере, если вы хотите вызвать внешнюю службу для получения значения из нее, логику можно определить в функции, а функцию можно вызвать из других ресурсов.
Определение функции
Функции состоят из входных параметров и свойств вывода.
Входные параметры
Функции могут определять параметры, передаваемые функции во время вызова. Входные параметры определяются в определении функции. Количество параметров, передаваемых в функцию при вызове, должно точно соответствовать количеству параметров, определенных для функции. Определенные параметры можно использовать в выходных свойствах для возврата значения. Дополнительные сведения см. в разделе "Свойства вывода". Определение входных параметров является необязательным.
Входные параметры состоят из следующих трех частей.
Имя параметра: имя, с помощью которого можно ссылаться на параметр.
Тип данных: каждый входной параметр должен иметь тип данных, связанный с ним. Указанный тип данных преобразует значение параметра в соответствующий тип. Функции поддерживают типы данных, перечисленные в следующей таблице.
Тип данных Пример значения Логический Истина Дата/время Февраль 22,2024 4:44 ВЕЧЕРА Двойной 10.0 Целое 10 Строка "Здравствуйте" Значение по умолчанию: для каждого параметра требуется значение по умолчанию. Значение по умолчанию используется во время вычисления функции или при возникновении проблемы с вызовом функции.
Выходные свойства
Возвращаемое значение функции можно определить с помощью выходных свойств. Выходные свойства используют логику "Язык запросов мошенничества (FQL)" для возврата значения функции. Затем можно получить доступ к свойствам выходных данных из других функций, правил, скоростей, правил действий после принятия решений и правил маршрутизации при вызове функции. Функция может содержать до 30 выходных свойств. Дополнительные сведения о FQL и его использовании см . в справочнике по языку.
Свойства вывода состоят из следующих четырех частей.
Описание свойства: описание свойства. Описание является необязательным.
Тип данных: тип данных значения, возвращаемого из свойства. Функции поддерживают все примитивные типы данных, такие как логическое значение, datetime, double, целое число и строка. Всякий раз, когда критическое изменение выполняется в выходном свойстве функции, на которую ссылается другие ресурсы, значение по умолчанию исходного выходного свойства "тип данных" используется как резервный вариант для продолжения выполнения ресурса. Мы рекомендуем обновить ресурсы после критических изменений.
Значение по умолчанию: значение по умолчанию возвращается в результате функции при обнаружении исключения во время оценки свойства. Например, деление по 0 и исключениям ссылок NULL.
Редактор кода для возврата значения: редактор кода используется для возврата значения из функции. Ниже приведены способы возврата выходного значения.
Входные параметры, определенные в функции, можно использовать для возврата значений.
Пример выходного свойства, возвращающего входной параметр в качестве возвращаемого значения. Дополнительные сведения о том, как определить входные параметры, см . в разделе "Входные параметры " выше в этой статье.
RETURN _number1 + _number2
Атрибуты запроса и ответа (включая пользовательские данные) оценки, содержащей правило, вызывающее функцию. Эти атрибуты можно получить с @ помощью оператора. Например, @"salesTax".
Пример функции с помощью атрибутов запроса:
RETURN @"salesTax"
Данные обогащения защиты от мошенничества. Например, Geo.CountryCode().
Пример функции с помощью riskscore:
RETURN Geo.CountryCode(@"deviceContext.ipAddress")
Списки, которые вы отправляете в защиту от мошенничества. Дополнительные сведения о том, как отправлять списки, см. в разделе "Управление списками".
Пример функции с помощью списка:
RETURN Lookup("Country_Score", "Country", "US", "ScoreCutOff")
Скорости, определенные в защите от мошенничества. Дополнительные сведения см. в разделе "Выполнение скорости проверка".
Пример функции с помощью скорости:
RETURN Velocity.IPs_Per_User(@"deviceContext.ipAddress", 30s)
Внешние вызовы, созданные в службе защиты от мошенничества. Дополнительные сведения см. в разделе "Внешние вызовы".
Пример функции с помощью внешних вызовов:
RETURN External.weather("Seattle").id
Внешние оценки, созданные в службе защиты от мошенничества. Дополнительные сведения см. в разделе "Внешние оценки".
Пример функции, вызывающей внешнюю оценку:
LET $result = Assessments.myAssessment.Evaluate($baseInput = @@) RETURN $result.ToStr()
Доступ к функции в функциях.
Пример функции, вызывающей другую функцию:
RETURN Functions.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
Примечание.
Функции можно создавать в любой среде в стеке с несколькими иерархией. Если функция ссылается на ресурсы, такие как скорости, внешние вызовы, списки и внешние оценки, доступные в среде, более низкие среды, вызывающие функцию, также наследуют ресурсы, на которые ссылается функция. Например, если вы создаете функцию в корне, которая ссылается на внешний вызов для возврата значения, дочерние среды, вызывающие функцию, также могут получить доступ к результату этого внешнего вызова. Дополнительные сведения о наследовании и вызове функций см . в разделе "Наследование функций" далее в этой статье.
Публикация функции
На портале защиты от мошенничества выберите "Функции" на панели навигации и нажмите кнопку "Создать функцию". Защита от мошенничества создает черновик функции, отображаемую только для вас (создатель функции). Все изменения, внесенные в черновик, автоматически сохраняются.
Чтобы определить новую функцию с нуля, ознакомьтесь с разделом "Определение функции " ранее в этой статье.
Чтобы опубликовать функцию, выберите "Опубликовать".
В диалоговом окне подтверждения можно изменить имя и описание. Выберите Опубликовать.
Примечание.
После публикации функции она отображается всем пользователям. Затем функцию можно вызвать в других функциях, правилах, скоростях, правилах после принятия решений и правилах маршрутизации.
Сведения об использовании функций в других ресурсах, таких как функции, правила, скорости, действия после принятия решений и правила маршрутизации, см . в разделе "Вызов функций из ресурсов " далее в этой статье.
Панель "Пример"
При создании или изменении функции на стороне страницы появится панель "Пример ".
Функции не привязаны к каким-либо оценкам. Пример полезных данных представлен в качестве полезного руководства для пользователей, которые отображают все свойства событий, на которые можно ссылаться в функциях. Выберите тип события в поле "Событие" в верхней части области.
Пример полезных данных содержит пример свойств, которые можно отправить в API запросов для оценки.
Управление функцией
Чтобы изменить ранее опубликованную функцию, выберите функцию и нажмите кнопку "Изменить". Создается черновик опубликованной функции и доступен только вам. Все изменения, внесенные в черновик, автоматически сохраняются. Чтобы отправить изменения в рабочую среду, выберите " Опубликовать". Ранее опубликованная функция перезаписана изменениями. Чтобы вывести карта проект, выберите dis карта.
Чтобы удалить существующую функцию, выберите многоточие (...), а затем нажмите кнопку "Удалить".
Чтобы обновить имя или описание функции, выберите многоточие (...), а затем нажмите кнопку "Переименовать".
Чтобы найти функцию, введите ключевое слово в поле поиска. Выполняется поиск всех имен функций и описаний, а результаты фильтруются в соответствии с ключевое слово поиска.
Оценка функции
Перед публикацией функции можно использовать область оценки функции, чтобы убедиться, что она возвращает ожидаемые результаты.
- Чтобы открыть область оценки функции, выберите "Развернуть " на вкладке "Функции ".
- Чтобы закрыть область, нажмите кнопку Свернуть.
При открытии области оценки отображается список выходных свойств с его результатом. Оценка использует значения по умолчанию для входных параметров и значений из примера раздела полезных данных при определении возвращаемого значения. При изменении любого из этих значений выходные данные также изменяются. Таким образом, можно убедиться, что возвращаются правильные значения для каждого выходного свойства.
Вызов функций из ресурсов
Опубликованные функции можно вызывать из таких ресурсов, как правила, скорости, действия после принятия решений и правила маршрутизации. Доступ ко всем выходным свойствам, определенным в функции, можно получить путем вызова функции. Затем значения можно использовать для принятия решений.
Правила
Функции можно вызывать из любого правила (в пределах любой оценки) в той же среде и из дочерних сред в иерархии ниже. Дополнительные сведения о правилах см. в разделе "Правила".
LET $sum = Functions.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
RETURN Approve()
WHEN $sum > 5
Скорости
Функции можно вызывать из любой скорости в той же среде и из дочерних сред в иерархии ниже. Дополнительные сведения о скоростях см. в разделе "Выполнение скорости проверка".
SELECT DistinctCount(@"device.deviceContextId") AS Devices_Per_IP
FROM AccountLogin
WHEN Functions.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum > 5
GROUPBY @"device.ipAddress"
Правила после принятия решений
Функции можно вызывать из любого правила действий после принятия решений (в пределах любой оценки) в той же среде и из дочерних сред в иерархии ниже. Дополнительные сведения о правилах действий после принятия решений см. в разделе "Правила действий принятия решений после принятия решений".
DO SetResponse()
WHEN Functions.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum == 5
Правила маршрутизации
Функции можно вызывать из любых правил маршрутизации в той же среде и из дочерних сред в иерархии ниже. Дополнительные сведения о правилах маршрутизации см. в разделе "Управление делами".
ROUTETO Queue("General Queue")
WHEN Functions.MyFunction(@"purchase.request.totalAmount", @"purchase.request.salesTax").Calculate_Sum > 5
Наследование функций
Функции можно вызывать в той же среде и из дочерних сред в приведенной ниже иерархии. Синтаксис вызова зависит от того, где существует функция и откуда она вызывается. Ниже приведены различные способы вызова функций в много иерархии.
Примечание.
Если функция ссылается на ресурсы, такие как скорости, списки, внешние вызовы и внешние оценки, ресурсы также наследуются от дочерних сред в иерархии ниже при вызове функции.
Вызов функций, созданных в той же среде
В приведенном ниже примере вызывается функция из правила, в котором и правило, и функция существуют в одной среде.
LET $sum = Functions.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
RETURN Approve()
WHEN $sum > 5
Вызов функций, созданных в корневой среде
В приведенном ниже примере вызывается функция, созданная в корневом каталоге из дочерней среды.
LET $sum = Functions.root.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
RETURN Approve()
WHEN $sum > 5
Вызов функций, созданных в родительской среде
В приведенном ниже примере вызывается функция из немедленной родительской среды.
LET $sum = Functions.parent.MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
RETURN Approve()
WHEN $sum > 5
Вызов функций, созданных в любой среде над стеком
В приведенном ниже примере вызывается функция, созданная в среде над стеком, и наследуется из правила в нижней среде.
LET $sum = Functions.environment["environmentid"].MyFunction(@"totalAmount", @"salesTax").Calculate_Sum
RETURN Approve()
WHEN $sum > 5
Ограничения функций и ресурсов
Защита от мошенничества имеет ограничение на количество функций, которые можно создать для каждой среды, и количество ресурсов, на которые можно ссылаться в функции.
Ресурс | Ограничение | |
---|---|---|
Максимальное количество функций, которые могут быть опубликованы в среде | 30 | |
Максимальное количество выходных свойств, которые могут существовать в функции | 30 | |
Максимальное количество уникальных скоростей, на которые может ссылаться функция | 15 | |
Максимальное количество внешних вызовов, на которые может ссылаться функция | 2 | |
Максимальное число уникальных подстановок списка, на которые может ссылаться функция | 5 | |
Максимальное количество уникальных внешних оценок, на которые может ссылаться функция | 2 | |
Максимальное количество функций, которые может вызывать набор правил | 10 | |
Максимальное количество функций, которые может вызывать правило маршрутизации | 10 | |
Максимальное число функций, которые могут вызываться действием после принятия решений | 10 | |
Максимальное количество ресурсов, которые может вызывать скорость | 10 |