> Discover all available pages from the documentation index: https://mastra.zisheng.pro/llms.txt # BlobStoreProvider `BlobStoreProvider` 是包用来向 [`MastraEditor`](https://mastra.zisheng.pro/reference/editor/mastra-editor) 注册 blob store 的接口。Blob store 用于保存按内容寻址的 Skill blob,以及 Editor 生成的其他大型 artifact。 内置 `storage` Provider 使用已配置存储后端的 `blobs` domain。外部 Provider(例如 S3)通过 `MastraEditorConfig.blobStores` 提供。 ## 使用示例 ```typescript 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`): 描述 Provider 专用配置的 JSON Schema。UI 使用它渲染配置表单。 **createBlobStore** (`(config: TConfig) => BlobStore | Promise`): 根据已存储配置创建运行时 BlobStore 实例。当 Editor 通过 MastraEditor.resolveBlobStore(providerId, config) 解析 blob store 时调用。 ## 实现 Provider ```typescript 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 { return createMyBlobStore({ bucket: config.bucket, region: config.region }) }, } ``` 如果未向 `MastraEditor.resolveBlobStore()` 传递 `providerId`,Editor 会回退到存储后端的 `blobs` domain。 ## 相关内容 - [MastraEditor 类](https://mastra.zisheng.pro/reference/editor/mastra-editor):Provider 注册表和 `resolveBlobStore()` 方法。