Enum MetaFileSystemLocation
Represents the different storage locations available in the MetaFileSystem infrastructure.
Namespace: Workspace.XBR.Xperiflow.MetaFileSystem
Assembly: Xperiflow.dll
public enum MetaFileSystemLocation
Examples
// Framework location - implicit path resolution
var frameworkClient = MetaFileSystemClientFactory.CreateClient(
sessionInfo,
MetaFileSystemLocation.Framework
);
var config = frameworkClient.GetFileContentStringAsync("config/settings.json").Result;
// Routine location - explicit protocol
var routineClient = MetaFileSystemClientFactory.CreateClient(
sessionInfo,
MetaFileSystemLocation.Routine
);
var script = routineClient.GetFileContentStringAsync("routine://scripts/process.py").Result;
// Meta location - requires explicit protocols for all paths
var metaClient = MetaFileSystemClientFactory.CreateClient(
sessionInfo,
MetaFileSystemLocation.Meta
);
var frameworkFile = metaClient.GetFileContentStringAsync("framework://config/app.json").Result;
var routineFile = metaClient.GetFileContentStringAsync("routine://scripts/task.py").Result;
var sharedFile = metaClient.GetFileContentStringAsync("shared://templates/report.xlsx").Result;
Remarks
The MetaFileSystem provides a unified abstraction layer over multiple Azure Blob Storage containers, each serving a specific purpose within the XperiFlow architecture. This enum provides strongly-typed access to these logical storage locations, which are mapped to physical connection keys via Workspace.XBR.Xperiflow.MetaFileSystem.IConnectionReferenceFactory.
Path Resolution Behavior:
-
Framework, Routine, and Shared locations: Support both explicit protocol paths (e.g., "framework://my/path") and implicit paths (e.g., "my/path"). When no protocol is specified, the path is automatically scoped to the location's default protocol.
-
Meta location: Provides unified access to all storage locations but requires explicit protocol specification in all paths (e.g., "framework://", "routine://", "shared://"). Implicit paths are not supported when using the Meta location.
Important: This enum represents only the most commonly used connection keys. Additional connection keys may exist in the MetaFileSystem that are not represented by this enumeration. For advanced scenarios requiring custom connection keys, use the string-based overloads available in the MetaFileSystem API.
Fields
Unknown
Represents an unknown or uninitialized storage location.
[EnumMember]
Unknown = -1
Remarks
This value is used as a sentinel for error handling and validation scenarios. It should not be used for normal MetaFileSystem operations.
Framework
Represents the Framework storage location for system-level configuration and framework resources.
[EnumMember]
Framework = 0
Remarks
The Framework location stores core system resources, configuration files, and framework-level assets that are shared across the entire XperiFlow platform. This includes application settings, system templates, and infrastructure configuration.
Path Resolution: Supports both explicit protocol paths ("framework://path/to/file") and implicit paths ("path/to/file"). When no protocol is specified, the path is automatically resolved with the "framework://" protocol prefix.
Routine
Represents the Routine storage location for executable scripts, workflows, and routine-specific artifacts.
[EnumMember]
Routine = 1
Remarks
The Routine location stores executable code, Python scripts, workflow definitions, and artifacts generated by routine executions. This is the primary storage location for user-defined business logic, data processing scripts, and automation workflows within XperiFlow.
Path Resolution: Supports both explicit protocol paths ("routine://path/to/script.py") and implicit paths ("path/to/script.py"). When no protocol is specified, the path is automatically resolved with the "routine://" protocol prefix.
Shared
Represents the Shared storage location for cross-application data and collaborative resources.
[EnumMember]
Shared = 2
Remarks
The Shared location stores data and resources that are shared across multiple applications, users, or organizational units within the XperiFlow ecosystem. This includes shared datasets, common templates, reference data, and collaborative workspaces.
Path Resolution: Supports both explicit protocol paths ("shared://path/to/data.xlsx") and implicit paths ("path/to/data.xlsx"). When no protocol is specified, the path is automatically resolved with the "shared://" protocol prefix.
Meta
Represents a unified Meta location that provides cross-location access to all storage locations (Framework, Routine, and Shared).
[EnumMember]
Meta = 3
Remarks
The Meta location is a special unified storage location that enables access to files across all underlying storage locations (Framework, Routine, and Shared) through a single MetaFileSystem client. This is particularly useful for operations that need to work with resources from multiple locations or when the storage location is determined dynamically at runtime.
Path Resolution: Unlike other locations, the Meta location requires explicit protocol specification for all file paths. You must use fully-qualified paths with protocols ("framework://", "routine://", or "shared://"). Implicit paths without protocols are not supported and will result in errors.
Use Cases: