POST
/
datasets
/
filter
curl --request POST \
  --url https://api.brightdata.com/datasets/filter \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "dataset_id": "<string>",
  "filter": {
    "name": "name",
    "operator": "=",
    "value": "John"
  },
  "records_limit": 123
}'
{
  "snapshot_id": "<string>"
}

将您的 API 令牌粘贴到授权字段中。要获取令牌,创建一个账户,并了解如何生成令牌

一般描述

  • 调用此端点将启动异步作业,以过滤数据集并在您的账户中创建包含过滤数据的快照。

  • 该作业的最大完成时间为 5 分钟。如果在此时间范围内未完成,作业将被取消。

  • 创建数据集快照的费用取决于快照大小和记录单价。

  • 过滤组的最大嵌套深度为 3。

过滤语法

运算符

下表显示了可用于字段过滤的运算符。

操作符字段类型描述
=任意等于
!=任意不等于
<数字, 日期小于
<=数字, 日期小于或等于
>数字, 日期大于
>=数字, 日期大于或等于
in任意测试字段值是否等于筛选值中提供的任意值
not_in任意测试字段值是否不等于筛选值中提供的所有值
includes数组, 文本测试字段值是否包含筛选值。如果筛选值是一个单一字符串,则匹配字段值包含该字符串的记录。如果筛选值是一个字符串数组,则匹配字段值包含数组中的至少一个字符串的记录。
not_includes数组, 文本测试字段值是否不包含筛选值。如果筛选值是一个单一字符串,则匹配字段值不包含该字符串的记录。如果筛选值是一个字符串数组,则匹配字段值不包含数组中的任何字符串的记录。
array_includes数组测试筛选值是否在字段值中(精确匹配)
not_array_includes数组测试筛选值是否不在字段值中(精确匹配)
is_null任意测试字段值是否等于 NULL。操作符不接受任何值。
is_not_null任意测试字段值是否不等于 NULL。操作符不接受任何值。

组合多个筛选器

可以使用两个逻辑运算符:‘and’(与),‘or’(或)将多个字段筛选器组合成筛选器组。
API 支持最多 3 层嵌套的筛选器。
筛选器组示例:

{
    // operator can be one of ["and", "or"]
    "operator": "and",
    // an array of field filters
    "filters": [
        {
            "name": "reviews_count",
            "opeartor": ">",
            "value": "200"
        },
        {
            "name": "rating",
            "operator": ">",
            "value": "4.5"
        }
    ]
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
dataset_id
string
required

ID of the dataset to filter

filter
object
required
Example:
{
  "name": "name",
  "operator": "=",
  "value": "John"
}
records_limit
integer

Response

200
application/json
Job of creating the snapshot successfully started
snapshot_id
string

ID of the snapshot