@microsoft/rayfin-storage
Type-safe blob storage client for Rayfin — what it's for and how to model storage folders today, pending a version-locked API reference.
@microsoft/rayfin-storage is Rayfin's type-safe blob storage client. Per the package
catalog, it provides a storage client for Rayfin storage backends (blob upload, download,
and file management).
Warning
Storage is experimental and is not available in every Fabric region or tenant.
@microsoft/rayfin-storage may change substantially between releases.
Note
@microsoft/rayfin-storage is not installed in the environment this reference was
written against, so its method signatures cannot be verified here. Run
rayfin docs search 'storage' --module ts-sdk (or the MCP server's
search_docs(query: 'storage', module: 'ts-sdk')) from your project root for the
version-locked API surface of the package you actually have installed. See
MCP server for how those lookups work.
Installation
npm install @microsoft/rayfin-storageStorage is also gated behind a CLI feature flag in current builds — set
RAYFIN_FEATURE_FLAGS=storage to expose storage prompts in rayfin init.
What is verifiable today
The one part of the storage model that is verified independently — because it lives in
@microsoft/rayfin-core, which is installed — is the @blob() class decorator you use
to declare a storage folder:
import { blob, role } from '@microsoft/rayfin-core';
@blob('uploads')
@role('authenticated', '*')
export class FileModel {
owner_id!: string;
}@blob(folderName?)marks a class as a blob storage folder. The name defaults to the kebab-case class name when omitted.- Permissions use the same
@role()/@authenticated()/@anonymous()decorators as data entities (see@microsoft/rayfin-core) — a folder is inferred public if theanonymousrole has any granted permission on it, otherwise private.
@blob() is what the Rayfin CLI reads to generate storage configuration when you run
rayfin up. It does not, by itself, give you a client to upload or download files — that
surface belongs to @microsoft/rayfin-storage and is out of scope for this page.
What this page deliberately omits
No client construction signature, upload/download method names, or options are documented
here, because none could be confirmed against either the vendored package docs or an
installed copy of the package. Documenting a guessed method signature would be worse than
leaving it out — use the rayfin docs lookup above to get the real surface for your
project's installed version.
@microsoft/rayfin-functions
FunctionClient, the FunctionsSchema type, and client.functions.<name>.invoke() for calling serverless functions from the Rayfin SDK.
@microsoft/rayfin-connectors
Connector runtime APIs for mounting typed Fabric SQL, semantic model, and KQL Database connectors on the Rayfin client.