class AzureBlobProvider
implements StorageProvider
Since 0.1.0

Azure Blob storage provider.

Supports native streaming via download().readableStreamBody async-iterated into a web ReadableStream.

Constructors

AzureBlobProvider(
now?: () => number
)
Parameters
optional
options: AzureBlobProviderOptions

Azure connection/injection options

optional
now: () => number

Wall-clock source (epoch ms) for SAS expiry. Injected by createProvider as runtime.now() (the only sanctioned clock outside packages/runtime). Defaults to () => 0 for direct construction.

Properties

Since 0.1.0
optional
isHealthy: () => Promise<boolean>

M70c: delegates to the injected client's optional isHealthy?() (the real adapter calls the container client's exists()). Assigned in connect() only when the client provides the member; a client that omits it is unknown, and the indicator reads absence (not false) as that.

Methods

connect(): Promise<void>

Establishes the Azure client — injects the SDK lazily or uses injected client.

delete(path: string): Promise<boolean>

Deletes an object from Azure Blob Storage.

disconnect(): Promise<void>

Disconnect is a no-op for Azure (connectionless HTTP client).

exists(path: string): Promise<boolean>

Reports whether an object exists in Azure Blob Storage.

get(path: string): Promise<Uint8Array | null>

Retrieves an object from Azure Blob Storage; null when absent.

getSignedUrl(
path: string,
options: { expiresIn: number; }
): Promise<string>

Creates a SAS URL for an Azure Blob.

getStream(path: string): Promise<ReadableStream<Uint8Array> | null>

Native stream download — adapts Azure readableStreamBody (Node Readable) into a web ReadableStream via async iteration.

isReady(): boolean

Reports readiness.

put(
path: string,
data: Uint8Array,
): Promise<void>

Stores an object in Azure Blob Storage, recording any content type and user metadata on the blob so a SAS URL serves it under the right type.

Azure carries the content type inside blobHTTPHeaders rather than beside the metadata, so the two land in different places on the same call.

Usage

import { AzureBlobProvider } from "storage-plugin/src/index.ts";