Aller au contenu principal

AzureBlobFilesystem

Stocke les fichiers dans des conteneurs Azure Blob Storage. Pour en savoir plus sur l'interface, consultez l'interface WorkspaceFilesystem.

Installation
Lien direct vers Installation

npm install @mastra/azure

Utilisation
Lien direct vers Utilisation

Ajoutez un AzureBlobFilesystem à un Workspace et attribuez-le à un agent :

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
Lien direct vers 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 :

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é
Lien direct vers Token de signature d'accès partagé

Utilisez un token de signature d'accès partagé (SAS) avec accountName ou endpoint :

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
Lien direct vers DefaultAzureCredential

Utilisez DefaultAzureCredential lorsque votre environnement fournit des identifiants Azure Identity :

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 install @azure/identity

Paramètres du constructeur
Lien direct vers 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
= false
Utilise DefaultAzureCredential fourni par @azure/identity.

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
= Généré automatiquement
Identifiant unique de cette instance de système de fichiers.

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
= false
Lorsque cette valeur est true, toutes les opérations d’écriture sont bloquées.

Propriétés
Lien direct vers 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
Lien direct vers Méthodes

AzureBlobFilesystem 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 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()
Lien direct vers init

Initialise le système de fichiers. Vérifie l'accès au conteneur 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: 'AzureBlobFilesystem', provider: 'azure-blob', status: 'ready' }

getContainer()
Lien direct vers getcontainer

Renvoie le ContainerClient Azure Blob Storage sous-jacent.

const container = await filesystem.getContainer()

getMountConfig()
Lien direct vers getmountconfig

Renvoie la configuration de montage des Providers de Sandbox qui prennent en charge les montages de systèmes de fichiers Azure Blob.

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.