

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

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

# 导入 A SageMaker I 模型
<a name="import-an-amazon-sagemaker-model"></a>

您可以选择将 SageMaker 人工智能托管的模型导入 Amazon Fraud Detector。与模型类似，可以 SageMaker 将 AI 模型添加到探测器中，并使用 `GetEventPrediction` API 生成欺诈预测。作为`GetEventPrediction`请求的一部分，Amazon Fraud Detector 将调用您的 SageMaker 人工智能终端节点并将结果传递给您的规则。

您可以将 Amazon Fraud Detector 配置为使用作为`GetEventPrediction`请求一部分发送的事件变量。如果您选择使用事件变量，则必须提供输入模板。Amazon Fraud Detector 将使用此模板将您的事件变量转换为调用 SageMaker AI 终端节点所需的输入有效负载。或者，您可以将 SageMaker AI 模型配置为使用作为请求一部分发送的 ByteBuffer。`GetEventPrediction`

Amazon Fraud Detector 支持导入使用 JSON 或 CSV 输入格式以及 JSON 或 CSV 输出格式 SageMaker 的人工智能算法。支持的 SageMaker AI 算法示例包括 XGBoost Linear Learner 和 Random Cut Forest。

## 使用导入 SageMaker AI 模型 适用于 Python (Boto3) 的 AWS SDK
<a name="import-an-amazon-sagemaker-model-using-the-aws-python-sdk"></a>

要导入 A SageMaker I 模型，请使用 `PutExternalModel` API。以下示例假设 SageMaker AI 终端节点`sagemaker-transaction-model`已部署，处于`InService`状态并使用 XGBoost 算法。

输入配置指定将使用事件变量来构造模型输入（设置`useEventVariables`为`TRUE`）。如果 XGBoost 需要 CSV 输入，则输入格式为 TEXT\_CSV。 csvInputTemplate 指定如何根据作为`GetEventPrediction`请求的一部分发送的变量构建 CSV 输入。此示例假设您已经创建了变量`order_amt``prev_amt`、`hist_amt`和`payment_type`。

输出配置指定 SageMaker 人工智能模型的响应格式，并将相应的 CSV 索引映射到 Amazon Fraud Detector 变量`sagemaker_output_score`。配置完成后，即可在规则中使用输出变量。

**注意**  
 SageMaker AI 模型的输出必须映射到带有源的变量`EXTERNAL_MODEL_SCORE`。您无法使用变量在控制台中创建这些**变量**。改为在配置模型导入时必须创建它们。

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

fraudDetector.put_external_model (
modelSource = 'SAGEMAKER',
modelEndpoint = 'sagemaker-transaction-model',
invokeModelEndpointRoleArn = 'your_SagemakerExecutionRole_arn',
inputConfiguration = {
    'useEventVariables' : True,
    'eventTypeName' : 'sample_transaction',
    'format' : 'TEXT_CSV',
    'csvInputTemplate' : '{{order_amt}}, {{prev_amt}}, {{hist_amt}}, {{payment_type}}'
},

outputConfiguration = {
    'format' : 'TEXT_CSV',
    'csvIndexToVariableMap' : {
        '0' : 'sagemaker_output_score'
    }
},
    
modelEndpointStatus = 'ASSOCIATED'
)
```