# @azure/storage-file-datalake 中文文档

规范地址：https://npmcn.com/package/%40azure/storage-file-datalake/

版本：12\.31\.0
npm 元数据更新时间：2026-06-24T14:19:07.945Z
中文译文更新时间：2026-11-07T13:19:25.864Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40azure/storage-file-datalake
原文对照：https://npmcn.com/package/%40azure/storage-file-datalake/?lang=original
项目主页：https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/storage/storage-file-datalake/README.md
源码仓库：https://github.com/Azure/azure-sdk-for-js

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：6.9 MB，712 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.0\.0
- 运行依赖：14 个
- 首次发布：2019-12-05T05:27:15.500Z
- 最新版本发布：2026-06-24T14:19:07.762Z
- 近 30 天下载量：826531（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：525（近 12 个月 49 个）

## 中文简介

微软 Azure 存储 JavaScript - DataLake

## 安装

```sh
npm install @azure/storage-file-datalake
```

也可以使用：`pnpm add @azure/storage-file-datalake`、`yarn add @azure/storage-file-datalake`、`bun add @azure/storage-file-datalake`

## README

# Azure 存储文件数据 JavaScript 的湖客户端库

Azure Data Lake存储(ADLS)包括所有必要的能力,使开发者,数据科学家和分析人员能够方便地存储任何大小,形状和速度的数据,并跨平台和语言进行各种类型的处理和分析. 它消除了摄取和存储您所有数据的复杂性,同时使得它更快地与批量,流体,交互分析一起起起跑.

这个项目提供了JavaScript的客户端库,方便于使用微软Azure存储数据湖服务.

使用此软件包中的客户端库 :

-   创建/列表/删除文件系统
-   创建/读取/列表/更新/删除路径、目录和文件

密钥链接 :

