BlobStoreProvider
BlobStoreProvider est l’interface qu’un package implémente pour enregistrer un stockage de blobs auprès de MastraEditor. Les stockages de blobs contiennent des blobs de Skills adressables par leur contenu ainsi que d’autres artefacts volumineux produits par Editor.
Le Provider storage intégré utilise le domaine blobs du backend de stockage configuré. Les Providers externes, par exemple S3, sont fournis par l’intermédiaire de MastraEditorConfig.blobStores.
Exemple d’utilisationLien direct vers Exemple d’utilisation
src/mastra/index.ts
import { MastraEditor } from '@mastra/editor'
import { s3BlobStoreProvider } from '@mastra/s3'
new MastraEditor({
blobStores: {
[s3BlobStoreProvider.id]: s3BlobStoreProvider,
},
})
PropriétésLien direct vers Propriétés
id:
string
Identifiant unique du Provider (par exemple,
"storage", "s3").name:
string
Nom lisible destiné à l’affichage dans l’interface utilisateur.
description?:
string
Courte description.
configSchema?:
Record<string, unknown>
JSON Schema décrivant la configuration propre au Provider. Utilisé par l’interface utilisateur pour afficher les formulaires de configuration.
createBlobStore:
(config: TConfig) => BlobStore | Promise<BlobStore>
Crée une instance de
BlobStore lors de l’exécution à partir de la configuration stockée. Appelé lorsque Editor résout un stockage de blobs avec MastraEditor.resolveBlobStore(providerId, config).Implémenter un ProviderLien direct vers Implémenter un 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 })
},
}
Lorsqu’aucun providerId n’est transmis à MastraEditor.resolveBlobStore(), Editor utilise par défaut le domaine blobs du backend de stockage.
Voir aussiLien direct vers Voir aussi
- Classe MastraEditor : registre des Providers et méthode
resolveBlobStore().