> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # AzureBlobFilesystem Stocke les fichiers dans des conteneurs Azure Blob Storage. Pour en savoir plus sur l'interface, consultez l'[interface WorkspaceFilesystem](https://mastra.zisheng.pro/fr/reference/workspace/filesystem). ## Installation **npm**: ```bash npm install @mastra/azure ``` **pnpm**: ```bash pnpm add @mastra/azure ``` **Yarn**: ```bash yarn add @mastra/azure ``` **Bun**: ```bash bun add @mastra/azure ``` ## Utilisation Ajoutez un `AzureBlobFilesystem` à un Workspace et attribuez-le à un agent : ```typescript import { Agent } from '@mastra/core/agent' import { Workspace } from '@mastra/core/workspace' import { AzureBlobFilesystem } from '@mastra/azure/blob' const workspace = new Workspace({ filesystem: new AzureBlobFilesystem({ container: 'my-container', connectionString: process.env.AZURE_STORAGE_CONNECTION_STRING, }), }) const agent = new Agent({ id: 'file-agent', name: 'file-agent', model: 'anthropic/claude-opus-4-7', workspace, }) ``` ### Clé de compte Utilisez un nom de compte et une clé de compte si vous ne souhaitez pas transmettre une chaîne de connexion complète : ```typescript import { AzureBlobFilesystem } from '@mastra/azure/blob' const filesystem = new AzureBlobFilesystem({ container: 'my-container', accountName: process.env.AZURE_STORAGE_ACCOUNT_NAME, accountKey: process.env.AZURE_STORAGE_ACCOUNT_KEY, }) ``` ### Token de signature d'accès partagé Utilisez un token de signature d'accès partagé (SAS) avec `accountName` ou `endpoint` : ```typescript import { AzureBlobFilesystem } from '@mastra/azure/blob' const filesystem = new AzureBlobFilesystem({ container: 'my-container', accountName: process.env.AZURE_STORAGE_ACCOUNT_NAME, sasToken: process.env.AZURE_STORAGE_SAS_TOKEN, }) ``` ### DefaultAzureCredential Utilisez `DefaultAzureCredential` lorsque votre environnement fournit des identifiants Azure Identity : ```typescript import { AzureBlobFilesystem } from '@mastra/azure/blob' const filesystem = new AzureBlobFilesystem({ container: 'my-container', accountName: process.env.AZURE_STORAGE_ACCOUNT_NAME, useDefaultCredential: true, }) ``` Installez `@azure/identity` lorsque vous utilisez `DefaultAzureCredential` : **npm**: ```bash npm install @azure/identity ``` **pnpm**: ```bash pnpm add @azure/identity ``` **Yarn**: ```bash yarn add @azure/identity ``` **Bun**: ```bash bun add @azure/identity ``` ## Paramètres du constructeur **container** (`string`): Nom du conteneur Azure Blob Storage **connectionString** (`string`): Chaîne de connexion Azure Storage complète. Prévaut sur les autres options d’authentification. **accountName** (`string`): Nom du compte Azure Storage. Requis sauf si vous utilisez connectionString ou endpoint. **accountKey** (`string`): Clé du compte Azure Storage. **sasToken** (`string`): Token de signature d’accès partagé. Nécessite accountName ou endpoint. **useDefaultCredential** (`boolean`): Utilise DefaultAzureCredential fourni par @azure/identity. (Default: `false`) **endpoint** (`string`): URL personnalisée du point de terminaison du service Blob. Utilisée pour le développement local avec Azurite. **prefix** (`string`): Préfixe facultatif pour toutes les clés (agit comme un sous-répertoire). **id** (`string`): Identifiant unique de cette instance de système de fichiers. (Default: `Généré automatiquement`) **displayName** (`string`): Nom d’affichage lisible dans l’interface utilisateur. **icon** (`FilesystemIcon`): Identifiant de l’icône dans l’interface utilisateur. **description** (`string`): Courte description de ce système de fichiers dans l’interface utilisateur. **readOnly** (`boolean`): Lorsque cette valeur est true, toutes les opérations d’écriture sont bloquées. (Default: `false`) ## Propriétés **id** (`string`): Identifiant de l’instance du système de fichiers. **name** (`string`): Nom du Provider ('AzureBlobFilesystem'). **provider** (`string`): Identifiant du Provider ('azure-blob'). **readOnly** (`boolean | undefined`): Indique si le système de fichiers est en mode lecture seule. ## Méthodes AzureBlobFilesystem implémente l'[interface WorkspaceFilesystem](https://mastra.zisheng.pro/fr/reference/workspace/filesystem) et fournit toutes les méthodes standard d'un système de fichiers : - `readFile(path, options?)` : lit le contenu d'un fichier - `writeFile(path, content, options?)` : écrit du contenu dans un fichier - `appendFile(path, content)` : ajoute du contenu à un fichier - `deleteFile(path, options?)` : supprime un fichier - `copyFile(src, dest, options?)` : copie un fichier - `moveFile(src, dest, options?)` : déplace ou renomme un fichier - `mkdir(path, options?)` : crée un répertoire - `rmdir(path, options?)` : supprime un répertoire - `readdir(path, options?)` : répertorie le contenu d'un répertoire - `exists(path)` : vérifie si un chemin existe - `stat(path)` : récupère les métadonnées d'un fichier ou d'un répertoire ### `init()` Initialise le système de fichiers. Vérifie l'accès au conteneur et les identifiants. ```typescript await filesystem.init() ``` ### `getInfo()` Renvoie les métadonnées de cette instance de système de fichiers. ```typescript const info = filesystem.getInfo() // { id: '...', name: 'AzureBlobFilesystem', provider: 'azure-blob', status: 'ready' } ``` ### `getContainer()` Renvoie le `ContainerClient` Azure Blob Storage sous-jacent. ```typescript const container = await filesystem.getContainer() ``` ### `getMountConfig()` Renvoie la configuration de montage des Providers de Sandbox qui prennent en charge les montages de systèmes de fichiers Azure Blob. ```typescript const config = filesystem.getMountConfig() // { type: 'azure-blob', container: 'my-container', ... } ``` > **Remarque:** Le montage d'Azure Blob dans une Sandbox dépend de la prise en charge des configurations de montage `azure-blob` par la Sandbox. Utilisez `filesystem` pour les opérations directes sur les fichiers du Workspace lorsque votre Provider de Sandbox ne prend pas en charge les montages Azure Blob. ## Ressources associées - [Interface WorkspaceFilesystem](https://mastra.zisheng.pro/fr/reference/workspace/filesystem) - [Référence S3Filesystem](https://mastra.zisheng.pro/fr/reference/workspace/s3-filesystem) - [Référence GCSFilesystem](https://mastra.zisheng.pro/fr/reference/workspace/gcs-filesystem) - [Présentation du Workspace](https://mastra.zisheng.pro/fr/docs/workspace/overview)