BlobStoreProvider
BlobStoreProvider 是包用来向 MastraEditor 注册 blob store 的接口。Blob store 用于保存按内容寻址的 Skill blob,以及 Editor 生成的其他大型 artifact。
内置 storage Provider 使用已配置存储后端的 blobs domain。外部 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 })
},
}
如果未向 MastraEditor.resolveBlobStore() 传递 providerId,Editor 会回退到存储后端的 blobs domain。
相关内容相关内容的直接链接
- MastraEditor 类:Provider 注册表和
resolveBlobStore()方法。