Claim connector sync job API

Claim connector sync job API

This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.

New API reference

For the most up-to-date API details, refer to Connector APIs.

Claims a connector sync job.

The _claim endpoint is not intended for direct connector management by users. It is there to support the implementation of services that utilize the Connector Protocol to communicate with Elasticsearch.

To get started with Connector APIs, check out our tutorial.

Request

PUT _connector/_sync_job/<connector_sync_job_id>/_claim

Prerequisites

  • To sync data using self-managed connectors, you need to deploy the Elastic connector service. on your own infrastructure. This service runs automatically on Elastic Cloud for Elastic managed connectors.
  • The connector_sync_job_id parameter should reference an existing connector sync job.

Description

Claims a connector sync job. This action updates the job’s status to in_progress and sets the last_seen and started_at timestamps to the current time. Additionally, it can set the sync_cursor property for the sync job.

Path parameters

connector_sync_job_id

(Required, string)

Request body

worker_hostname

(Required, string) The host name of the current system that will execute the job.

sync_cursor

(Optional, Object) The cursor object from the last incremental sync job. This should reference the sync_cursor field in the connector state for which the job is executed.

Response codes

200

Connector sync job was successfully claimed.

404

No connector sync job matching connector_sync_job_id could be found.

Examples

The following example claims the connector sync job with ID my-connector-sync-job-id:

  1. resp = client.perform_request(
  2. "PUT",
  3. "/_connector/_sync_job/my-connector-sync-job-id/_claim",
  4. headers={"Content-Type": "application/json"},
  5. body={
  6. "worker_hostname": "some-machine"
  7. },
  8. )
  9. print(resp)
  1. const response = await client.transport.request({
  2. method: "PUT",
  3. path: "/_connector/_sync_job/my-connector-sync-job-id/_claim",
  4. body: {
  5. worker_hostname: "some-machine",
  6. },
  7. });
  8. console.log(response);
  1. PUT _connector/_sync_job/my-connector-sync-job-id/_claim
  2. {
  3. "worker_hostname": "some-machine"
  4. }