Skip to main content

enrichment_jobs

Creates, updates, deletes, gets or lists an enrichment_jobs resource.

Overview

Nameenrichment_jobs
TypeResource
Idaws.iotsitewise.enrichment_jobs

Fields

The following fields are returned by SELECT queries:

NameDatatypeDescription
cancelled_atstring (date-time)Timestamp when the job was cancelled in ISO 8601 format. Only present if status is CANCELLED.
completed_atstring (date-time)Timestamp when the job completed successfully in ISO 8601 format. Only present if status is COMPLETED.
created_atstring (date-time)Timestamp when the enrichment job was created in ISO 8601 format.
failure_messagestringHuman-readable error message explaining why the job failed. Only present if status is FAILED. Use this information to diagnose configuration issues, permission problems, or data processing errors.
job_configurationobjectConfiguration for the enrichment job defining which analysis type to perform on video time-series data. Currently supports event detection enrichment. Exactly one member must be specified.
job_idstringThe unique identifier of the enrichment job. (pattern: <code>^(?!00000000-0000-0000-0000-000000000000)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$</code>)
job_typestring<p>The type of enrichment job, derived from the job configuration union member</p> (EVENT_DETECTION)
statusstring<p>Status of an enrichment job throughout its lifecycle.</p> <p>Status progression: PENDING → RUNNING → {COMPLETED, FAILED, TIMED_OUT, CANCELLED}</p> <ul> <li>PENDING: Job has been accepted and is waiting to start processing</li> <li>RUNNING: Job is actively processing video data to generate embeddings</li> <li>COMPLETED: Job finished successfully; embeddings are available in IoT SiteWise</li> <li>FAILED: Job encountered an error during processing</li> <li>TIMED_OUT: Job exceeded the maximum processing time limit</li> <li>CANCELLED: Job was cancelled via CancelEnrichmentJob</li> </ul> <p>Terminal states (job will not change status): COMPLETED, FAILED, TIMED_OUT, CANCELLED</p> (PENDING, RUNNING, COMPLETED, FAILED, TIMED_OUT, CANCELLED)
updated_atstring (date-time)Timestamp when the job status was last updated in ISO 8601 format. Useful for tracking recent activity.
workspace_namestringThe name of the IoT SiteWise workspace containing the job. (pattern: <code>^[a-zA-Z0-9_-]+$</code>)

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
describe_enrichment_jobselectworkspace_name, job_id, regionRetrieves detailed information about a specific enrichment job, including its current status, configuration, and timestamps. Use Cases Monitor job progress by checking status updates with DescribeEnrichmentJob Retrieve the complete job configuration submitted during creation Debug failed jobs by examining the failureMessage field Track job lifecycle with creation, update, completion, and cancellation timestamps Status Monitoring Jobs progress through statuses: PENDING → RUNNING → terminal state Terminal states: COMPLETED: Job finished successfully; query IoT SiteWise for semantic search results FAILED: Job encountered an error; check failureMessage for details TIMED_OUT: Job exceeded maximum processing time CANCELLED: Job was cancelled via CancelEnrichmentJob Response Fields The response includes: Current job status and type Full job configuration as originally submitted Lifecycle timestamps (created, updated, completed, cancelled) Failure details if status is FAILED
list_enrichment_jobsselectworkspace_name, regiondatasetId, propertyAlias, timeSeriesId, status, jobType, startDate, endDate, maxResults, nextTokenLists enrichment jobs within a workspace with optional filtering and pagination. Results are ordered by createdAt timestamp descending (newest first). Filtering Combine filters to narrow results: datasetId: Filter by dataset propertyAlias OR timeSeriesId: Filter by time series (specify one, not both) status: Filter by job status (e.g., RUNNING to find active jobs) jobType: Filter by enrichment type (currently only EVENT_DETECTION) startDate and endDate: Filter by job creation time range Important Constraints You must specify either propertyAlias OR timeSeriesId, but not both Attempting to specify both results in an InvalidRequestException Date filters use ISO 8601 format startDate is exclusive, endDate is inclusive Pagination The operation returns up to maxResults jobs per page (default 50). If more results exist, the response includes a nextToken. Submit this token in a subsequent request to retrieve the next page. Common Use Cases Find all running jobs: Filter by status=RUNNING List recent jobs for a dataset: Filter by datasetId with optional date range Monitor jobs for a specific sensor: Filter by propertyAlias or timeSeriesId Track all event detection jobs: Filter by jobType=EVENT_DETECTION Performance Performance is optimal when filtering by supported fields (datasetId, propertyAlias, timeSeriesId, status, jobType).
create_enrichment_jobinsertworkspace_name, region, jobConfigurationCreates an asynchronous enrichment job to analyze time-series sensor data. The operation returns immediately with job details while processing continues in the background. Idempotency Include a clientToken to make the operation idempotent. If you submit the same request with the same token within the idempotency window, you receive the original job details without creating a duplicate. Prerequisites Before creating a job, ensure: The workspace is in ACTIVE state (not being deleted) You have IAM permissions for the workspace, dataset, and time-series resources You have KMS Decrypt permission on the workspace's customer-managed encryption key No duplicate job (same workspace, dataset, property, and job type) is currently running Workflow Submit the job with configuration specifying which video data to analyze and the time range Capture the jobId from the response Use DescribeEnrichmentJob to monitor progress and check job status When status reaches a terminal state (COMPLETED, FAILED, TIMED_OUT, CANCELLED), check results For COMPLETED jobs, query IoT SiteWise for semantic search on video events Error Handling ConflictingOperationException: A duplicate job is already running for the same configuration InvalidRequestException: Invalid parameters (e.g., both timeSeriesId and propertyAlias specified) AccessDeniedException: Insufficient IAM or KMS permissions LimitExceededException: Too many concurrent jobs or requests

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
job_idstringThe unique identifier of the enrichment job to retrieve. This is the jobId returned by CreateEnrichmentJob.
regionstringAWS region (default: us-east-1)
workspace_namestringThe name of the IoT SiteWise workspace containing the video data to analyze.
datasetIdstringFilter jobs by dataset ID. Returns only jobs analyzing data from the specified dataset.
endDatestring (date-time)The inclusive end of the date range for filtering jobs by creation time. Jobs created on or before this timestamp are included. Use ISO 8601 format (e.g., 2024-01-31T23:59:59Z).
jobTypestringFilter by enrichment job type. Currently only EVENT_DETECTION is supported. Use this filter to future-proof queries when additional job types are added.
maxResultsintegerMaximum number of jobs to return per page. Defaults to 50 if not specified. Use smaller values for faster responses, larger values to reduce API calls.
nextTokenstringPagination token from a previous ListEnrichmentJobs response. Include this token to retrieve the next page of results. Omit for the first request.
propertyAliasstringFilter by property alias (human-readable sensor name). Specify either propertyAlias or timeSeriesId, but not both. Returns only jobs analyzing the specified property alias.
startDatestring (date-time)The exclusive start of the date range for filtering jobs by creation time. Jobs created after this timestamp are included. Use ISO 8601 format (e.g., 2024-01-01T00:00:00Z).
statusstringFilter by job status. Returns only jobs in the specified status. Use RUNNING to find active jobs, or FAILED to identify jobs requiring attention.
timeSeriesIdstringFilter by time series ID (system identifier). Specify either timeSeriesId or propertyAlias, but not both. Returns only jobs analyzing the specified time series.

