更新连接器特性 API

编辑

此功能处于 Beta 阶段,可能会发生更改。其设计和代码不如官方 GA 功能成熟,按原样提供,不提供任何担保。Beta 功能不受官方 GA 功能的支持 SLA 约束。

管理连接器的 features。此端点可用于控制连接器的以下方面:

  • 文档级安全
  • 增量同步
  • 高级同步规则
  • 基本同步规则

通常,正在运行的连接器服务会自动管理这些功能。但是,您可以使用此 API 来覆盖默认行为。

要开始使用连接器 API,请查看我们的教程

请求

编辑

PUT _connector/<connector_id>/_features

前提条件

编辑
  • 要使用自管理连接器同步数据,您需要将 Elastic 连接器服务部署在您自己的基础设施上。对于 Elastic 管理的连接器,此服务在 Elastic Cloud 上自动运行。
  • connector_id 参数应引用现有的连接器。

路径参数

编辑
<connector_id>
(必需,字符串)

请求体

编辑
features

(必需,对象) 包含连接器特性的对象。

  • document_level_security (可选,对象) 使用 enabled 标志控制是否启用文档级安全性。
  • incremental_sync (可选,对象) 使用 enabled 标志控制是否启用增量同步。
  • native_connector_api_keys (可选,对象) 使用 enabled 标志控制是否启用托管连接器 API 密钥。
  • sync_rules (可选,对象) 控制同步规则。

    • advanced (可选,对象) 使用 enabled 标志控制是否启用高级同步规则。
    • basic (可选,对象) 使用 enabled 标志控制是否启用基本同步规则。

响应代码

编辑
200
连接器 features 已成功更新。
400
未提供 connector_id 或请求负载格式错误。
404 (缺少资源)
找不到与 connector_id 匹配的连接器。

示例

编辑

以下示例更新 ID 为 my-connector 的连接器的 features 字段。

resp = client.perform_request(
    "PUT",
    "/_connector/my-connector/_features",
    headers={"Content-Type": "application/json"},
    body={
        "features": {
            "document_level_security": {
                "enabled": True
            },
            "incremental_sync": {
                "enabled": True
            },
            "sync_rules": {
                "advanced": {
                    "enabled": False
                },
                "basic": {
                    "enabled": True
                }
            }
        }
    },
)
print(resp)
const response = await client.transport.request({
  method: "PUT",
  path: "/_connector/my-connector/_features",
  body: {
    features: {
      document_level_security: {
        enabled: true,
      },
      incremental_sync: {
        enabled: true,
      },
      sync_rules: {
        advanced: {
          enabled: false,
        },
        basic: {
          enabled: true,
        },
      },
    },
  },
});
console.log(response);
PUT _connector/my-connector/_features
{
  "features": {
    "document_level_security": {
      "enabled": true
    },
    "incremental_sync": {
      "enabled": true
    },
    "sync_rules": {
      "advanced": {
        "enabled": false
      },
      "basic": {
        "enabled": true
      }
    }
  }
}
{
    "result": "updated"
}

该端点支持对 features 字段进行部分更新。例如,要仅更新 document_level_security 功能,您可以发送以下请求:

resp = client.perform_request(
    "PUT",
    "/_connector/my-connector/_features",
    headers={"Content-Type": "application/json"},
    body={
        "features": {
            "document_level_security": {
                "enabled": True
            }
        }
    },
)
print(resp)
const response = await client.transport.request({
  method: "PUT",
  path: "/_connector/my-connector/_features",
  body: {
    features: {
      document_level_security: {
        enabled: true,
      },
    },
  },
});
console.log(response);
PUT _connector/my-connector/_features
{
  "features": {
    "document_level_security": {
      "enabled": true
    }
  }
}
{
    "result": "updated"
}