BlobStoreProvider
BlobStoreProvider は、パッケージが MastraEditor に Blob Store を登録するために実装するインターフェースです。Blob Store は、コンテンツアドレス指定可能な Skill の Blob や、Editor が生成するその他の大きなアーティファクトを保持します。
組み込みの storage Provider は、構成済みストレージバックエンドの blobs ドメインを使用します。外部 Provider(S3 など)は MastraEditorConfig.blobStores を介して指定します。
使用例使用例への直接リンク
src/mastra/index.ts
import { MastraEditor } from '@mastra/editor'
import { s3BlobStoreProvider } from '@mastra/s3'
new MastraEditor({
blobStores: {
[s3BlobStoreProvider.id]: s3BlobStoreProvider,
},
})
プロパティプロパティへの直接リンク
id:
string
一意の Provider 識別子(例:
"storage"、"s3")。name:
string
UI に表示する、人が読める名前。
description?:
string
簡潔な説明。
configSchema?:
Record<string, unknown>
Provider 固有の構成を記述する JSON Schema。UI で構成フォームをレンダリングするために使用されます。
createBlobStore:
(config: TConfig) => BlobStore | Promise<BlobStore>
保存済みの構成から、実行時の
BlobStore インスタンスを作成します。Editor が MastraEditor.resolveBlobStore(providerId, config) を介して Blob Store を解決するときに呼び出されます。Provider の実装Provider の実装への直接リンク
src/providers/my-blob-store.ts
import type { BlobStore, BlobStoreProvider } from '@mastra/core/editor'
export const myBlobStoreProvider: BlobStoreProvider<{ bucket: string; region: string }> = {
id: 'my-blob-store',
name: 'My Blob Store',
description: 'Object-store-backed blob storage.',
configSchema: {
type: 'object',
required: ['bucket', 'region'],
properties: {
bucket: { type: 'string' },
region: { type: 'string' },
},
},
async createBlobStore(config): Promise<BlobStore> {
return createMyBlobStore({ bucket: config.bucket, region: config.region })
},
}
providerId を MastraEditor.resolveBlobStore() に渡さなかった場合、Editor はストレージバックエンドの blobs ドメインにフォールバックします。
関連項目関連項目への直接リンク
- MastraEditor クラス: Provider レジストリと
resolveBlobStore()メソッド。