Back to Prefect

Artifact and asset events

docs/v3/api-ref/events/artifact-asset-events.mdx

3.7.5.dev15.4 KB
Original Source

Artifact events track individual artifact creation and updates. Artifact collection events track the lifecycle of keyed artifact collections. Asset events track data lineage through upstream references and downstream materializations.

Artifact collection events

An artifact collection groups all artifacts that share the same key. Collection lifecycle events are emitted when that collection is created, updated (the latest artifact changes), or deleted (all artifacts for the key are removed).

prefect.artifact-collection.created

Emitted when a keyed artifact collection is first created (that is, when the first artifact with a given key is written).

Resource

LabelDescription
prefect.resource.idprefect.artifact-collection.{uuid}
prefect.resource.nameArtifact key

Related resources

Resource ID patternRoleWhen present
prefect.artifact.{uuid}latestThe artifact that is currently the latest version in this collection
prefect.flow-run.{uuid}flow-runWhen the artifact was created by a flow run
prefect.task-run.{uuid}task-runWhen the artifact was created by a task run

Payload

FieldTypeDescription
keystringArtifact key
typestring or nullArtifact type (for example, markdown, table, progress, image)
dataany or nullArtifact data
descriptionstring or nullArtifact description

prefect.artifact-collection.updated

Emitted when the latest artifact in a collection changes (for example, a new artifact with the same key is written).

Resource

Same as prefect.artifact-collection.created.

Related resources

Same as prefect.artifact-collection.created, reflecting the new latest artifact.

Payload

Same as prefect.artifact-collection.created.

prefect.artifact-collection.deleted

Emitted when all artifacts for a key are removed and the collection is deleted.

Resource

Same as prefect.artifact-collection.created.

Related resources

Same as prefect.artifact-collection.created.

Payload

Same as prefect.artifact-collection.created.

Artifact events

prefect.artifact.created

Emitted when a new artifact is created.

Resource

LabelDescription
prefect.resource.idprefect.artifact.{uuid}
prefect.resource.nameArtifact key (when set)

Related resources

This event has no related resources.

Payload

FieldTypeDescription
keystring or nullArtifact key
typestring or nullArtifact type (for example, markdown, table, progress, image)
descriptionstring or nullArtifact description

prefect.artifact.updated

Emitted when an existing artifact is updated.

Resource

LabelDescription
prefect.resource.idprefect.artifact.{uuid}

Related resources

This event has no related resources.

Payload

The payload contains the fields that were updated, serialized from the update model. Common fields include data, description, and type.

Asset events

For more on assets and data lineage, see Assets.

prefect.asset.referenced

Emitted for each upstream asset referenced during a task execution. One event is emitted per upstream asset.

Resource

LabelDescription
prefect.resource.idAsset key (the unique identifier for the asset, for example s3://bucket/path)
prefect.resource.nameAsset name (when set via asset properties)
prefect.asset.descriptionAsset description (when set)
prefect.asset.urlAsset URL (when set)
prefect.asset.ownersJSON-encoded list of asset owners (when set)

Related resources

This event has no related resources.

Payload

This event has no payload.

prefect.asset.materialization.succeeded

Emitted when a downstream asset is successfully materialized (the task that produces it completes).

Resource

Same labels as prefect.asset.referenced.

Related resources

Resource ID patternRoleWhen present
Asset keyassetOne entry per upstream asset (both direct and inherited)
Materialized-by identifierasset-materialized-byWhen a materialized_by identifier was specified

Payload

User-provided materialization metadata, if any was supplied via the asset's materialization_metadata parameter. This is an open-ended dictionary.

prefect.asset.materialization.failed

Emitted when a downstream asset fails to materialize (the task that produces it fails). Same structure as prefect.asset.materialization.succeeded.

Resource

Same labels as prefect.asset.referenced.

Related resources

Same as prefect.asset.materialization.succeeded.

Payload

Same as prefect.asset.materialization.succeeded.