> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ja/llms.txt # AzureBlobFilesystem Azure Blob Storage コンテナにファイルを保存します。インターフェースの詳細は、[WorkspaceFilesystem インターフェース](https://mastra.zisheng.pro/ja/reference/workspace/filesystem)を参照してください。 ## インストール **npm**: ```bash npm install @mastra/azure ``` **pnpm**: ```bash pnpm add @mastra/azure ``` **Yarn**: ```bash yarn add @mastra/azure ``` **Bun**: ```bash bun add @mastra/azure ``` ## 使用方法 Workspace に `AzureBlobFilesystem` を追加して 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, }) ``` ### アカウントキー 完全な接続文字列を渡さない場合は、アカウント名とアカウントキーを使用します。 ```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, }) ``` ### Shared Access Signature トークン Shared Access Signature(SAS)トークンは、`accountName` または `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 環境から Azure ID の認証情報を取得できる場合は、`DefaultAzureCredential` を使用します。 ```typescript import { AzureBlobFilesystem } from '@mastra/azure/blob' const filesystem = new AzureBlobFilesystem({ container: 'my-container', accountName: process.env.AZURE_STORAGE_ACCOUNT_NAME, useDefaultCredential: true, }) ``` `DefaultAzureCredential` を使用する場合は、`@azure/identity` をインストールします。 **npm**: ```bash npm install @azure/identity ``` **pnpm**: ```bash pnpm add @azure/identity ``` **Yarn**: ```bash yarn add @azure/identity ``` **Bun**: ```bash bun add @azure/identity ``` ## コンストラクターパラメーター **container** (`string`): Azure Blob Storage のコンテナ名。 **connectionString** (`string`): 完全な Azure Storage 接続文字列。他の認証オプションより優先されます。 **accountName** (`string`): Azure Storage アカウント名。connectionString または endpoint を使用しない場合は必須です。 **accountKey** (`string`): Azure Storage アカウントキー。 **sasToken** (`string`): Shared Access Signature トークン。accountName または endpoint が必要です。 **useDefaultCredential** (`boolean`): @azure/identity の DefaultAzureCredential を使用するかどうか。 (Default: `false`) **endpoint** (`string`): カスタム Blob サービスのエンドポイント URL。Azurite を使ったローカル開発に使用します。 **prefix** (`string`): すべてのキーに付加する任意のプレフィックス(サブディレクトリとして機能します)。 **id** (`string`): この Filesystem インスタンスの一意な識別子。 (Default: `Auto-generated`) **displayName** (`string`): UI に表示するわかりやすい名前。 **icon** (`FilesystemIcon`): UI に表示するアイコンの識別子。 **description** (`string`): UI に表示する Filesystem の短い説明。 **readOnly** (`boolean`): true の場合、すべての書き込み操作を禁止します。 (Default: `false`) ## プロパティ **id** (`string`): Filesystem インスタンスの識別子。 **name** (`string`): Provider 名('AzureBlobFilesystem')。 **provider** (`string`): Provider 識別子('azure-blob')。 **readOnly** (`boolean | undefined`): Filesystem が読み取り専用モードかどうか。 ## メソッド AzureBlobFilesystem は [WorkspaceFilesystem インターフェース](https://mastra.zisheng.pro/ja/reference/workspace/filesystem)を実装し、標準の Filesystem メソッドをすべて提供します。 - `readFile(path, options?)` - ファイルの内容を読み取ります - `writeFile(path, content, options?)` - ファイルに内容を書き込みます - `appendFile(path, content)` - ファイルに内容を追記します - `deleteFile(path, options?)` - ファイルを削除します - `copyFile(src, dest, options?)` - ファイルをコピーします - `moveFile(src, dest, options?)` - ファイルを移動または名前変更します - `mkdir(path, options?)` - ディレクトリを作成します - `rmdir(path, options?)` - ディレクトリを削除します - `readdir(path, options?)` - ディレクトリの内容を一覧表示します - `exists(path)` - パスが存在するか確認します - `stat(path)` - ファイルまたはディレクトリのメタデータを取得します ### `init()` Filesystem を初期化し、コンテナへのアクセスと認証情報を検証します。 ```typescript await filesystem.init() ``` ### `getInfo()` この Filesystem インスタンスのメタデータを返します。 ```typescript const info = filesystem.getInfo() // { id: '...', name: 'AzureBlobFilesystem', provider: 'azure-blob', status: 'ready' } ``` ### `getContainer()` 基盤となる Azure Blob Storage の `ContainerClient` を返します。 ```typescript const container = await filesystem.getContainer() ``` ### `getMountConfig()` Azure Blob Filesystem のマウントに対応する Sandbox Provider 向けのマウント設定を返します。 ```typescript const config = filesystem.getMountConfig() // { type: 'azure-blob', container: 'my-container', ... } ``` > **注記:** Azure Blob を Sandbox にマウントするには、Sandbox が `azure-blob` マウント設定に対応している必要があります。Sandbox Provider が Azure Blob のマウントに対応していない場合、Workspace からファイルを直接操作するには `filesystem` を使用してください。 ## 関連項目 - [WorkspaceFilesystem インターフェース](https://mastra.zisheng.pro/ja/reference/workspace/filesystem) - [S3Filesystem リファレンス](https://mastra.zisheng.pro/ja/reference/workspace/s3-filesystem) - [GCSFilesystem リファレンス](https://mastra.zisheng.pro/ja/reference/workspace/gcs-filesystem) - [Workspace の概要](https://mastra.zisheng.pro/ja/docs/workspace/overview)