start_time,stop_time(time window)asset_ids(one run can span multiple assets)- computed
durationbased on stop-start (or ongoing)
- Create a run.
- Stream data for an asset, including the run ID in each request.
- View the run in Sift.
Creating a Run
To create a run, use the RunService.CreateRun endpoint. The response will contain the newly created run details:CreateRunResponsereturnsrun Runwhich containsrun_id.
Client KeysThe Run message has an optional
client_key field that lets you specify a unique identifier for this resource. Although it is optional, it is recommended because it makes querying runs much more convenient. A client key can be provided during run creation. The client_key can only be set once (create or first update).Retrieving Runs
Sift provides the following methods for retrieving runs:-
RunService.GetRun
- Requires a specific run ID
- Useful when the run ID is known
-
RunService.ListRuns
- Allows searching for runs using various criteria
- Useful when the exact run ID is unknown
- Search parameters include:
client_keyname- Other fields specified in the ListRunsRequest
client_key:
Updating a Run
To update an existing run, use the RunService.UpdateRun endpoint.Using the Run
There are two primary ways to associate run to asset(s) data:- Manual association
- Automatic association
Manual Association
For all data ingestion mechanisms, you can manually provide a run ID. For example, using ingestion-config-based-streaming:- Include the run ID in the IngestWithConfigDataStreamRequest
- Use this request with IngestService.IngestWithConfigDataStream
- This ensures the asset data in the request is associated with the specified run
Retrieving a Run IDIf a run ID is not available, you can query your runs first to get the run ID.
Automatic Association
Use the RunService.CreateAutomaticRunAssociationForAssets endpoint to:- Associate a run with specific assets in advance
- Assets do not need to exist beforehand
- Data arriving for specified assets automatically associates with the run
- No need to include run ID in each ingestion request