SELECT examples

Retrieves detailed information about a specific enrichment job, including its current status, configuration, and timestamps. Use Cases Monitor job progress by checking status updates with DescribeEnrichmentJob Retrieve the complete job configuration submitted during creation Debug failed jobs by examining the failureMessage field Track job lifecycle with creation, update, completion, and cancellation timestamps Status Monitoring Jobs progress through statuses: PENDING → RUNNING → terminal state Terminal states: COMPLETED: Job finished successfully; query IoT SiteWise for semantic search results FAILED: Job encountered an error; check failureMessage for details TIMED_OUT: Job exceeded maximum processing time CANCELLED: Job was cancelled via CancelEnrichmentJob Response Fields The response includes: Current job status and type Full job configuration as originally submitted Lifecycle timestamps (created, updated, completed, cancelled) Failure details if status is FAILED

SELECT
cancelled_at,
completed_at,
created_at,
failure_message,
job_configuration,
job_id,
job_type,
status,
updated_at,
workspace_name
FROM aws.iotsitewise.enrichment_jobs
WHERE workspace_name = '{{ workspace_name }}' -- required
AND job_id = '{{ job_id }}' -- required
AND region = '{{ region }}' -- required
;

INSERT examples

Creates an asynchronous enrichment job to analyze time-series sensor data. The operation returns immediately with job details while processing continues in the background. Idempotency Include a clientToken to make the operation idempotent. If you submit the same request with the same token within the idempotency window, you receive the original job details without creating a duplicate. Prerequisites Before creating a job, ensure: The workspace is in ACTIVE state (not being deleted) You have IAM permissions for the workspace, dataset, and time-series resources You have KMS Decrypt permission on the workspace's customer-managed encryption key No duplicate job (same workspace, dataset, property, and job type) is currently running Workflow Submit the job with configuration specifying which video data to analyze and the time range Capture the jobId from the response Use DescribeEnrichmentJob to monitor progress and check job status When status reaches a terminal state (COMPLETED, FAILED, TIMED_OUT, CANCELLED), check results For COMPLETED jobs, query IoT SiteWise for semantic search on video events Error Handling ConflictingOperationException: A duplicate job is already running for the same configuration InvalidRequestException: Invalid parameters (e.g., both timeSeriesId and propertyAlias specified) AccessDeniedException: Insufficient IAM or KMS permissions LimitExceededException: Too many concurrent jobs or requests

INSERT INTO aws.iotsitewise.enrichment_jobs (
jobConfiguration,
clientToken,
workspace_name,
region
)
SELECT
'{{ jobConfiguration }}' /* required */,
'{{ clientToken }}',
'{{ workspace_name }}',
'{{ region }}'
RETURNING
created_at,
job_id,
status
;