-   [源代码](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/storage/storage-file-datalake)
-   [软件包( npm)](https://www.npmjs.com/package/@azure/storage-file-datalake)
-   [API 参考文档](https://learn.microsoft.com/javascript/api/@azure/storage-file-datalake)
-   [产品文档](https://learn.microsoft.com/azure/storage/blobs/data-lake-storage-introduction?toc=%2fazure%2fstorage%2fblobs%2ftoc.json)
-   [样本](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/storage/storage-file-datalake/samples)
-   [Azure 存储数据湖 REST APIs](https://learn.microsoft.com/rest/api/storageservices/data-lake-storage-gen2)

## 开始

### 目前得到支持的环境

-   [节点.js的LTS版本](https://github.com/nodejs/release#release-schedule)
-   Safari,Chrome,Edge,和Firefox的最新版本.

看我们的 [支助政策](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) 更多细节.

### 先决条件

-   一个 [Azure 订阅](https://azure.microsoft.com/free/)
-   A 类 [存储账户](https://learn.microsoft.com/azure/storage/common/storage-account-create)

### 安装软件包

为JavaScript安装Azure存储数据湖客户端库的首选方法是使用npm包管理器. 键入下列终端窗口:

```bash
npm install @azure/storage-file-datalake
```

### 认证客户端

Azure存储器支持几种认证方法. 为了与Azure Data Lake存储服务互动,您需要创建存储客户端实例- `DataLakeServiceClient`, (中文(简体) ), `DataLakeFileSystemClient`,或 `DataLakePathClient` 举个例子 见 [用于创建 `DataLakeServiceClient`](https://npmcn.com/package/%40azure/storage-file-datalake/#readme-create-the-data-lake-service-client) 学习更多关于认证.

-   [Azure 活动目录](https://npmcn.com/package/%40azure/storage-file-datalake/#readme-with-defaultazurecredential-from-azureidentity-package)
-   [共享密钥](https://npmcn.com/package/%40azure/storage-file-datalake/#readme-with-storagesharedkeycredential)
-   [共享访问签名](https://npmcn.com/package/%40azure/storage-file-datalake/#readme-with-sas-token)

#### Azure 活动目录

Azure Data Lake存储服务支持使用Azure Active Directory来验证其API的请求. 这个 [`@azure/identity`](https://www.npmjs.com/package/@azure/identity) 软件包提供了各种证书类型,应用程序可用来做到这一点。 请看 [读取 `@azure/identity`](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/README.md) 需要更多的细节和样本来启动.

### 兼容性

这个库与Node.js和浏览器兼容,并与LTS Node.js版本(QQ8.16.0)和Chrome,Firefox和Edge等最新版本进行验证.

#### 网络工人

这个库要求某些DOM对象在浏览器中使用时可以全局取用,而网页工人默认不会提供. 您需要多填这些, 才能让这个图书馆在网络工作人员中工作 .

详情请参见我们 [在网络工人中使用Azure SDK的文档](https://aka.ms/azsdk/js/web-workers)

此库依赖于在网络工人使用时需要加载外部多填充的 DOM API :

-   [`document`](https://developer.mozilla.org/docs/Web/API/Document)
-   [`DOMParser`](https://developer.mozilla.org/docs/Web/API/DOMParser)
-   [`Node`](https://developer.mozilla.org/docs/Web/API/Node)
-   [`XMLSerializer`](https://developer.mozilla.org/docs/Web/API/XMLSerializer)

#### 节点J和浏览器之间的差异

节点(Node.js)和浏览器运行时间有差异. 启动此库时, 请注意 API 或 标有 _"绝对是无处可逃"_ 或者说 _"绝对是活在丛生"_。 。 。 .

-   如果一个文件持有压缩数据 `gzip` 或者说 `deflate` 格式及其内容编码相应设定,下载行为在Node.js和浏览器之间有所不同. 在Node.js存储客户端会以压缩格式下载文件,而浏览器中的数据则会以去压缩格式下载.

##### 特性、界面、类或函数仅可用于节点.js

-   基于账户名称和账户密钥的共享密钥授权
    -   `StorageSharedKeyCredential`
-   共享访问签名( SAS) 生成
    -   `generateAccountSASQueryParameters()`
    -   `generateDataLakeSASQueryParameters()`
-   平行上传和下载. 请注意: `DataLakeFileClient.upload()` 可在Node.js和浏览器中找到.
    -   `DataLakeFileClient.uploadFile()`
    -   `DataLakeFileClient.uploadStream()`
    -   `DataLakeFileClient.readToBuffer()`
    -   `DataLakeFileClient.readToFile()`

##### 特性、 界面、 类别或函数仅可用于浏览器

-   不详

### Java 脚本套装

要在浏览器中使用此客户端库,首先需要使用捆绑器. 关于如何做到这一点的详情,请参见我们 [捆绑文件](https://aka.ms/AzureSDKBundling)。 。 。 .

### (简体中文)

你需要设置 [跨欧林资源共享](https://learn.microsoft.com/rest/api/storageservices/cross-origin-resource-sharing--cors--support-for-the-azure-storage-services) 用于浏览器的存储账户规则。 到 Azure 门户网站和 Azure 存储探索器, 找到您的存储账户, 为 blob/ queue/ file/ table 服务创建新的 CORS 规则 .

例如,您可以按照 CORS 设置创建调试程序。 但请根据生产环境的要求,精心定制设置.

-   允许来源: \*
-   允许动词: DELETE, GET, HEAD, MERGE, POST, OPTIONS, PUT
-   允许的标题 : \*
-   已曝光标题 : \*
-   最大年龄(秒):86400

> 通知:数据 Lake目前共享 CORS 设置用于 blob 服务 .

## 关键概念

Azure Data Lake 存储 Gen2设计为:

-   在维持数百千兆吨的吞吐量的同时, 提供多个字节的信息
-   允许您轻松管理大量数据

DataLake 存储 Gen2 的关键特性包括:

-   Hadoop 兼容访问
-   POSIX 权限的超级集
-   低成本储存能力和交易的成本效益
-   大数据分析优化驱动程序

数据湖存储Gen2的一个基本部分是在Blob存储中添加了分级命名空间. 分级命名空间将对象/文件组织成目录的分级,以便高效地访问数据.

过去,以云为基础的分析不得不在业绩、管理和安全领域作出妥协。 Data Lake Survey Gen2 以下列方式处理所有这些方面:

-   性能被优化,因为不需要复制或转换数据作为分析的先决条件. 分级命名空间大大提高了目录管理业务的性能,提高了整体的工作性能.
-   管理比较容易,因为可以通过目录和子目录来组织和操纵文件.
-   安全是可执行的,因为可以在目录或个人文件中定义POSIX权限.
-   由于在低成本的Azure Blob存储之上建造了Data Lake存储Gen2,使得成本效益成为可能. 附加的特征进一步降低了Azure上运行大数据分析的总所有权成本.

数据 湖库提供三种资源:

-   这个 _存储账户_ 通过 `DataLakeServiceClient`
-   A 类 _文件系统_ 通过使用的存储账户中 `DataLakeFileSystemClient`
-   A 类 _路径_ 在通过的文件系统中 `DataLakeDirectoryClient` 或者说 `DataLakeFileClient`

| Azure 数据湖 Gen2 | 块 |
| --- | --- |
| 文件系统 | 集装箱 |
| 路径( 文件或目录) | 块 |

> 说明: 这个客户端库只支持带有等级命名空间(HNS)启用的存储账户.

## 实例

-   [导入软件包](https://npmcn.com/package/%40azure/storage-file-datalake/#readme-import-the-package)
-   [创建数据湖服务客户端](https://npmcn.com/package/%40azure/storage-file-datalake/#readme-create-the-data-lake-service-client)
-   [创建新文件系统](https://npmcn.com/package/%40azure/storage-file-datalake/#readme-create-a-new-file-system)
-   [列出文件系统](https://npmcn.com/package/%40azure/storage-file-datalake/#readme-list-the-file-systems)
-   [创建并删除目录](https://npmcn.com/package/%40azure/storage-file-datalake/#readme-create-and-delete-a-directory)
-   [创建文件](https://npmcn.com/package/%40azure/storage-file-datalake/#readme-create-a-file)
-   [列出文件系统中的路径](https://npmcn.com/package/%40azure/storage-file-datalake/#readme-list-paths-inside-a-file-system)
-   [下载一个文件并将其转换为字符串( Node.js)](https://npmcn.com/package/%40azure/storage-file-datalake/#readme-download-a-file-and-convert-it-to-a-string-nodejs)
-   [下载一个文件并转换为字符串( 浏览器)](https://npmcn.com/package/%40azure/storage-file-datalake/#readme-download-a-file-and-convert-it-to-a-string-browsers)

### 导入软件包

要使用客户端, 请导入软件包到您的文件中 :

```ts
import * as AzureStorageDataLake from "@azure/storage-file-datalake";
```

或者,有选择地仅导入所需的类型:

```ts
import { DataLakeServiceClient, StorageSharedKeyCredential } from "@azure/storage-file-datalake";
```

### 创建数据湖服务客户端

这个 `DataLakeServiceClient` 需要数据湖服务的URL和访问证书。 也可以选择接受 `options` 参数.

#### 与 `DefaultAzureCredential` 从 `@azure/identity` 软件包

**建议的即兴演奏方式a `DataLakeServiceClient`**

> 通知,长官 Azure 数据 Lake目前在AAD OAuth认证之后重复使用"Storage Blob Data Owide"等与blob相关的角色.

设置: 引用 - 授权从客户端应用程序中访问 blobs( 数据湖) 和与 Azure Active 目录的队列 - [https://learn.microsoft.com/azure/storage/common/storage-auth-aad-app 互联网档案馆的存檔,存档日期2013-12-22](https://learn.microsoft.com/azure/storage/common/storage-auth-aad-app)

-   注册一个新的 AAD 应用程序,并授权代表已签名的用户访问 Azure 存储 .
    
    -   在 Azure 活动目录( azure-portal) 中注册新的应用程序 - [https://learn.microsoft.com/azure/活出-指导/develop/quickstart-register-app. 互联网档案馆的存檔,存档日期2013-12-21](https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app)
    -   在那个 `API permissions` 区域,选择 `Add a permission` 选择 `Microsoft APIs`。 。 。 .
    -   选择 `Azure Storage` 并选择旁边的复选框 `user_impersonation` 然后单击 `Add permissions`。这将使应用程序能够代表登录用户访问Azure存储器.
-   与RBAC在Azure门户网站上访问Azure Data Lake数据的许可
    
    -   非洲区域局在blobs(数据湖)和队列中的作用 - [https://learn.microsoft.com/azure/storage/common/storage-auth-aad-rbac-portal 互联网档案馆的存檔,存档日期2013-12-21](https://learn.microsoft.com/azure/storage/common/storage-auth-aad-rbac-portal)。 。 。 .
    -   在Azure门户网站,去你的存储账户 并分配 **存储 Blob 数据贡献器** 角色到注册的 AAD 应用程序 `Access control (IAM)` 选项卡(在azure-portal中您存储账户的左侧导航栏).
-   样本的环境设置
    
    -   从您的 AAD 应用程序的概览页面中,请注意 `CLIENT ID` 财务报告和审定财务报表 `TENANT ID`。在“证书和机密”标签中,创建一个机密,并将此记下.
    -   请确定您有 AZURE TENANT ID, AZURE CLIENT ID, AZURE CLIENT SECRET 作为环境变量来成功执行样本(可以杠杆进程.env).

```ts
import { DefaultAzureCredential } from "@azure/identity";
import { DataLakeServiceClient } from "@azure/storage-file-datalake";

// Enter your storage account name
const account = "<account>";
const defaultAzureCredential = new DefaultAzureCredential();

const datalakeServiceClient = new DataLakeServiceClient(
  `https://${account}.dfs.core.windows.net`,
  defaultAzureCredential,
);
```

见 [Azure AD Auth 样本](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/storage/storage-blob/samples/v12/javascript/azureAdAuth.js) 对于使用这种方法的完整示例.

\[注 -- -- 以上步骤只针对节点.js\]

#### 使用连接字符串

或者,你可以即时 `DataLakeServiceClient` 使用 `fromConnectionString()` 以全连接字符串作为参数的静态方法。 (连接字符串可以从Azure门户网站获得 \[完全可以在 代码.JS运行\]

```ts
import { DataLakeServiceClient } from "@azure/storage-file-datalake";

const connectionString = "<connection string>";

const dataLakeServiceClient = DataLakeServiceClient.fromConnectionString(connectionString);
```

#### 与 `StorageSharedKeyCredential`

或者,你即兴表演 `DataLakeServiceClient` 带有 `StorageSharedKeyCredential` 以传递账户名称和账户键作为参数。 (账户名称和账户钥匙可从Azure门户网站获取. ) \[完全可以在 代码.JS运行\]

```ts
import { StorageSharedKeyCredential, DataLakeServiceClient } from "@azure/storage-file-datalake";

// Enter your storage account name and shared key
const account = "<account>";
const accountKey = "<accountkey>";

// Use StorageSharedKeyCredential with storage account and account key
// StorageSharedKeyCredential is only available in Node.js runtime, not in browsers
const sharedKeyCredential = new StorageSharedKeyCredential(account, accountKey);
const datalakeServiceClient = new DataLakeServiceClient(
  `https://${account}.dfs.core.windows.net`,
  sharedKeyCredential,
);
```

#### 与 SAS Token 连接

还有... 你可以即兴表演 `DataLakeServiceClient` 带有共享访问签名(SAS). 您可以从 Azure 端口获得 SAS 令牌或使用 `generateAccountSASQueryParameters()`。 。 。 .

```ts
import { DataLakeServiceClient } from "@azure/storage-file-datalake";

const account = "<account name>";
const sas = "<service Shared Access Signature Token>";
const serviceClientWithSAS = new DataLakeServiceClient(
  `https://${account}.dfs.core.windows.net${sas}`,
);
```

### 创建新文件系统

使用 `DataLakeServiceClient.getFileSystemClient()` 然后创建新的文件系统资源.

```ts
import { DataLakeServiceClient } from "@azure/storage-file-datalake";
import { DefaultAzureCredential } from "@azure/identity";

const account = "<account>";
const datalakeServiceClient = new DataLakeServiceClient(
  `https://${account}.dfs.core.windows.net`,
  new DefaultAzureCredential(),
);

// Create a file system
const fileSystemName = `newfilesystem${new Date().getTime()}`;
const fileSystemClient = datalakeServiceClient.getFileSystemClient(fileSystemName);
const createResponse = await fileSystemClient.create();
console.log(`Create file system ${fileSystemName} successfully`, createResponse.requestId);
```

### 列出文件系统

使用 `DataLakeServiceClient.listFileSystems()` 函数可以对文件系统进行迁移, 与新的 `for-await-of` 语法 :

```ts
import { DataLakeServiceClient } from "@azure/storage-file-datalake";
import { DefaultAzureCredential } from "@azure/identity";

const account = "<account>";
const datalakeServiceClient = new DataLakeServiceClient(
  `https://${account}.dfs.core.windows.net`,
  new DefaultAzureCredential(),
);

let i = 1;
const fileSystems = datalakeServiceClient.listFileSystems();
for await (const fileSystem of fileSystems) {
  console.log(`File system ${i++}: ${fileSystem.name}`);
}
```

或者不使用 `for-await-of`数字 :

```ts
import { DataLakeServiceClient } from "@azure/storage-file-datalake";
import { DefaultAzureCredential } from "@azure/identity";

const account = "<account>";
const datalakeServiceClient = new DataLakeServiceClient(
  `https://${account}.dfs.core.windows.net`,
  new DefaultAzureCredential(),
);

let i = 1;
const fileSystems = datalakeServiceClient.listFileSystems();
let { value, done } = await fileSystems.next();
while (!done) {
  console.log(`File system ${i++}: ${value.name}`);
  ({ value, done } = await fileSystems.next());
}
```

此外,还支持通过Pagination将它列入清单 `byPage()`数字 :

```ts
import { DataLakeServiceClient } from "@azure/storage-file-datalake";
import { DefaultAzureCredential } from "@azure/identity";

const account = "<account>";
const datalakeServiceClient = new DataLakeServiceClient(
  `https://${account}.dfs.core.windows.net`,
  new DefaultAzureCredential(),
);

let i = 1;
for await (const response of datalakeServiceClient.listFileSystems().byPage({ maxPageSize: 20 })) {
  if (response.fileSystemItems) {
    for (const fileSystem of response.fileSystemItems) {
      console.log(`File System ${i++}: ${fileSystem.name}`);
    }
  }
}
```

### 创建并删除目录

```ts
import { DataLakeServiceClient } from "@azure/storage-file-datalake";
import { DefaultAzureCredential } from "@azure/identity";

const account = "<account>";
const datalakeServiceClient = new DataLakeServiceClient(
  `https://${account}.dfs.core.windows.net`,
  new DefaultAzureCredential(),
);

const fileSystemName = "<file system name>";
const fileSystemClient = datalakeServiceClient.getFileSystemClient(fileSystemName);
const directoryClient = fileSystemClient.getDirectoryClient("directory");
await directoryClient.create();
await directoryClient.delete();
```

### 创建文件

```ts
import { DataLakeServiceClient } from "@azure/storage-file-datalake";
import { DefaultAzureCredential } from "@azure/identity";

const account = "<account>";
const datalakeServiceClient = new DataLakeServiceClient(
  `https://${account}.dfs.core.windows.net`,
  new DefaultAzureCredential(),
);

const fileSystemName = "<file system name>";
const fileSystemClient = datalakeServiceClient.getFileSystemClient(fileSystemName);

const content = "Hello world!";
const fileName = `newfile${+new Date()}`;
const fileClient = fileSystemClient.getFileClient(fileName);
await fileClient.create();
await fileClient.append(content, 0, content.length);
await fileClient.flush(content.length);
console.log(`Create and upload file ${fileName} successfully`);
```

### 列出文件系统中的路径

类似于列出文件系统.

```ts
import { DataLakeServiceClient } from "@azure/storage-file-datalake";
import { DefaultAzureCredential } from "@azure/identity";

const account = "<account>";
const datalakeServiceClient = new DataLakeServiceClient(
  `https://${account}.dfs.core.windows.net`,
  new DefaultAzureCredential(),
);

const fileSystemName = "<file system name>";
const fileSystemClient = datalakeServiceClient.getFileSystemClient(fileSystemName);

let i = 1;
const paths = fileSystemClient.listPaths();
for await (const path of paths) {
  console.log(`Path ${i++}: ${path.name}, is directory: ${path.isDirectory}`);
}
```

### 下载一个文件并将其转换为字符串( Node.js)

```ts
import { DataLakeServiceClient } from "@azure/storage-file-datalake";
import { DefaultAzureCredential } from "@azure/identity";
import { buffer } from "node:stream/consumers";

const account = "<account>";
const datalakeServiceClient = new DataLakeServiceClient(
  `https://${account}.dfs.core.windows.net`,
  new DefaultAzureCredential(),
);

const fileSystemName = "<file system name>";
const fileName = "<file name>";
const fileSystemClient = datalakeServiceClient.getFileSystemClient(fileSystemName);
const fileClient = fileSystemClient.getFileClient(fileName);

// Get file content from position 0 to the end
// In Node.js, get downloaded data by accessing downloadResponse.readableStreamBody
const downloadResponse = await fileClient.read();
if (downloadResponse.readableStreamBody) {
  // Download the raw bytes of the file. Use `text` from "node:stream/consumers"
  // instead if you want to read the content as a string directly.
  const downloaded = await buffer(downloadResponse.readableStreamBody);
  console.log("Downloaded file content:", downloaded.toString());
}
```

### 下载一个文件并转换为字符串( 浏览器)

```ts
import { DataLakeServiceClient } from "@azure/storage-file-datalake";

const account = "<account>";
const sas = "<sas token>";
const datalakeServiceClient = new DataLakeServiceClient(
  `https://${account}.dfs.core.windows.net${sas}`,
);

const fileSystemName = "<file system name>";
const fileName = "<file name>";
const fileSystemClient = datalakeServiceClient.getFileSystemClient(fileSystemName);
const fileClient = fileSystemClient.getFileClient(fileName);

// Get file content from position 0 to the end
// In browsers, get downloaded data by accessing downloadResponse.contentAsBlob
const downloadResponse = await fileClient.read();
if (downloadResponse.contentAsBlob) {
  const blob = await downloadResponse.contentAsBlob;
  const downloaded = await blob.text();
  console.log(`Downloaded file content ${downloaded}`);
}
```

## 解决问题

允许伐木可能有助于发现有关失败的有用信息。 为了查看 HTTP 请求和回复的日志,设置 `AZURE_LOG_LEVEL` 环境变量改为 `info`。或者,可以在运行时拨打 `setLogLevel` 输入 `@azure/logger`数字 :

```ts
import { setLogLevel } from "@azure/logger";

setLogLevel("info");
```

## 今后的步骤

更多代码样本 :

-   [数据湖存储样本( JavaScript)](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/storage/storage-file-datalake/samples/v12/javascript)
-   [数据湖存储样本( TypeScript)](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/storage/storage-file-datalake/samples/v12/typescript)
-   [数据湖存储测试案例](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/storage/storage-file-datalake/test/)

## 捐款

如果您想为图书馆捐钱 请读一下 [贡献指南](https://github.com/Azure/azure-sdk-for-js/blob/main/CONTRIBUTING.md) 学习如何构建和测试密码.

## 常见问题

### @azure/storage-file-datalake 是什么？

微软 Azure 存储 JavaScript - DataLake

### 如何安装 @azure/storage-file-datalake？

在项目目录运行 npm install @azure/storage-file-datalake，或使用 pnpm add / yarn add / bun add。

### @azure/storage-file-datalake 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @azure/storage-file-datalake 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @azure/storage-file-datalake 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @azure/storage-file-datalake 可以商用吗？

@azure/storage-file-datalake 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @azure/storage-file-datalake 的下载量有多少？

根据 npm 官方下载统计，@azure/storage-file-datalake 在 2026/10/08 – 2026/11/06 这 30 天内被下载 826,531 次，日均约 27,551 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @azure/storage-file-datalake 还在维护吗？

最新版本 12\.31\.0 发布于 2026/06/24（4 个月前）；至今共发布 525 个版本，其中过去 12 个月发布了 49 个；首次发布于 2019/12/05。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

