

截至 2025 年 11 月 7 日，亚马逊 Fraud Detector 不再向新客户开放。要获得与 Amazon Fraud Detector 类似的功能 SageMaker，请浏览亚马逊 AutoGluon、和 AWS WAF。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 创建探测器版本
<a name="create-a-detector-version"></a>

探测器版本定义了规则、规则执行顺序以及模型版本（可选），这些版本将用作生成欺诈预测的请求的一部分。您可以将探测器中定义的任何规则添加到检测器版本中。您也可以添加根据评估的事件类型训练的任何模型。

 每个探测器版本的状态均为`DRAFT``ACTIVE`、或`INACTIVE`。一次只能有一个探测器版本处于`ACTIVE`状态。在`GetEventPrediction`请求期间，如果未指定，Amazon Fraud Detec `DetectorVersion` tor 将使用`ACTIVE`探测器。

## 规则执行模式
<a name="rule-execution-mode"></a>

Amazon Fraud Detector 支持两种不同的规则执行模式：`FIRST_MATCHED`和`ALL_MATCHED`。
+ 如果规则执行模式为`FIRST_MATCHED`，则 Amazon Fraud Detector 会按顺序评估规则，从头到尾停在第一个匹配的规则处。然后，Amazon Fraud Detector 会提供该单一规则的结果。如果某条规则的计算结果为 false（不匹配），则会评估列表中的下一个规则。
+ 如果规则执行模式为`ALL_MATCHED`，则评估中的所有规则都将并行执行，无论其顺序如何。Amazon Fraud Detector 执行所有规则，并返回每条匹配规则的定义结果。

## 使用创建探测器版本 适用于 Python (Boto3) 的 AWS SDK
<a name="create-a-detector-version-using-the-aws-python-sdk"></a>

以下示例显示了对 `CreateDetectorVersion` API 的请求示例。规则执行模式设置为`FIRST_MATCHED`，因此 Amazon Fraud Detector 将从头到尾按顺序评估规则，在第一个匹配的规则处停止。然后，Amazon Fraud Detector 会在此期间提供该单一规则的结果`GetEventPrediction response`。

```
import boto3
fraudDetector = boto3.client('frauddetector')

fraudDetector.create_detector_version(
detectorId = 'sample_detector',
rules = [{
    'detectorId' : 'sample_detector',
    'ruleId' : 'high_fraud_risk',
    'ruleVersion' : '1'
},
{
    'detectorId' : 'sample_detector',
    'ruleId' : 'medium_fraud_risk',
    'ruleVersion' : '1'
},
{
    'detectorId' : 'sample_detector',
    'ruleId' : 'low_fraud_risk',
    'ruleVersion' : '1'
}
],
modelVersions = [{
    'modelId' : 'sample_fraud_detection_model',
    'modelType': 'ONLINE_FRAUD_INSIGHTS',
    'modelVersionNumber' : '1.00'
}],
ruleExecutionMode = 'FIRST_MATCHED'
)
```

要更新检测器版本的状态，请使用 `UpdateDetectorVersionStatus` API。以下示例将检测器版本状态从更新`DRAFT`为`ACTIVE`。在`GetEventPrediction`请求期间，如果未指定探测器 ID，Amazon Fraud Detector 将使用探测器的`ACTIVE`版本。

```
import boto3
fraudDetector = boto3.client('frauddetector')

fraudDetector.update_detector_version_status(
detectorId = 'sample_detector',
detectorVersionId = '1',
status = 'ACTIVE'
)
```