GCSFilesystem
Stocke des fichiers dans Google Cloud Storage. Pour plus de détails sur l'interface, consultez l'interface WorkspaceFilesystem.
InstallationLien direct vers Installation
- npm
- pnpm
- Yarn
- Bun
npm install @mastra/gcs
pnpm add @mastra/gcs
yarn add @mastra/gcs
bun add @mastra/gcs
UtilisationLien direct vers Utilisation
Ajoutez un GCSFilesystem à un Workspace et attribuez-le à un Agent :
import { Agent } from '@mastra/core/agent'
import { Workspace } from '@mastra/core/workspace'
import { GCSFilesystem } from '@mastra/gcs'
const workspace = new Workspace({
filesystem: new GCSFilesystem({
bucket: 'my-gcs-bucket',
projectId: 'my-project-id',
credentials: JSON.parse(process.env.GCS_SERVICE_ACCOUNT_KEY),
}),
})
const agent = new Agent({
id: 'file-agent',
name: 'file-agent',
model: 'anthropic/claude-opus-4-7',
workspace,
})
Utilisation des Application Default CredentialsLien direct vers Utilisation des Application Default Credentials
Si votre application s'exécute sur Google Cloud ou si la CLI gcloud est configurée, vous pouvez omettre les identifiants :
import { GCSFilesystem } from '@mastra/gcs'
const filesystem = new GCSFilesystem({
bucket: 'my-gcs-bucket',
// Uses Application Default Credentials automatically
})
Les Application Default Credentials (ADC) détectent automatiquement les identifiants dans l'ordre suivant :
- Variable d'environnement
GOOGLE_APPLICATION_CREDENTIALS(chemin vers un fichier de clé de compte de service) - Compte de service par défaut lors de l'exécution sur GCP (Compute Engine, Cloud Run, GKE, etc.)
- Identifiants utilisateur provenant de
gcloud auth application-default login(pour le développement local)
Utilisation du chemin d'un fichier de cléLien direct vers Utilisation du chemin d'un fichier de clé
Vous pouvez également fournir le chemin d'un fichier de clé de compte de service :
import { GCSFilesystem } from '@mastra/gcs'
const filesystem = new GCSFilesystem({
bucket: 'my-gcs-bucket',
projectId: 'my-project-id',
credentials: '/path/to/service-account-key.json',
})
Paramètres du constructeurLien direct vers Paramètres du constructeur
bucket:
projectId?:
credentials?:
prefix?:
id?:
displayName?:
icon?:
description?:
readOnly?:
endpoint?:
PropriétésLien direct vers Propriétés
id:
name:
provider:
bucket:
readOnly:
MéthodesLien direct vers Méthodes
GCSFilesystem implémente l'interface WorkspaceFilesystem et fournit toutes les méthodes standard d'un système de fichiers :
readFile(path, options?)- Lit le contenu d'un fichierwriteFile(path, content, options?)- Écrit du contenu dans un fichierappendFile(path, content)- Ajoute du contenu à un fichierdeleteFile(path, options?)- Supprime un fichiercopyFile(src, dest, options?)- Copie un fichiermoveFile(src, dest, options?)- Déplace ou renomme un fichiermkdir(path, options?)- Crée un répertoirermdir(path, options?)- Supprime un répertoirereaddir(path, options?)- Répertorie le contenu d'un répertoireexists(path)- Vérifie si un chemin existestat(path)- Récupère les métadonnées d'un fichier ou d'un répertoire
init()Lien direct vers init
Initialise le système de fichiers. Vérifie l'accès au bucket et les identifiants.
await filesystem.init()
getInfo()Lien direct vers getinfo
Renvoie les métadonnées de cette instance de système de fichiers.
const info = filesystem.getInfo()
// { id: '...', name: 'GCSFilesystem', provider: 'gcs', status: 'ready' }
getMountConfig()Lien direct vers getmountconfig
Renvoie la configuration de montage pour les Sandboxes prenant en charge le montage de ce type de système de fichiers.
const config = filesystem.getMountConfig()
// { type: 'gcs', bucket: 'my-bucket', ... }
Montage dans des Sandboxes E2BLien direct vers Montage dans des Sandboxes E2B
GCSFilesystem peut être monté dans des Sandboxes E2B afin de rendre le bucket accessible comme un répertoire local :
import { Workspace } from '@mastra/core/workspace'
import { GCSFilesystem } from '@mastra/gcs'
import { E2BSandbox } from '@mastra/e2b'
const workspace = new Workspace({
mounts: {
'/data': new GCSFilesystem({
bucket: 'my-gcs-bucket',
projectId: 'my-project-id',
credentials: JSON.parse(process.env.GCS_SERVICE_ACCOUNT_KEY),
}),
},
sandbox: new E2BSandbox({ id: 'dev-sandbox' }),
})
Consultez la référence d'E2BSandbox pour en savoir plus sur le montage.