

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

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

# 资源
<a name="create-resources"></a>

模型、规则和探测器使用变量、结果、标签、列表和实体等资源来评估事件的欺诈风险。本节提供有关创建和管理资源的信息。

**Topics**
+ [变量](variables.md)
+ [标签](labels.md)
+ [Rules](rules.md)
+ [Lists](lists.md)
+ [成果](outcomes.md)
+ [实体](entity.md)
+ [使用管理亚马逊 Fraud Detector 资源 AWS CloudFormation](managing-resources-using-cloudformation.md)

# 变量
<a name="variables"></a>

变量表示您要在欺诈预测中使用的数据元素。这些变量可以取自您为训练模型准备的事件数据集、Amazon Fraud Detector 模型的风险评分输出或亚马逊 SageMaker AI 模型。有关从事件数据集中获取的变量的更多信息，请参阅[使用数据模型资源管理器获取事件数据集要求](create-event-dataset.md#prepare-event-dataset)。

必须先创建要在欺诈预测中使用的变量，然后在创建事件类型时将其添加到事件中。您创建的每个变量都必须分配一个数据类型、一个默认值以及一个可选的变量类型。Amazon Fraud Detector 丰富了您提供的一些变量，例如 IP 地址、银行识别码 (BINs) 和电话号码，以创建更多输入并提高使用这些变量的模型的性能。

## 数据类型
<a name="data-types"></a>

变量必须具有变量所表示的数据元素的数据类型，并且可以选择为其分配一个预定义的数据类型[变量类型](#variable-types)。对于分配给变量类型的变量，会预先选择数据类型。可能的数据类型包括以下类型：


| 数据类型 | 说明  | 默认 值 | 示例值 | 
| --- | --- | --- | --- | 
| 字符串 | 字母、整数或两者的任意组合 | <empty> |  abc、123、1D3B  | 
| 整数 | 正整数或负整数 | 0 | 1, -1 | 
| 布尔值 | 对还是错 | False | True, False | 
| DateTime | 仅以 ISO 8601 标准 UTC 格式指定的日期和时间 | <empty> | 2019-11-30T 13:01:01 Z | 
| 浮点型 | 带小数点的数字 | 0.0 | 4.01、0.10 | 

## 默认 值
<a name="default-value"></a>

变量必须具有默认值。当 Amazon Fraud Detector 生成欺诈预测时，如果 Amazon Fraud Detector 没有收到变量的值，则使用此默认值来运行规则或模型。您提供的默认值必须与选定的数据类型相匹配。在 AWS 控制台中，Amazon Fraud Detector `0` 为整数、`false`布尔值、浮点数和`0.0`字符串分配默认值（空）。您可以为其中任何一种数据类型设置自定义默认值。

## 变量类型
<a name="variable-types"></a>

创建变量时，可以选择将变量分配给变量类型。变量类型表示用于训练模型和生成欺诈预测的常见数据元素。只有关联变量类型的变量才能用于模型训练。作为模型训练过程的一部分，Amazon Fraud Detector 使用与变量关联的变量类型来执行变量扩充、功能工程和风险评分。

Amazon Fraud Detector 已预先定义了以下变量类型，这些变量类型可用于分配给您的变量。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/frauddetector/latest/ug/variables.html)

### 将变量赋给变量类型
<a name="assign-variable-to-variable-type"></a>

如果您计划使用变量来训练模型，请务必选择正确的变量类型来分配给该变量。不正确的变量类型分配可能会对模型性能产生负面影响。以后更改赋值也可能变得非常困难，尤其是在多个模型和事件都使用了该变量的情况下。

您可以为变量分配任何一种预定义变量类型或其中一种自定义变量类型 — `FREE_FORM_TEXT` `CATEGORICAL`、或`NUMERIC`。

**为正确的变量类型分配变量的重要注意事项**

1. 如果该变量与预定义的变量类型之一匹配，请使用它。确保变量类型与变量相对应。例如，如果您为变量类型分配一个 *ip\$1addr* ess `EMAIL_ADDRESS` 变量，则 ip\$1address 变量将不会充实 ASN、ISP、地理位置和风险评分等丰富内容。有关更多信息，请参阅 [变量丰富](#variable-enrichments)。

1. 如果变量与任何预定义的变量类型都不匹配，请按照下面列出的建议分配其中一个自定义变量类型。

1. 为`CATEGORICAL`变量分配变量类型，这些变量通常没有自然排序，可以归入类别、区段或组。*您用来训练模型的数据集可能有 ID 变量，例如 m *erchant\$1id、campaign\$1id* 或 policy *\$1i* d。*这些变量代表群组（例如，所有具有相同 policy\$1id 的客户都代表一个群组）。必须为具有以下数据的变量分配分类变量类型-
   + **包含*客户 ID、细分市场 ID、col *or\$1* ID* *、部门代码或产品 ID* 等数据的变量。**
   + 包含布尔值为真、假或空值的变量。
   + 可以分组或类别的变量，例如公司名称、产品类别、卡片类型或推荐媒介。
**注意**  
`ENTITY_ID`是 Amazon Fraud Detector 用来分配给 ENTITY\$1ID 变量的保留变量类型。ENTITY\$1ID 变量是启动要评估的操作的实体的 ID。如果您要创建 “交易欺诈洞察” (TFI) 模型类型，则需要提供 ENTITY\$1ID 变量。您需要决定数据中的哪个变量唯一标识启动操作的实体，并将其作为 ENTITY\$1ID 变量传递。将 CATEGORICAL 变量类型分配给数据集 IDs 中的所有其他变量，前提是它们存在并且您是否正在使用它们进行模型训练。*其他不 IDs 属于您的数据集实体的示例可以是*卖家 ID、P *olicy\$1ID 和 Campaign\$1* ID*。*

1. 为包含文本块的变量分配`FREE_FORM_TEXT`变量类型。*FREE\$1FORM\$1TEXT 变量类型的示例有：*用户评论*、*评论*、*日期和推荐码*。*FREE\$1FORM\$1TEXT 数据包含多个由分隔符分隔的标记。分隔符可以是除字母数字和下划线符号以外的任何字符。例如，用户评论和评论可以用 “空格” 分隔符分隔，日期和推荐代码可以使用连字符作为分隔符来分隔前缀、后缀和中间部分。Amazon Fraud Detector 使用分隔符从 FREE\$1FORM\$1TEXT 变量中提取数据。

1. 为实*数且具有固有顺序的变量赋值 NUMER* IC 变量类型。**数字变量的示例包括 *day\$1of\$1the\$1week、事件严重性、客户评级*。**尽管您可以为这些变量分配 CATEGORICAL 变量类型，但我们强烈建议将所有具有固有顺序的实数变量赋给 NUMERIC 变量类型。

## 变量丰富
<a name="variable-enrichments"></a>

Amazon Fraud Detector 丰富了您提供的一些原始数据元素，例如 IP 地址、银行识别号码 (BINs) 和电话号码，以创建更多输入并提高使用这些数据元素的模型的性能。丰富功能有助于识别潜在的可疑情况，并帮助模型捕获更多的欺诈行为。

### 电话号码充实
<a name="phone-number-enrichment"></a>

Amazon Fraud Detector 通过与地理位置、原始运营商和电话号码有效性相关的其他信息来丰富电话号码数据。所有在 *2021 年 12 月 13 日*当天或之后接受培训且电话号码包含国家/地区代码 (\$1xxx) 的模特都会自动启用电话号码扩充功能。如果您在模型中加入了电话号码变量，并且在 *2021 年 12 月 13 日*之前对其进行了训练，请重新训练您的模型，使其能够利用此增强功能。

我们强烈建议您对电话号码变量使用以下格式，以确保成功丰富您的数据。


| 变量 | Format | 说明 | 
| --- | --- | --- | 
| PHONE\$1NUMBER | [E.164 标准](https://en.wikipedia.org/wiki/E.164) | 请务必在电话号码中包含国家/地区代码 (\$1xxx)。 | 
| 账单\$1电话和配送\$1电话 | [E.164 标准](https://en.wikipedia.org/wiki/E.164) | 请务必在电话号码中包含国家/地区代码 (\$1xxx)。 | 

### 丰富地理定位
<a name="geolocation-enrichment"></a>

从 *2022 年 2 月 8 日起，*Amazon Fraud Detector 将计算您为活动提供的 IP 地址、账单邮政编码和 SHIPPING\$1ZIP 值之间的物理距离。计算出的距离用作欺诈检测模型的输入。

要启用地理位置丰富功能，您的事件数据必须至少包含三个变量中的两个：IP\$1ADDRESS、BILLING\$1ZIP 或 SHIPPING\$1ZIP。此外，每个 BILLING\$1ZIP 和 SHIPPING\$1ZIP 值必须分别具有有效的账单国家/地区代码和 SHIPPING\$1COUNTRY 代码。如果您的模型在 *2022 年 2 月 8 日之前训练过，*并且包含这些变量，则必须重新训练模型以启用地理定位扩展。

如果由于数据无效，Amazon Fraud Detector 无法确定与事件的 IP\$1ADDRESS、BILLING\$1ZIP 或 SHIPPING\$1ZIP 值关联的位置，则改用特殊的占位符值。例如，假设一个事件具有有效的 IP\$1ADDRESS 和 BILLING\$1ZIP 值，但是 SHIPPING\$1ZIP 值无效。在这种情况下，仅对 IP\$1ADDRESS—> BILLING\$1ZIP 进行扩充。未对 IP\$1ADDRESS — >SHIPPING\$1ZIP 和 BILLING\$1ZIP — >SHIPPING\$1ZIP 进行扩展。取而代之的是使用占位符值来代替它们。无论您的模型是否启用了地理位置扩展，模型的性能都不会改变。

您可以通过将 BILLING\$1ZIP 和 SHIPPING\$1ZIP 变量映射到 CUSTOM\$1CATEGORICAL 变量类型来选择退出地理位置扩展。更改变量类型不会影响模型的性能。

**地理定位变量格式**

我们强烈建议您对地理位置变量使用以下格式，以确保成功丰富您的位置数据。


| 变量 | Format | 说明 | 
| --- | --- | --- | 
| IP\$1ADDRESS | [IPv4](https://en.wikipedia.org/wiki/IP_address#IPv4_addresses)地址 | 例如-1.1.1.1 | 
| 账单邮政编码和配送邮政编码 | 指定国家/地区的 [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) 邮政编码  | 有关更多信息，请参阅本主题中的国家和地区代码部分。 | 
| 账单所在国家/地区和配送国家 | [ISO 3166-1 alpha-2 双字母](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)标准国家/地区代码 | 有关更多信息，请参阅本主题中的国家和地区代码部分。Amazon Fraud Detector 试图将一个国家/地区名称的所有常见变体与其 ISO 3166-1 两个字母的标准国家/地区代码进行匹配。但是，我们不能保证它们会正确匹配。 | 

#### 国家和地区代码
<a name="countries-code-format"></a>

下表提供了 Amazon Fraud Detector 支持用于丰富地理位置的国家和地区的完整列表。每个国家和地区都有指定的国家/地区代码（具体而言，ISO 3166-1 alpha-2 由两个字母组成的国家/地区代码）和一个邮政编码。

**邮政编码格式**
+ 9-数字
+  a-字母
+ [X]-X 是可选的。例如，Guersney “GY9[9] 9aa” 表示 “9aa” 和 “GY9 9aa” 均有效GY99 。使用一种格式。
+ [X/XX]-可以使用 X 或 XX。例如，百慕大 “aa [aa/99]” 表示 “aa aa” 和 “aa 99” 均有效。使用其中任何一种格式，但*不要*同时使用这两种格式。
+ 有些国家/地区有固定的前缀。例如，安道尔的 AD999邮政编码是。这意味着国家/地区代码必须以字母 *AD* 开头，后跟三个数字。


| 代码 | Name  | 邮政编码 | 
| --- | --- | --- | 
| AD | 安道尔 | AD999 | 
| AR | 荷属安的列斯 | 9999 | 
| AT | 奥地利 | 9999 | 
| AU | 澳大利亚 | 9999 | 
| AZ | 阿塞拜疆 | AZ 9999 | 
| BD | 孟加拉国 | 9999 | 
| BE | 比利时 | 9999 | 
| BG | 保加利亚 | 9999 | 
| BM | 百慕大 | aa [aa/99] | 
| BY | 白俄罗斯 | 999999 | 
| CA | 加拿大 | a9a 9a9 | 
| CH | 瑞士 | 9999 | 
| CL | 智利 | 9999999 | 
| CO | 哥伦比亚 | 999999 | 
| CR | 哥斯达黎加 | 99999 | 
| CY | 塞浦路斯 | 9999 | 
| CZ | 捷克 | 999 99 | 
| DE | 德国 | 99999 | 
| DK | 丹麦 | 9999 | 
| DO | 多米尼加共和国 | 99999 | 
| DZ | 阿尔及利亚 | 99999 | 
| EE | 爱沙尼亚 | 99999 | 
| ES | 西班牙 | 99999 | 
| FI | 芬兰 | 99999 | 
| FM | Federated States of Micronesia | 99999 | 
| FO | 法罗群岛 | 999 | 
| FR | 法国 | 99999 | 
| GB | 英国 | a [a] 9 [a/9] 9aa  | 
| GG | 根西岛 | GY9[9] 9aa | 
| GL | 格陵兰 | 9999 | 
| GP | 瓜德罗普 | 99999 | 
| GT | 危地马拉 | 99999 | 
| GU | 关岛 | 99999 | 
| HR | 克罗地亚 | 99999 | 
| HU | 匈牙利 | 9999 | 
| IE | 爱尔兰 | a99 [a/9] [a/9] [a/9] [a/9] | 
| IM | 马恩岛 | IM9[9] 9aa | 
| IN | 印度 | 999999 | 
| IS | Iceland | 999 | 
| IT | 意大利 | 99999 | 
| JE | Jersey | JE9[9] 9aa | 
| JP | 日本 | 999-9999 | 
| KR | 大韩民国 | 99999 | 
| LI | 列支敦士登 | 9999 | 
| LK | 斯里兰卡 | 99999 | 
| LT | 立陶宛 | 99999 | 
| LU | 卢森堡 | L-9999 | 
| LV | 拉脱维亚 | LV-9999 | 
| MC | 摩纳哥 | 99999 | 
| MD | 摩尔多瓦共和国 | 9999 | 
| MH | 马绍尔群岛 | 99999 | 
| MK | 北马其顿 | 9999 | 
| MP | 北马里亚纳群岛 | 99999 | 
| MQ | Matinique | 99999 | 
| MT | 马耳他 | aaa 9999 | 
| MX | 墨西哥 | 99999 | 
| MY | 马来西亚 | 99999 | 
| NL | 荷兰 | 999 aa | 
| NO | 挪威 | 9999 | 
| NZ | 新西兰 | 9999 | 
| PH | 菲律宾 | 9999 | 
| PK | 巴基斯坦 | 99999 | 
| PL | 波兰 | 99-999 | 
| PR | 波多黎各 | 99999 | 
| PT | 葡萄牙 | 9999-999 | 
| PW | 帕劳群岛 | 99999 | 
| RE |  留尼汪  | 99999 | 
| RO | 罗马尼亚 | 999999 | 
| RU | 俄罗斯联邦 | 999999 | 
| SE | 瑞典 | 999 99 | 
| SG | 新加坡 | 999999 | 
| SI | 斯洛文尼亚 | 9999 | 
| SK | 斯洛伐克 | 999 99 | 
| SM | 圣马力诺 | 99999 | 
| TH | 泰国 | 99999 | 
| TR | 土耳其 | 99999 | 
| UA | 乌克兰 | 99999 | 
| 美国 | 美国 | 99999 | 
| UY | 乌拉圭 | 99999 | 
| VI | 美属维尔京群岛 | 99999 | 
| WF | 瓦利斯和富图纳群岛 | 99999 | 
| YT | 马约特岛 | 99999 | 
| ZA | 南非 | 9999 | 

### 用户代理充实
<a name="useragent-enrichment"></a>

如果您创建账户接管见解 (ATI) 模型，则必须在数据集中提供`useragent`变量类型的变量。此变量包含登录事件的浏览器、设备和操作系统数据。Amazon Fraud Detector 使用其他信息（例如`user_agent_family``OS_family`、和）丰富了用户代理数据。`device_family`

# 创建变量
<a name="create-a-variable"></a>

您可以在 Amazon Fraud Detector 控制台中[创建变量，使用创建变量](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/frauddetector/create-variable.html)命令 [CreateVariable](https://docs.aws.amazon.com/frauddetector/latest/api/API_CreateVariable.html)，使用或使用 适用于 Python (Boto3) 的 AWS SDK

## 使用 Amazon Fraud Detector 控制台创建变量
<a name="create-a-variable-using-console"></a>

此示例创建了两个变量`email_address`和`ip_address`，并将它们分配给相应的变量类型（`EMAIL_ADDRESS`和`IP_ADDRESS`）。这些变量用作示例。如果您要创建用于模型训练的变量，请使用数据集中适合您的用例的变量。在创建变量[变量丰富](variables.md#variable-enrichments)之前[变量类型](variables.md#variable-types)，请务必阅读和的内容。

**要创建变量，**

1. 打开 [AWS 管理控制台](https://console.aws.amazon.com/)，登录您的账户。

1. 导航至 Amazon Fraud Detector，在左侧导航栏中选择 “**变量**”，然后选择 “**创建**”。

1. 在 “**新建变量**” 页面中，输入变量名`email_address`作为变量。（可选）输入变量的描述。

1. 在**变量类型**中，选择**电子邮件地址**。

1. Amazon Fraud Detector 会自动为此变量类型选择数据类型，因为该变量类型是预定义的。如果您的变量未自动分配变量类型，请从列表中选择变量类型。有关更多信息，请参阅 [变量类型](variables.md#variable-types)。

1. 如果要为变量提供默认值，请选择 “**定义自定义默认值**”，然后为变量输入默认值。如果您正在使用此示例，请跳过此步骤。

1. 选择**创建**。

1. 在 **email\$1address 概述**页面中，确认您刚刚创建的变量的详细信息。

   如果您需要更新，请选择**编辑**并提供更新。选择**保存更改**。

1. 重复该过程以创建另一个变量`ip_address`，然后为变量类型选择 **IP 地址**。

1. **变量**页面显示新创建的变量。

**重要**  
我们建议您根据需要从数据集中创建任意数量的变量。您可以稍后在创建事件类型时决定要包含哪些变量来训练模型以检测欺诈和生成欺诈检测。

## 使用创建变量 适用于 Python (Boto3) 的 AWS SDK
<a name="create-a-variable-using-the-aws-python-sdk"></a>

以下示例显示了对 [CreateVariable](https://docs.aws.amazon.com/frauddetector/latest/api/API_CreateVariable.html)API 的请求。该示例创建了两个变量`email_address`和`ip_address`，并将它们分配给相应的变量类型（`EMAIL_ADDRESS`和`IP_ADDRESS`）。

这些变量用作示例。如果您要创建用于模型训练的变量，请使用数据集中适合您的用例的变量。在创建变量[变量丰富](variables.md#variable-enrichments)之前[变量类型](variables.md#variable-types)，请务必阅读和的内容。

请务必指定变量源。它有助于确定变量值的派生位置。如果变量源为 EV **EN** T，则变量值将作为[GetEventPrediction](https://docs.aws.amazon.com/frauddetector/latest/api/API_GetEventPrediction.html)请求的一部分发送。如果变量值为`MODEL_SCORE`，则由 Amazon Fraud Detector 填充它。如果为`EXTERNAL_MODEL_SCORE`，则变量值由导入的 SageMaker AI 模型填充。

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

 #Create variable email_address
   fraudDetector.create_variable(
     name = 'email_address',
     variableType = 'EMAIL_ADDRESS',
     dataSource = 'EVENT',
     dataType = 'STRING',
     defaultValue = '<unknown>'
     )

#Create variable ip_address
   fraudDetector.create_variable(
     name = 'ip_address',
     variableType = 'IP_ADDRESS',
     dataSource = 'EVENT',
     dataType = 'STRING',
     defaultValue = '<unknown>'
     )
```

# 删除变量
<a name="delete-variable"></a>

当您删除变量时，Amazon Fraud Detector 会永久删除该变量，并且数据将不再存储在 Amazon Fraud Detector 中。

您无法在 Amazon Fraud Detector 中删除事件类型中包含的变量。您必须先删除与该变量关联的事件类型，然后再删除该变量。

您无法手动删除 Amazon Fraud Detector 模型输出变量和 SageMaker AI 模型输出变量。当您删除模型时，Amazon Fraud Detector 会自动删除模型输出变量。

您可以在 Amazon Fraud Detec [tor 控制台中删除变量，使用删除变量 CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/frauddetector/delete-variable.html) 命令，使用 [DeleteVariable](https://docs.aws.amazon.com/frauddetector/latest/api/API_DeleteVariable.html)API 或使用 适用于 Python (Boto3) 的 AWS SDK

## 使用控制台删除变量
<a name="delete-variable-console"></a>

**要删除变量，**

1. 登录 AWS 管理控制台 并打开 Amazon Fraud Detector 控制台，网址为 [https://console.aws.amazon.com/fra](https://console.aws.amazon.com/frauddetector) uddetector。

1. 在 Amazon Fraud Detector 控制台的左侧导航窗格中，选择**资源**，然后选择**变量**。

1. 选择要删除的变量。

1. 选择**操作**，然后选择**删除**。

1. 输入变量名，然后选择**删除变量**。

## 使用删除变量 适用于 Python (Boto3) 的 AWS SDK
<a name="delete-variable-using-the-aws-python-sdk"></a>

以下代码示例使用 API 删除变量 *customer\$1nam* e。[DeleteVariable](https://docs.aws.amazon.com/frauddetector/latest/api/API_DeleteVariable.html)

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

fraudDetector.delete_variable (

name = 'customer_name'

)
```

# 标签
<a name="labels"></a>

标签将事件归类为欺诈事件或合法事件。标签与事件类型相关联，用于在 Amazon Fraud Detector 中训练机器学习模型。*如果您计划训练在线欺诈洞察 (OFI) 或交易欺诈洞察 (TFI) 模型，则必须将训练数据集中至少 400 个事件归类为欺*诈*事件或合法事件。*您可以使用任何标签（例如*欺诈*、*合法*、*1* 或 *0*）对训练数据集中的事件进行分类。训练完成后，经过训练的模型会评估欺诈事件，并使用这些值将事件归类为欺诈事件或合法事件。

您必须先使用训练数据集中使用的值创建标签，然后将这些标签与用于构建和训练欺诈检测模型的事件类型相关联。

# 创建标签
<a name="create-a-label"></a>

您可以在 Amazon Fraud Detector 控制台中创建[标签，使用 put-label](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/frauddetector/put-label.html) 命令，使用 [PutLabel](https://docs.aws.amazon.com/frauddetector/latest/api/API_PutLabel.html)API 或使用。 适用于 Python (Boto3) 的 AWS SDK

## 使用 Amazon Fraud Detector 控制台创建标签
<a name="create-a-label-console"></a>

**要创建标签，**

1. 打开 [AWS 管理控制台](https://console.aws.amazon.com/)，登录您的账户。

1. 导航至 Amazon Fraud Detector，在左侧导航栏中选择 “**标签**”，然后选择 “**创建**”。

1. 在 “**创建标签**” 页面中，输入欺诈事件的标签名称作为标签名称。标签名称必须与训练数据集中代表欺诈活动的标签相对应。（可选）输入标签的描述。

1. 选择**创建标签**。

1. 创建第二个标签并输入合法事件的标签名称。确保标签名称与代表训练数据集中合法活动的值相对应。

## 使用创建标签 适用于 Python (Boto3) 的 AWS SDK
<a name="create-a-label-using-the-aws-python-sdk"></a>

以下 适用于 Python (Boto3) 的 AWS SDK 示例代码使用 [PutLabel](https://docs.aws.amazon.com/frauddetector/latest/api/API_PutLabel.html)API 创建了两个标签（欺诈、合法）。创建标签后，您可以将其添加到事件类型中以对特定事件进行分类。

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

fraudDetector.put_label(
name = 'fraud',
description = 'label for fraud events'
)

fraudDetector.put_label(
name = 'legit',
description = 'label for legitimate events'
)
```

# 更新标签
<a name="update-label"></a>

如果您的事件数据集存储在 Amazon Fraud Detector 中，则可能需要为存储的事件添加或更新标签，例如当您对事件进行离线欺诈调查并想要关闭机器学习反馈循环时。

 您可以使用[update-event-label](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/frauddetector/update-event-label.html)命令、[UpdateEventLabel](https://docs.aws.amazon.com/frauddetector/latest/api/API_UpdateEventLabel.html)API 或使用，为存储的事件添加或更新标签 适用于 Python (Boto3) 的 AWS SDK 

以下 适用于 Python (Boto3) 的 AWS SDK 示例代码添加了一个标签*欺诈*，该标签与使用 `UpdateEventLabel` API *注册*的事件类型相关联。

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

fraudDetector.update_event_label(
            eventId        = '802454d3-f7d8-482d-97e8-c4b6db9a0428',
            eventTypeName  = 'registration',
            assignedLabel  = 'fraud',
            labelTimestamp = '2020-07-13T23:18:21Z'
)
```

# 更新存储在 Amazon Fraud Detector 中的事件数据中的事件标签
<a name="update-event-labels"></a>

对于已经存储在 Amazon Fraud Detector 中的事件，您可能需要添加或更新欺诈标签，例如当您对某个事件进行离线欺诈调查并想要关闭机器学习反馈循环时。要更新已存储在 Amazon Fraud Detector 中的事件的标签，请使用 `UpdateEventLabel` API 操作。以下显示了 UpdateEventLabel API 调用的示例。

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

fraudDetector.update_event_label(
            eventId        = '802454d3-f7d8-482d-97e8-c4b6db9a0428',
            eventTypeName  = 'sample_registration',
            assignedLabel  = 'fraud',
            labelTimestamp = '2020-07-13T23:18:21Z'
)
```

# 删除标签
<a name="delete-label"></a>

当您删除标签时，Amazon Fraud Detector 会永久删除该标签，并且数据将不再存储在 Amazon Fraud Detector 中。

您无法删除 Amazon Fraud Detector 事件类型中包含的标签。而且您也无法删除分配给事件 ID 的标签。必须先删除相关的事件 ID。

您可以在 Amazon Fraud Detector 控制台中[删除标签，使用删除标签](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/frauddetector/delete-label.html)命令，使用 [DeleteLabel](https://docs.aws.amazon.com/frauddetector/latest/api/API_DeleteLabel.html)API 或使用 适用于 Python (Boto3) 的 AWS SDK

## 使用控制台删除标签
<a name="delete-label-console"></a>

**删除标签**

1. 登录 AWS 管理控制台 并在 [https://console.aws.amazon.com/frauddetector 上打开 Amazon Fraud Detector](https://console.aws.amazon.com/frauddetector) 控制台。

1. 在 Amazon Fraud Detector 控制台的左侧导航窗格中，选择**资源**，然后选择**标签**。

1. 选择要删除的标签。

1. 选择**操作**，然后选择**删除**。

1. 输入标签名称，然后选择**删除标签**。

## 使用删除标签 适用于 Python (Boto3) 的 AWS SDK
<a name="delete-label-using-the-aws-python-sdk"></a>

以下 适用于 Python (Boto3) 的 AWS SDK 示例代码使用 [DeleteLabel](https://docs.aws.amazon.com/frauddetector/latest/api/API_DeleteLabel.html)API 删除*了合法*标签。

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

fraudDetector.delete_event_label (
    name = 'legit'
)
```

# Rules
<a name="rules"></a>

规则是一种条件，它告诉 Amazon Fraud Detector 在欺诈预测期间如何解释变量值。规则是探测器逻辑的一部分，它由以下元素组成：
+ **变量或列表**-变量表示事件数据集中您要在欺诈预测中使用的数据元素。列表是事件数据集中变量的一组输入数据元素。规则中使用的变量必须在评估的事件类型中预定义，并且规则中使用的列表必须与变量类型相关联。有关更多信息，请参阅[变量](variables.md)和[Lists](lists.md)。
+ **表达式**-规则中的表达式可以捕获您的业务逻辑。如果在规则中使用变量，则使用变量、比较运算符（例如 >、<、<=、>=。==）和值构造一个简单的规则表达式。如果您使用的是列表，则规则表达式将构造为列表条目`in`、和列表名称。有关更多信息，请参阅 [规则语言参考](rule-language-reference.md)。您可以使用`and`和将多个表达式组合在一起`or`。所有表达式的计算结果都必须为布尔值（真或假），并且长度必须小于 4,000 个字符。不支持 if-else 类型条件。
+ **结果 — 结果**是 Amazon Fraud Detector 在匹配规则时返回的响应。结果表明欺诈预测的结果。您可以为每种可能的欺诈预测创建结果并将其添加到规则中。有关更多信息，请参阅 [成果](outcomes.md)。

探测器必须至少有一个关联的规则。一条规则最多可以有 3 个列表，而一个检测器最多可以有 30 个列表。作为检测器创建过程的一部分，您可以创建规则。您也可以创建新规则并将其与现有检测器相关联。

# 规则语言参考
<a name="rule-language-reference"></a>

以下部分概述了 Amazon Fraud Detector 中的表达式（即规则编写）功能。

## 使用变量
<a name="using-variables"></a>

您可以使用已评估事件类型中定义的任何变量作为表达式的一部分。使用美元符号表示变量：

```
$example_variable < 100
```

## 使用列表
<a name="using-lists"></a>

您可以使用任何与变量类型关联且填充有条目的列表作为规则表达式的一部分。使用美元符号表示列表条目值：

```
$example_list_variable in @list_name
```

## 比较、成员资格和身份运算符
<a name="compare-id-ops"></a>

Amazon Fraud Detector 包括以下比较运算符：>、>=、<、<=、\$1 =、==、in、not in

示例如下：

示例：<

```
$variable < 100
```

示例：在，不在

```
$variable in [5, 10, 25, 100]
```

示例：！ =

```
$variable != "US"
```

示例：==

```
$variable == 1000
```

**操作员表**


| 运算符 | 亚马逊 Fraud Detector 操作员 | 
| --- | --- | 
| 等于  | == | 
| 不等于  | \$1= | 
| Greater than | > | 
| Less than | < | 
| 大于或等于 | >= | 
| 小于或等于 | <= | 
| In | in | 
| And | 和 | 
| Or | 或者 | 
| Not | \$1 | 

## 基础数学
<a name="basic-math"></a>

可以在表达式中使用基本的数学运算符（例如，\$1、-、\$1、/）。一个典型的用例是在评估期间需要合并变量时。

在下面的规则中，我们将变量`$variable_1`与相加`$variable_2`，并检查总数是否小于 10。

```
$variable_1 + $variable_2 < 10
```

**基本数学表数据**


| 运算符 | 亚马逊 Fraud Detector 操作员 | 
| --- | --- | 
| Plus | \$1 | 
| 减去 | - | 
| Multiply | \$1 | 
| Divide | / | 
| 取模 | % | 

## 正则表达式（正则表达式）
<a name="reg-expressions"></a>

您可以使用正则表达式来搜索作为表达式一部分的特定模式。如果您要为其中一个变量匹配特定的字符串或数值，则此功能特别有用。Amazon Fraud Detector 仅在使用正则表达式时支持匹配（例如，它 True/False 根据提供的字符串是否与正则表达式匹配而返回）。Amazon Fraud Detector 的正则表达式支持基于 java 中的.matches ()（使用 RE2 J 正则表达式库）。互联网上有几个有用的网站，可用于测试不同的正则表达式模式。

在下面的第一个示例中，我们首先将变量`email`转换为小写。然后我们检查该模式`@gmail.com`是否在`email`变量中。请注意，第二个句点已转义，以便我们可以显式检查字符串`.com`。

```
regex_match(".*@gmail\.com", lowercase($email))
```

在第二个示例中，我们检查变量是否`phone_number`包含国家/地区代码，`+1`以确定电话号码是否来自美国。加号被转义以便我们可以显式检查字符串`+1`。

```
regex_match(".*\+1", $phone_number)
```

**正则表达式表**


| 运算符 | 亚马逊 Fraud Detector 示例 | 
| --- | --- | 
| 匹配任何以开头的字符串 | regex\$1match（“^mystring”，\$1variable） | 
| 精确匹配整个字符串 | regex\$1match（“mystring”，\$1variable） | 
| 匹配除换行之外的任何字符 | regex\$1match (” 。 “，\$1变量） | 
| 匹配任意数量的字符，但'mystring'之前的换行符除外 | regex\$1match (”。 \$1mystring”，\$1变量） | 
| 逃避特殊字符 | \$1 | 

## 正在检查缺失值
<a name="missing-variables"></a>

有时，检查该值是否缺失是有益的。在 Amazon Fraud Detector 中，它用空值表示。你可以使用以下语法来做到这一点：

```
$variable != null
```

同样，如果你想检查值是否不存在，你可以执行以下操作：

```
$variable == null
```

## 多种条件
<a name="multi-cond"></a>

您可以使用`and`和将多个表达式组合在一起`or`。当找到单个真值时，Amazon Fraud Detector 会停在`OR`表达式中，当找到单个假值`AND`时，它会停在表达式中。

在下面的示例中，我们使用条件检查两个`and`条件。在第一条语句中，我们正在检查变量 1 是否小于 100。在第二个中，我们检查变量 2 是否不是美国。

如果规则使用`and`，则两者都必须为 TRUE 才能使整个条件计算为 TRUE。

```
$variable_1 < 100 and $variable_2 != "US"
```

您可以使用圆括号对布尔运算进行分组，如下所示：

```
$variable_1 < 100 and $variable_2 != "US" or ($variable_1 * 100.0 > $variable_3)
```

## 其他表达式类型
<a name="expressions"></a>

### DateTime 函数
<a name="date-time"></a>


| 函数 | 说明 | 示例 | 
| --- | --- | --- | 
| 获取当前日期时间 () | 以 ISO8601 UTC 格式提供规则执行的当前时间。你可以使用 getepochmliseconds (getcurrentdatetime ()) 来执行其他操作  | getcurrentdatetime () == “2023-03-28T 18:34:02 Z” | 
| is before (DateTime1, DateTime 2) | 如果调用方 DateTime 1 在 2 之前，则返回布尔值（真/假） DateTime | isbefore（获取当前日期时间 ()，“2019-11-30T 01:01:01 Z”）== “False” isbefore（获取当前日期时间 ()，“2050-11-30T 01:05:01 Z”）== “True” | 
| isafter (DateTime1, DateTime 2) | 如果调用方 DateTime 1 在 2 之后，则返回布尔值（真/假） DateTime | isafter（获取当前日期时间 ()，“2019-11-30T 01:01:01 Z”）== “True” isafter（获取当前日期时间 ()，“2050-11-30T 01:05:01 Z”）== “False” | 
| getepochmliseconds () DateTime | 取一个， DateTime 并以纪元毫秒 DateTime 为单位返回。对于对日期进行数学运算很有用 | getepochmilliseconds（“2019-11-30T 01:01:01 Z”）== 1575032461 | 

### 字符串运算符
<a name="string-ops"></a>


| 运算符 | 示例 | 
| --- | --- | 
| 将字符串转换为大写 | 大写（\$1变量） | 
| 将字符串转换为小写 | 小写（\$1变量） | 

### 其他
<a name="other"></a>


| 运算符 | Comment | 
| --- | --- | 
|  添加评论  |  \$1 我的评论  | 

# 创建规则
<a name="create-a-rule"></a>

您可以在 Amazon Fraud Detector 控制台中[创建规则，使用 create-](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/frauddetector/create-rule.html) rule 命令，使用 [CreateRule](https://docs.aws.amazon.com//frauddetector/latest/api/API_CreateRule.html)API 或使用。 适用于 Python (Boto3) 的 AWS SDK

每条规则都必须包含一个用于捕获您的业务逻辑的表达式。所有表达式的计算结果都必须为布尔值（真或假），并且长度必须小于 4,000 个字符。不支持 if-else 类型条件。表达式中使用的所有变量都必须在已评估的事件类型中进行预定义。同样，表达式中使用的所有列表都必须经过预定义，与变量类型相关联并填充条目。

以下示例为现有检测器创建规则`high_risk``payments_detector`。该规则将表达式和结果`verify_customer`与规则相关联。

**先决条件**

要按照下面提到的步骤进行操作，请确保在继续创建规则之前完成以下操作：
+ [创建探测器](create-a-detector.md)
+ [创建结果](create-an-outcome.md)

如果您要为用例创建检测器、规则和结果，请将示例检测器名称、规则名称、规则表达式和结果名称替换为与您的用例相关的名称和表达式。

## 在 Amazon Fraud Detector 控制台中创建新规则
<a name="create-rule-console"></a>

1. 打开 [AWS 管理控制台](https://console.aws.amazon.com/)，登录您的账户。导航到亚马逊 Fraud Detector。

1. 在左侧导航窗格中，选择**探测器**，然后选择您为用例创建的探测器，例如 **payment** s\$1detector。

1. **在 **payments\$1detec** tor 页面中，选择**关联规则**选项卡，然后选择创建规则。**

1. **在新规则**页面中，输入以下内容：

   1. 在**名称**中，输入规则的名称，例如 **high\$1risk**

   1. 在 “**描述-可选**” 中，可以选择输入规则描述，例如，**This rule captures events with a high ML model score**

   1. 在**表达式**中，使用表达式**快速参考指南为您的用例输入规则表达式**。示例 `$sample_fraud_detection_model_insightscore >900`

   1. 在**结果**中，选择你为用例创建的结果，例如 **verif** y\$1customer。结果是欺诈预测的结果，如果在评估期间规则匹配，则返回结果。

1. 选择**保存规则**

您为探测器创建了一条新规则。这是该规则的第 1 版，Amazon Fraud Detector 会自动将其提供给探测器使用。

## 使用创建规则 适用于 Python (Boto3) 的 AWS SDK
<a name="create-a-rule-using-the-aws-python-sdk"></a>

以下示例代码使用 [CreateRule](https://docs.aws.amazon.com//frauddetector/latest/api/API_CreateRule.html)API `high_risk` 为现有检测器创建规则`payments_detector`。示例代码还为规则添加了规则表达式和结果`verify_customer`。

**先决条件**

要使用示例代码，请确保在继续创建规则之前完成以下操作：
+ [创建探测器](create-a-detector.md)
+ [创建结果](create-an-outcome.md)

如果您要为用例创建检测器、规则和结果，请将示例检测器名称、规则名称、规则表达式和结果名称替换为与您的用例相关的名称和表达式。

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

fraudDetector.create_rule(
ruleId = 'high_risk',
detectorId = 'payments_detector',
expression = '$sample_fraud_detection_model_insightscore > 900',
language = 'DETECTORPL',
outcomes = ['verify_customer']
)
```

您已经创建了规则的版本 1，Amazon Fraud Detector 会自动将其提供给检测器使用。

# 更新规则
<a name="update-rule"></a>

您可以随时更新规则，方法是添加或更新规则描述、更新规则表达式或添加或删除规则的结果。更新规则时，会创建一个新的规则版本。

您可以使用[update-rule-version](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/frauddetector/update-rule-version.html)命令、[UpdateRuleVersion](https://docs.aws.amazon.com//frauddetector/latest/api/API_UpdateRuleVersion.html)API 或使用软件开发工具包在 Amazon Fraud AWS Detector 控制台中更新规则。

更新规则后，请务必更新您的检测器版本以使用新的规则版本。

## 在 Amazon Fraud Detector 控制台中更新规则
<a name="update-rule-console"></a>

**要更新规则，**

1. 打开 [AWS 管理控制台](https://console.aws.amazon.com/)，登录您的账户。导航到亚马逊 Fraud Detector。

1. 在左侧导航窗格中，选择**探测器**。

1. 在 “检测**器**” 窗格中，选择与要更新的规则关联的检测器。

1. 在检测器页面中，选择 “**关联规则**” 选项卡，然后选择要更新的规则。

1. 在规则页面中，选择**操作**并选择**创建版本**。

1. 请注意，版本已更改。输入更新的描述、表达方式或结果。

1. 选择 “**保存新版本**”

## 使用更新规则 适用于 Python (Boto3) 的 AWS SDK
<a name="update-rule-sdk"></a>

以下示例代码使用 [UpdateRuleVersion](https://docs.aws.amazon.com//frauddetector/latest/api/API_UpdateRuleVersion.html)API 将规则的阈值`high_risk`从 900 更新为 950。此规则与探测器关联`payments_detector`。

```
fraudDetector.update_rule_version(
rule = {
    'detectorId' : 'payments_detector',
    'ruleId' : 'high_risk',
    'ruleVersion' : '1'
},
expression = '$sample_fraud_detection_model_insightscore > 950',
language = 'DETECTORPL',
outcomes = ['verify_customer']
)
```

# Lists
<a name="lists"></a>

列表是事件数据集中变量的一组输入数据。您在与探测器关联的规则中使用输入数据。规则是一种条件，它告诉 Amazon Fraud Detector 在欺诈预测期间如何解释输入数据。例如，您可以创建 IP 地址列表，然后创建规则，在列表中包含特定 IP 地址时拒绝访问。使用列表的规则`@list_name`以 `$ip_address_value` in 格式表示。

借助 Amazon Fraud Detector，您无需更新关联规则即可通过添加或删除数据来管理列表。与您的列表关联的规则会自动包含新添加或删除的数据。

一个列表最多可以包含 100,000 个唯一条目，每个条目的长度最多 320 个字符。默认情况下，您在规则中使用的每个列表都与亚马逊欺诈检测器的 [变量类型](variables.md#variable-types) FREE\$1FORM\$1TEXT 相关联。您可以随时为列表分配变量类型。您最多可以在一条规则中使用 3 个列表。

您可以在 Amazon Fraud Detector 控制台、使用 API、使用或使用 AWS 软件开发工具包创建列表、向列表中添加条目、删除列表或删除列表中的一个或多个条目 AWS CLI，或者为列表分配变量类型。

# 创建清单
<a name="create-list"></a>

您可以创建包含事件数据集中变量的输入数据（条目）的列表，并在规则表达式中使用该列表。无需更新使用列表的规则，即可动态管理列表中的条目。

要创建列表，您必须先指定一个名称，然后可以选择将该列表与 Amazon Fraud Detector [变量类型](variables.md#variable-types) 支持的列表关联起来。默认情况下，Amazon Fraud Detector 假设列表为 FREE\$1FORM\$1TEXT 变量类型。

您可以在 Amazon Fraud Detector 控制台中使用 API、使用或使用 AWS 软件开发工具包创建列表。 AWS CLI

## 使用 Amazon Fraud Detector 控制台创建清单
<a name="create-list-console"></a>

**创建清单**

1. 打开 [AWS 管理控制台](https://console.aws.amazon.com/)，登录您的账户。导航至 Amazon Fraud Detector。

1. 在左侧导航窗格中，选择**列表**。

1. 在 “**列表**” 下方的详细信息

   1. 在**列表名称**中，输入列表的名称。

   1. （可选）在**描述**中输入描述。

   1. （可选）在**变量类型**中，为列表选择变量类型。
**重要**  
如果您的列表包含 IP 地址，请务必选择 **IP\$1** ADDRESS 作为变量类型。如果您未选择变量类型，Amazon Fraud Detector 会假定列表为 **FREE\$1FORM\$1TEX** T 变量类型。

1. 在**添加列表数据中**，添加列表条目，每行一个条目。您也可以从电子表格中复制和粘贴条目。
**注意**  
确保条目没有使用逗号分隔，并且在列表中是唯一的。如果输入两个相同的条目，则只会添加一个。

1. 选择**创建**。

## 使用创建列表 适用于 Python (Boto3) 的 AWS SDK
<a name="create-list-sdk"></a>

您可以通过指定列表名称来创建列表。创建列表时，您可以选择提供描述、关联变量类型或向列表中添加条目。或者，您可以稍后通过添加条目或描述来更新列表。如果您在创建列表时尚未分配变量类型，则可以稍后为该列表分配变量类型。列表的变量类型在赋值后无法更改。

**重要**  
如果您的列表包含 IP 地址，请确保将 **IP\$1ADDRESS** 分配为变量类型。如果你没有分配变量类型，Amazon Fraud Detector 会假设列表是 **FREE\$1FORM\$1TEXT** 变量类型。

以下示例使用 [CreateList](https://docs.aws.amazon.com//frauddetector/latest/api/API_CreateList.html)API 操作通过提供描述、变量类型和添加四个列表条目来创建列表。`allow_email_ids`

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

fraudDetector.create_list (
     name = 'allow_email_ids',
     description = 'legitimate email_ids'
     variableType = 'EMAIL_ADDRESS',
     elements = ['emailId _1', 'emailId_2', 'emailId_3','emailId_4']
     )
```

# 在列表中添加条目
<a name="add-entries-in-list"></a>

创建列表后，您可以随时在列表中添加或追加条目。在列表中添加或追加条目时，无需更新与列表关联的规则。该规则会自动合并新添加的条目。

您的列表最多可以包含 100,000 个唯一条目，每个条目最多可以包含 320 个字符。

您可以使用 API、使用或使用软件开发工具包在 Amazon Fraud AWS Detecto AWS CLI r 控制台中添加条目。

## 使用 Amazon Fraud Detector 控制台在列表中添加条目
<a name="add-entries-in-list-console"></a>

**在列表中添加一个或多个条目**

1. 打开 [AWS 管理控制台](https://console.aws.amazon.com/)，登录您的账户。导航至 Amazon Fraud Detector。

1. 在左侧导航窗格中，选择**列表**。

1. 在**列表**页面中，选择要向其添加条目的列表。

1. 在列表详细信息页面中，选择 “**列出数据**” 选项卡，然后选择 “**添加数据**”。

1. 在 “**添加列表数据**” 框中，每行添加一个条目或从电子表格中复制并粘贴条目。确保不要使用逗号分隔条目。

1. 选择**添加**。

## 使用在列表中添加条目 适用于 Python (Boto3) 的 AWS SDK
<a name="add-entries-in-list-sdk"></a>

以下示例使用 [UpdateList](https://docs.aws.amazon.com//frauddetector/latest/api/API_UpdateList.html)API 操作在`allow_email_ids`列表中添加两个新条目。确保您要添加的条目在列表中是唯一的。

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

fraudDetector.update_list (
     name = 'allow_email_ids',
     updateMode = 'APPEND'
     elements = ['emailId_11','emailId_12']
```

# 为列表分配变量类型
<a name="assign-variable-type-list"></a>

您在规则中使用的每个列表都必须与 Amazon Fraud Detector 的[变量类型](variables.md#variable-types)变量类型相关联。默认情况下，Amazon Fraud Detector 假设列表为 FREE\$1FORM\$1TEXT 变量类型。需要注意的是，由 IP 地址组成的列表必须与 IP\$1ADDRESS 变量类型相关联。

您可以在创建列表时或以后的任何时候将列表与变量类型相关联。如果您已经将列表与变量类型关联并想稍后对其进行更改，则必须创建一个新列表。您无法更改列表的变量类型。

您可以在 Amazon Fraud Detector 控制台中使用 API、使用或使用 AWS 软件开发工具包分配变量类型。 AWS CLI

## 使用 Amazon Fraud Detector 控制台为列表分配变量类型
<a name="assign-variable-type-list-console"></a>

**为列表分配变量类型**

1. 打开 [AWS 管理控制台](https://console.aws.amazon.com/)，登录您的账户。导航至 Amazon Fraud Detector。

1. 在左侧导航窗格中，选择**列表**。

1. 在**列表**页面中，选择要为其分配变量类型的列表。

1. 在列表详细信息页面中，选择**操作**，然后选择**编辑列表**。

1. 在 **“编辑” 列表**框中，为列表选择变量类型。

1. 选择**保存**。

## 使用将变量类型分配给列表 适用于 Python (Boto3) 的 AWS SDK
<a name="assign-variable-type-list-sdk"></a>

以下示例使用 [UpdateList](https://docs.aws.amazon.com//frauddetector/latest/api/API_UpdateList.html)API 操作为`allow_ip_address`列表分配变量类型。

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

fraudDetector.update_list (
     name = 'allow_ip_address',
     variableType = 'IP_ADDRESS'     
)
```

# 删除名单
<a name="delete-list"></a>

您可以删除未在任何规则中使用的列表。当您删除列表时，Amazon Fraud Detector 会永久删除该列表和列表中的所有条目。

您可以使用 API、 AWS CLI 或软件开发工具包在 Amazon Fraud AWS Detector 控制台中删除列表。

## 使用 Amazon Fraud Detector 控制台删除名单
<a name="delete-list-console"></a>

**删除名单**

1. 打开 [AWS 管理控制台](https://console.aws.amazon.com/)，登录您的账户。导航至 Amazon Fraud Detector。

1. 在左侧导航窗格中，选择**列表**

1. 在**列表**页面中，选择要删除的列表。

1. 在列表详细信息页面中，选择**操作**并选择**删除列表**。

1. 选择 “**删除列表”**。

## 使用 “删除列表” 适用于 Python (Boto3) 的 AWS SDK
<a name="delete-list-sdk"></a>

以下示例使用 [DeleteList](https://docs.aws.amazon.com//frauddetector/latest/api/API_DeleteList.html)API 操作进行删除`allow_email_ids`。

```
import boto3
                        fraudDetector = boto3.client('frauddetector')
fraudDetector.delete_list(
   name = 'allow_email_ids' 
)
```

# 从列表中删除条目
<a name="delete-entries-list"></a>

您可以随时从列表中删除一个或多个条目。删除列表中的条目时，无需更新与该列表关联的规则。该规则会自动合并更新的列表。

您可以使用 API、 AWS CLI 或软件开发工具包从 Amazon Fraud AWS Detector 控制台的列表中删除条目。

## 使用 Amazon Fraud Detector 控制台从列表中删除条目
<a name="delete-entries-list-console"></a>

**从列表中删除一个或多个条目**

1. 打开 [AWS 管理控制台](https://console.aws.amazon.com/)，登录您的账户。导航至 Amazon Fraud Detector。

1. 在左侧导航窗格中，选择**列表**

1. 在**列表**页面中，选择包含要删除的条目的列表。

1. 在列表详细信息页面中，选择 “**列出数据**” 选项卡，然后选择要删除的条目。

1. 选择 “**删除**”，然后再次选择 “**删除**” 进行确认。

## 使用从列表中删除条目 适用于 Python (Boto3) 的 AWS SDK
<a name="delete-entries-list-sdk"></a>

在以下示例中，[UpdateList](https://docs.aws.amazon.com//frauddetector/latest/api/API_UpdateList.html)API 操作从`allow_email_ids`列表中删除条目。

```
import boto3
                        fraudDetector = boto3.client('frauddetector')
fraudDetector.update_list(
   name = 'allow_email_ids',
   updateMode = 'REMOVE',
   elements = ['emailId_4', 'emailId_12']
)
```

# 从列表中删除所有条目
<a name="delete-all-entries-list"></a>

如果规则中未使用列表，则可以删除列表中的所有条目。您可以删除列表中的所有条目，然后在同一列表中添加条目。

您可以使用 API、 AWS CLI 或软件开发工具包从 Amazon Fraud AWS Detector 控制台的列表中删除条目。

## 使用 Amazon Fraud Detector 控制台从列表中删除所有条目
<a name="delete-all-entries-list-console"></a>

**从列表中删除所有条目**

1. 打开 [AWS 管理控制台](https://console.aws.amazon.com/)，登录您的账户。导航至 Amazon Fraud Detector。

1. 在左侧导航窗格中，选择**列表**

1. 在**列表**页面中，选择包含要删除的条目的列表。

1. 在列表详细信息页面中，选择 “**列出数据**” 选项卡，然后选择 “**全部删除**”。

1. 在 “**全部删除**” 框中，键入`delete all`进行确认，然后选择 “**删除所有列表数据**”。

## 使用删除列表中的所有条目 适用于 Python (Boto3) 的 AWS SDK
<a name="delete-all-entries-list-sdk"></a>

在以下示例中，[UpdateList](https://docs.aws.amazon.com//frauddetector/latest/api/API_UpdateList.html)API 操作从`allow_email_ids`列表中删除所有条目。

```
import boto3
                        fraudDetector = boto3.client('frauddetector')
fraudDetector.update_list(
   name = 'allow_email_ids',
   updateMode = 'REPLACE',
   elements = []
)
```

# 成果
<a name="outcomes"></a>

结果是欺诈预测的结果。您可以为每种可能的欺诈预测结果创建结果。例如，您可能希望结果代表风险级别（高风险、中风险和低风险）或操作（批准、审查）。创建结果后，您可以向规则中添加一个或多个结果。作为[GetEventPrediction](https://docs.aws.amazon.com/frauddetector/latest/api/API_GetEventPrediction.html)响应的一部分，Amazon Fraud Detector 会返回任何匹配规则的已定义结果。

# 创建结果
<a name="create-an-outcome"></a>

您可以在 Amazon Fra [ud Detector 控制台中创建结果，使用推定结果](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/frauddetector/put-outcome.html)命令，使用 [PutOutcome](https://docs.aws.amazon.com/frauddetector/latest/api/API_PutOutcome.html)API 或使用。 适用于 Python (Boto3) 的 AWS SDK

## 使用 Amazon Fraud Detector 控制台创建结果
<a name="create-an-outcome-console"></a>

**要创造一个或多个结果，**

1. 打开 [AWS 管理控制台](https://console.aws.amazon.com/)，登录您的账户。导航到亚马逊 Fraud Detector。

1. 在左侧导航窗格中，选择**结果**。

1. 在**结果**页面中，选择**创建**。

1. 在 “**新结果**” 页面中，输入以下内容：

   1. 在**结果名称**中，输入结果的名称。

   1. 在**结果描述**中，可以选择输入描述。

1. 选择**保存结果**。

1. 重复步骤 2 到 5 以创建其他结果。

## 使用创建结果 适用于 Python (Boto3) 的 AWS SDK
<a name="create-an-outcome-using-the-aws-python-sdk"></a>

以下示例使用 `PutOutcome` API 创建了三个结果。它们是`verify_customer``review`、和`approve`。创建结果后，您可以将其分配给规则。

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

fraudDetector.put_outcome(
name = 'verify_customer',
description = 'this outcome initiates a verification workflow'
)

fraudDetector.put_outcome(
name = 'review',
description = 'this outcome sidelines event for review'
)

fraudDetector.put_outcome(
name = 'approve',
description = 'this outcome approves the event'
)
```

# 删除结果
<a name="delete-outcome"></a>

无法删除规则版本中使用的结果。

当您删除结果时，Amazon Fraud Detector 会永久删除该结果，并且数据将不再存储在 Amazon Fraud Detector 中。

您可以在 Amazon Fraud Detector 控制台中[删除结果，使用删除结果](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/frauddetector/delete-outcome.html)命令，使用 [DeleteOutcome](https://docs.aws.amazon.com/frauddetector/latest/api/API_DeleteOutcome.html)API 或使用 适用于 Python (Boto3) 的 AWS SDK

## 在 Amazon Fraud Detector 控制台中删除结果
<a name="delete-outcome-console"></a>

**删除结果**

1. 登录 AWS 管理控制台 并在 [https://console.aws.amazon.com/frauddetector 上打开 Amazon Fraud Detector](https://console.aws.amazon.com/frauddetector) 控制台。

1. 在 Amazon Fraud Detector 控制台的左侧导航窗格中，选择**资源**，然后选择**结果**。

1. 选择要删除的结果。

1. 选择**操作**，然后选择**删除**。

1. 输入结果名称，然后选择**删除结果**。

## 使用删除结果 适用于 Python (Boto3) 的 AWS SDK
<a name="delete-outcome-using-the-aws-python-sdk"></a>

以下示例使用 [DeleteOutcome](https://docs.aws.amazon.com/frauddetector/latest/api/API_DeleteOutcome.html)API 删除`verify_customer`结果。删除结果后，您无法再将其分配给规则。

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

fraudDetector.delete_outcome(
name = 'verify_customer'
)
```

# 实体
<a name="entity"></a>

实体代表正在执行事件的个人或事物。实体类型对实体进行分类。示例分类包括客户、卖家、用户或账户。您可以提供实体类型 (ENTITY\$1TYPE) 和实体标识符 (ENTITY\$1ID) 作为事件数据集的一部分，以指示执行事件的特定实体。

Amazon Fraud Detector 在为事件生成欺诈预测时使用实体类型来指明谁实施了该事件。您要在欺诈预测中使用的实体类型必须先在 Amazon Fraud Detector 中创建，然后在创建事件类型时将其添加到事件中。

# 创建实体类型
<a name="create-an-entity-type"></a>

您可以在 Amazon Fraud Detector 控制台中创建实体类型，使用[put-entity-type](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/frauddetector/put-entity-type.html)命令、[PutEntityType](https://docs.aws.amazon.com/frauddetector/latest/api/API_PutEntityType.html)API 或使用 适用于 Python (Boto3) 的 AWS SDK。以下示例在 Amazon Fraud Detector 控制台`customer`中使用适用于 Python 的软件开发工具包 (Boto3) 创建了一个实体类型。如果您要创建实体类型以与用于训练欺诈检测模型的事件类型相关联，请使用事件数据集中适合您的用例的实体类型。

## 使用 Amazon Fraud Detector 控制台创建实体类型
<a name="create-an-entity-type-using-console"></a>

**要创建实体类型，**

1. 打开 [AWS 管理控制台](https://console.aws.amazon.com/)，登录您的账户。

1. 导航至 Amazon Fraud Detector，在左侧导航栏中选择 “**实体**”，然后选择 “**创建**”。

1. 在 “**创建实体**” 页中，输入 **c** ustomer 作为实体类型名称。（可选）输入实体的描述。

1. 选择 **Create entity (创建实体)**。

## 使用创建实体类型 适用于 Python (Boto3) 的 AWS SDK
<a name="create-an-entity-type-using-the-aws-python-sdk"></a>

以下 适用于 Python (Boto3) 的 AWS SDK 代码示例使用 `PutEntityType` API 创建实体类型`customer`。如果您要创建实体类型以与用于训练欺诈检测模型的事件类型相关联，请使用事件数据集中适合您的用例的实体。

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

fraudDetector.put_entity_type(
name = 'customer',
description = 'customer'
)
```

# 删除实体类型
<a name="delete-entity-type"></a>

在 Amazon Fraud Detector 中，您无法删除事件类型中包含的实体类型。您必须先删除与该实体关联的事件类型，然后再删除该实体类型。

当您删除实体类型时，Amazon Fraud Detector 会永久删除该实体类型，并且数据将不再存储在 Amazon Fraud Detector 中。

可以在 Amazon Fraud Detector 控制台中删除实体类型，使用[delete-entity-type](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/frauddetector/delete-entity-type.html)命令、[DeleteEntityType](https://docs.aws.amazon.com/frauddetector/latest/api/API_DeleteEntityType.html)API 或使用 适用于 Python (Boto3) 的 AWS SDK

## 在 Amazon Fraud Detector 控制台中删除实体类型
<a name="delete-entity-type-console"></a>

**要删除实体类型，**

1. 登录 AWS 管理控制台 并在 [https://console.aws.amazon.com/frauddetector 上打开 Amazon Fraud Detector](https://console.aws.amazon.com/frauddetector) 控制台。

1. 在 Amazon Fraud Detector 控制台的左侧导航窗格中，选择**资源**，然后选择**实体**。

1. 选择要删除的实体类型。

1. 选择**操作**，然后选择**删除**。

1. 输入实体类型名称，然后选择**删除实体类型**。

## 使用删除实体类型 适用于 Python (Boto3) 的 AWS SDK
<a name="delete-entity-type-using-the-aws-python-sdk"></a>

以下 适用于 Python (Boto3) 的 AWS SDK 示例代码使用 [DeleteEntityType](https://docs.aws.amazon.com/frauddetector/latest/api/API_DeleteEntityType.html)API 删除实体类型*客户*。

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

fraudDetector.delete_entity_type (

name = 'customer'

)
```

# 使用管理亚马逊 Fraud Detector 资源 AWS CloudFormation
<a name="managing-resources-using-cloudformation"></a>

Amazon Fraud Detector 与 AWS CloudFormation一项服务集成，可帮助您建模和设置 Amazon Fraud Detector 资源，这样您就可以减少创建和管理资源和基础设施所花费的时间。您可以创建一个模板来描述您想要的所有 Amazon Fraud Detector 资源（例如探测器 EntityType EventType、变量、、、结果和 CloudFormation 标签），并为您预置和配置这些资源。您可以重复使用该模板在多个 AWS 账户和区域中一致且重复地配置和配置资源。

使用 AWS 不收取任何额外费用 CloudFormation。

## 创建 Amazon Fraud Detector 模板
<a name="working-with-templates"></a>

要为 Amazon Fraud Detector 和相关服务配置和配置资源，您必须了解[CloudFormation 模板](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html)。模板是 JSON 或 YAML 格式的文本文件。这些模板描述了您要在 CloudFormation 堆栈中配置的资源。如果你不熟悉 JSON 或 YAML，可以使用 D CloudFormation esigner 来帮助你开始使用 CloudFormation 模板。有关更多信息，请参阅[什么是 CloudFormation 设计器？](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/working-with-templates-cfn-designer.html) 在《*AWS CloudFormation 用户指南》*中。

您还可以使用 CloudFormation 模板创建、更新和删除您的 Amazon Fraud Detector 资源。有关更多信息，包括您的资源的 JSON 和 YAML 模板示例，请参阅*AWS CloudFormation 用户指南*中的 [Amazon Fraud Detector 资源类型参考](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_FraudDetector.html)。

如果您已经在使用 CloudFormation，则无需管理其他 IAM 策略或 CloudTrail 日志记录。

## 管理 Amazon Fraud Detector 堆栈
<a name="working-with-stacks"></a>

您可以通过 CloudFormation 控制台或 AWS CLI 创建、更新和删除您的 Amazon Fraud Detector 堆栈。

要创建堆栈，您必须有一个模板来描述 AWS CloudFormation 将在您的堆栈中包含哪些资源。您还可以将已经创建的 Amazon Fraud Detector 资源[导入新的或现有堆栈中，从而将这些](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import.html)资源导入到 CloudFormation 管理中。

有关管理堆栈的详细说明，请参阅*AWS CloudFormation 用户指南*，了解如何[创建](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html)、[更新](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-get-template.html)和[删除](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html)堆栈。

### 整理你的 Amazon Fraud Detector 堆栈
<a name="organize-your-stacks"></a>

你整理 AWS CloudFormation 堆栈的方式完全取决于你。通常，最佳做法是按生命周期和所有权来组织堆栈。这意味着根据资源的更改频率或负责更新的团队对资源进行分组。

您可以选择通过为每个探测器及其检测逻辑（例如规则、变量等）创建堆栈来组织堆栈。如果您正在使用其他服务，则应考虑是否要将 Amazon Fraud Detector 资源与其他服务的资源堆叠在一起。例如，您可以创建一个堆栈，其中包含帮助收集数据的 Kinesis 资源和处理数据的 Amazon Fraud Detector 资源。这可能是确保欺诈团队的所有产品协同工作的有效方法。

## 了解 Amazon Fraud Detecto CloudFormation r 参数
<a name="understanding-afd-cfn-parameters"></a>

除了所有 CloudFormation 模板中可用的标准参数外，Amazon Fraud Detector 还引入了另外两个参数来帮助您管理部署行为。如果您不包括其中一个或两个参数，则 CloudFormation 将使用如下所示的默认值。


| 参数 | 值 | 默认值 | 
| --- | --- | --- | 
| DetectorVersionStatus | **激活：**将 new/updated 探测器版本设置为活动状态 **草稿：**将 new/updated 探测器版本设置为 “草稿” 状态 | 草案 | 
| 内联 | **TRUE：** CloudFormation 允许create/update/delete the resource when creating/updating/deleting进入堆栈。 **FALSE：** CloudFormation 允许验证对象是否存在，但不允许对对象进行任何更改。 | TRUE | 

## Amazon Fraud Detector 资源的示例 CloudFormation 模板
<a name="sample-afd-cfn-template"></a>

以下是用于管理探测器及相关探测器版本的 CloudFormation YAML 模板示例。

```
# Simple Detector resource containing inline Rule, EventType, Variable, EntityType and Label resource definitions
Resources:
  TestDetectorLogicalId:
    Type: AWS::FraudDetector::Detector
    Properties:
      DetectorId: "sample_cfn_created_detector"
      DetectorVersionStatus: "DRAFT"
      Description: "A detector defined and created in a CloudFormation stack!"

      Rules:
        - RuleId: "over_threshold_investigate"
          Description: "Automatically sends transactions of $10000 or more to an investigation queue"
          DetectorId: "sample_cfn_created_detector"
          Expression: "$amount >= 10000"
          Language: "DETECTORPL"
          Outcomes:
            - Name: "investigate"
              Inline: true
        - RuleId: "under_threshold_approve"
          Description: "Automatically approves transactions of less than $10000"
          DetectorId: "sample_cfn_created_detector"
          Expression: "$amount <10000"
          Language: "DETECTORPL"
          Outcomes:
            - Name: "approve"
              Inline: true
      EventType:
        Inline: "true"
        Name: "online_transaction"
        EventVariables:
          - Name: "amount"
            DataSource: 'EVENT'
            DataType: 'FLOAT'
            DefaultValue: '0'
            VariableType: "PRICE"
            Inline: 'true'
        EntityTypes:
          - Name: "customer"
            Inline: 'true'
        Labels:
          - Name: "legitimate"
            Inline: 'true'
          - Name: "fraudulent"
            Inline: 'true'
```

## 了解更多关于 CloudFormation
<a name="learn-more-cloudformation"></a>

要了解更多信息 CloudFormation，请参阅以下资源：
+ [AWS CloudFormation](https://aws.amazon.com/cloudformation/)
+ [AWS CloudFormation 用户指南](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+ [CloudFormation API 引用](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/Welcome.html)
+ [AWS CloudFormation 命令行界面用户指南](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html)