Interface IArtifactMetadataLookupClient
Defines the contract for retrieving artifact metadata from the Xperiflow system.
Namespace: Workspace.XBR.Xperiflow.Routines.Artifacts
Assembly: Xperiflow.dll
public interface IArtifactMetadataLookupClient
Examples
Basic usage example:
// Get all artifacts for a routine instance
var instanceArtifacts = await client.GetByInstanceIdentifierAsync("instance-123").Result;
// Get artifacts from a specific run
var runArtifacts = await client.GetByRunIdentifierAsync("instance-123", "run-456").Result;
// Find a specific artifact by qualified key
var artifact = client.GetByQualifiedKeyAsync("instance-123", "run-456", "output.dataframe").Result;
Remarks
The Workspace.XBR.Xperiflow.Routines.Artifacts.IArtifactMetadataLookupClient provides methods for querying artifact metadata using various lookup strategies. This interface enables efficient retrieval of artifact information without requiring full artifact data access.
Lookup Strategies:
-
Instance-Based LookupRetrieve all artifacts associated with a specific routine instance
-
Run-Based LookupRetrieve all artifacts from a specific routine run
-
Path-Based LookupFind artifacts by their storage path
-
Qualified Key LookupRetrieve specific artifacts using their qualified key within a run
Implementation Notes:
Implementations should handle authentication, caching, and error handling for artifact metadata retrieval. All methods support cancellation tokens for responsive operations.
Methods
GetByInstanceIdentifierAsync(string, CancellationToken)
Retrieves all artifact metadata associated with the specified routine instance.
Task<List<ArtifactMetadata>> GetByInstanceIdentifierAsync(string instanceIdentifier, CancellationToken cancellationToken = default)
Remarks
This method retrieves metadata for all artifacts that have been created by any run of the specified routine instance. The results include artifacts from all runs, both completed and in-progress.
Returns
Task<System.Collections.Generic.List{Workspace.XBR.Xperiflow.Routines.Artifacts.ArtifactMetadata}>
A task that represents the asynchronous operation. The task result contains a list of Workspace.XBR.Xperiflow.Routines.Artifacts.ArtifactMetadata objects for all artifacts associated with the specified instance.
Parameters
Type | Name | Description |
---|---|---|
System.String | instanceIdentifier | The unique identifier of the routine instance |
System.Threading.CancellationToken | cancellationToken | Token to monitor for cancellation requests |
Exceptions
System.ArgumentException
Thrown when instanceIdentifier is null or empty
Workspace.XBR.Xperiflow.Routines.RoutineClientException
Thrown when an error occurs during artifact metadata retrieval
GetByRunIdentifierAsync(string, string, CancellationToken)
Retrieves all artifact metadata for the specified routine run.
Task<List<ArtifactMetadata>> GetByRunIdentifierAsync(string instanceIdentifier, string runIdentifier, CancellationToken cancellationToken = default)
Remarks
This method retrieves metadata for all artifacts that were created during the specified routine run. This provides a focused view of artifacts from a single execution context.
Returns
Task<System.Collections.Generic.List{Workspace.XBR.Xperiflow.Routines.Artifacts.ArtifactMetadata}>
A task that represents the asynchronous operation. The task result contains a list of Workspace.XBR.Xperiflow.Routines.Artifacts.ArtifactMetadata objects for all artifacts created by the specified run.
Parameters
Type | Name | Description |
---|---|---|
System.String | instanceIdentifier | The unique identifier of the routine instance |
System.String | runIdentifier | The unique identifier of the routine run |
System.Threading.CancellationToken | cancellationToken | Token to monitor for cancellation requests |
Exceptions
System.ArgumentException
Thrown when instanceIdentifier or runIdentifier is null or empty
Workspace.XBR.Xperiflow.Routines.RoutineClientException
Thrown when an error occurs during artifact metadata retrieval
GetByPathAsync(string, CancellationToken)
Retrieves artifact metadata for the artifact at the specified storage path.
Task<ArtifactMetadata?> GetByPathAsync(string artifactPath, CancellationToken cancellationToken = default)
Remarks
This method enables path-based artifact discovery, which is useful when working with artifacts through file system operations or when the artifact path is known but the routine context is not.
Returns
Task
< Workspace.XBR.Xperiflow.Routines.Artifacts.ArtifactMetadata >
A task that represents the asynchronous operation. The task result contains the Workspace.XBR.Xperiflow.Routines.Artifacts.ArtifactMetadata if found, or null if no artifact exists at the specified path.
Parameters
Type | Name | Description |
---|---|---|
System.String | artifactPath | The storage path of the artifact |
System.Threading.CancellationToken | cancellationToken | Token to monitor for cancellation requests |
Exceptions
System.ArgumentException
Thrown when artifactPath is null or empty
Workspace.XBR.Xperiflow.Routines.RoutineClientException
Thrown when an error occurs during artifact metadata retrieval
GetByQualifiedKeyAsync(string, string, string, CancellationToken)
Retrieves artifact metadata for the artifact with the specified qualified key within a routine run.
Task<ArtifactMetadata?> GetByQualifiedKeyAsync(string instanceIdentifier, string runIdentifier, string qualifiedKey, CancellationToken cancellationToken = default)
Remarks
This method provides the most specific artifact lookup mechanism, allowing retrieval of individual artifacts by their qualified key within a specific run context. The qualified key is a dot-delimited path that uniquely identifies the artifact within the run's output structure.
Returns
Task
< Workspace.XBR.Xperiflow.Routines.Artifacts.ArtifactMetadata >
A task that represents the asynchronous operation. The task result contains the Workspace.XBR.Xperiflow.Routines.Artifacts.ArtifactMetadata if found, or null if no artifact with the specified qualified key exists in the run.
Parameters
Type | Name | Description |
---|---|---|
System.String | instanceIdentifier | The unique identifier of the routine instance |
System.String | runIdentifier | The unique identifier of the routine run |
System.String | qualifiedKey | The qualified key of the artifact (e.g., "output.dataframe", "results.metrics") |
System.Threading.CancellationToken | cancellationToken | Token to monitor for cancellation requests |
Exceptions
System.ArgumentException
Thrown when any parameter is null or empty
Workspace.XBR.Xperiflow.Routines.RoutineClientException
Thrown when an error occurs during artifact metadata retrieval