更新连接器上次同步统计 API

编辑

更新连接器上次同步统计 API

编辑

此功能为技术预览版,可能会在未来版本中更改或删除。Elastic 将努力修复任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 约束。

更新与连接器上次同步相关的字段。

此操作用于分析和监控。

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

请求

编辑

PUT _connector/<connector_id>/_last_sync

先决条件

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

路径参数

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

请求体

编辑
last_access_control_sync_error
(可选,字符串)与访问控制同步相关的最后一条错误消息,如果有的话。
last_access_control_sync_scheduled_at
(可选,日期时间)指示上次访问控制同步计划时间的日期时间。
last_access_control_sync_status
(可选,ConnectorSyncStatus)上次访问控制同步的状态。
last_deleted_document_count
(可选,长整型)上次同步过程中删除的文档数量。
last_incremental_sync_scheduled_at
(可选,日期时间)上次计划增量同步的日期时间。
last_indexed_document_count
(可选,长整型)上次同步中索引的文档数量。
last_sync_error
(可选,字符串)同步过程中遇到的最后一条错误消息,如果有的话。
last_sync_scheduled_at
(可选,日期时间)上次计划同步的日期时间。
last_sync_status
(可选,ConnectorSyncStatus)上次同步的状态。
last_synced
(可选,日期时间)上次成功同步的日期时间。

ConnectorSyncStatus 的值是以下小写字符串之一,表示不同的同步状态

  • canceling:同步过程正在取消中。
  • canceled:同步过程已取消。
  • completed:同步过程已成功完成。
  • error:同步过程中发生错误。
  • in_progress:同步过程目前正在进行中。
  • pending:同步正在等待中,尚未开始。
  • suspended:同步过程已暂时暂停。

响应代码

编辑
200
连接器上次同步统计信息已成功更新。
400
未提供 connector_id 或请求负载格式不正确。
404(缺少资源)
找不到与 connector_id 匹配的连接器。

示例

编辑

以下示例更新 ID 为 my-connector 的连接器的上次同步统计信息

resp = client.connector.last_sync(
    connector_id="my-connector",
    last_access_control_sync_error="Houston, we have a problem!",
    last_access_control_sync_scheduled_at="2023-11-09T15:13:08.231Z",
    last_access_control_sync_status="pending",
    last_deleted_document_count=42,
    last_incremental_sync_scheduled_at="2023-11-09T15:13:08.231Z",
    last_indexed_document_count=42,
    last_sync_error="Houston, we have a problem!",
    last_sync_scheduled_at="2024-11-09T15:13:08.231Z",
    last_sync_status="completed",
    last_synced="2024-11-09T15:13:08.231Z",
)
print(resp)
response = client.connector.last_sync(
  connector_id: 'my-connector',
  body: {
    last_access_control_sync_error: 'Houston, we have a problem!',
    last_access_control_sync_scheduled_at: '2023-11-09T15:13:08.231Z',
    last_access_control_sync_status: 'pending',
    last_deleted_document_count: 42,
    last_incremental_sync_scheduled_at: '2023-11-09T15:13:08.231Z',
    last_indexed_document_count: 42,
    last_sync_error: 'Houston, we have a problem!',
    last_sync_scheduled_at: '2024-11-09T15:13:08.231Z',
    last_sync_status: 'completed',
    last_synced: '2024-11-09T15:13:08.231Z'
  }
)
puts response
const response = await client.connector.lastSync({
  connector_id: "my-connector",
  last_access_control_sync_error: "Houston, we have a problem!",
  last_access_control_sync_scheduled_at: "2023-11-09T15:13:08.231Z",
  last_access_control_sync_status: "pending",
  last_deleted_document_count: 42,
  last_incremental_sync_scheduled_at: "2023-11-09T15:13:08.231Z",
  last_indexed_document_count: 42,
  last_sync_error: "Houston, we have a problem!",
  last_sync_scheduled_at: "2024-11-09T15:13:08.231Z",
  last_sync_status: "completed",
  last_synced: "2024-11-09T15:13:08.231Z",
});
console.log(response);
PUT _connector/my-connector/_last_sync
{
    "last_access_control_sync_error": "Houston, we have a problem!",
    "last_access_control_sync_scheduled_at": "2023-11-09T15:13:08.231Z",
    "last_access_control_sync_status": "pending",
    "last_deleted_document_count": 42,
    "last_incremental_sync_scheduled_at": "2023-11-09T15:13:08.231Z",
    "last_indexed_document_count": 42,
    "last_sync_error": "Houston, we have a problem!",
    "last_sync_scheduled_at": "2024-11-09T15:13:08.231Z",
    "last_sync_status": "completed",
    "last_synced": "2024-11-09T15:13:08.231Z"
}
{
    "result": "updated"
}