- 类别:
:doc:`/sql-reference/functions-string`(AI 函数)
AI_REDACT¶
检测非结构化文本数据中的个人身份信息 (PII) 并对其进行脱敏处理。
语法¶
使用 AI_REDACT 检测 PII 并对其进行脱敏处理:
AI_REDACT( <input> [, <categories> ] [, <return_error_details> ] [, <mode> ] )
实参¶
必填:
input一个包含可能含有个人身份信息 (PII) 的文本数据的 VARCHAR 值。
可选:
categories一个字符串值的 ARRAY,用于指定需要进行脱敏处理的 PII 类型。如未指定,则对所有受支持的 PII 类别进行脱敏处理。请参阅 检测到 PII 类别 查看支持的类别列表。
传递不受支持的类别会导致错误。
return_error_detailsBOOLEAN 标志,指示在发生错误时是否返回错误详细信息。当设置为 TRUE 时,该函数返回一个 OBJECT,其中包含值和错误消息,二者之一为 NULL,具体取决于函数是成功还是失败。
要求将会话参数 AI_SQL_ERROR_HANDLING_USE_FAIL_ON_ERROR 设置为 FALSE。
mode用于指定操作模式的 VARCHAR 值。可接受的值:
``redact``(默认):将检测到的 PII 替换为类别占位符,例如 [NAME] 和 [ADDRESS]。
detect:选择使用 时默认使用的角色和仓库。返回一个 OBJECT,其中包含一个spans数组,该数组用于标识每个检测到的 PII 实例的位置和类别,而不对原始文本进行脱敏处理。
备注
mode 实参不区分大小写。
返回¶
AI_REDACT 的返回值取决于 mode 实参。
脱敏模式(默认)¶
返回一个 VARCHAR 值,其中输入文本中的 PII 已被类别占位符替换。例如,若输入文本为“John Smith”,则会被替换为 [NAME]。
检测模式¶
返回一个包含 spans 数组的 OBJECT。数组中的每个元素都是一个包含以下字段的 OBJECT:
category:选择使用 时默认使用的角色和仓库。一个 VARCHAR 值,标识 PII 类别(例如NAME或``ADDRESS``)。
start:选择使用 时默认使用的角色和仓库。一个 NUMBER 值,标识输入文本中 PII 的起始索引。
end:选择使用 时默认使用的角色和仓库。一个 NUMBER 值,标识输入文本中 PII 的结束索引。
text:选择使用 时默认使用的角色和仓库。一个 VARCHAR 值,包含匹配到的 PII 文本。
错误行为¶
默认情况下,如果 AI_REDACT 无法处理输入,函数将返回错误。如果查询处理多行,则整个查询将失败。
当 AI_SQL_ERROR_HANDLING_USE_FAIL_ON_ERROR 设置为 FALSE 时,出错时的返回值取决于 return_error_details 实参。下表显示了基于 return_error_details 实参的返回值:
return_error_details返回值
描述
FALSE未传递NULL
TRUE
包含
value和error字段的 OBJECTvalue:选择使用 时默认使用的角色和仓库。包含编辑文本的 VARCHAR 值,或者如果发生错误,则返回 NULL。error:选择使用 时默认使用的角色和仓库。包含错误消息(如果发生错误)的 VARCHAR 值,或者如果函数成功,则返回 NULL。
有关处理错误的更多信息,请参阅 处理多行查询中的行级错误。
使用说明¶
关于 AI_REDACT 可脱敏的 PII 类别,请参阅 检测到 PII 类别。
对于 AI_REDACT 当前版本的限制,请参阅 限制。
示例¶
请参阅 脱敏示例。