你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
DataLakeServiceClient class
DataLakeServiceClient 允许你操作 Azure Data Lake 服务资源和文件系统。 存储帐户为 Data Lake 服务提供顶级命名空间。
- 扩展
-
StorageClient
构造函数
Data |
从 URL 和管道创建 DataLakeServiceClient 的实例。 |
Data |
从 URL 创建 DataLakeServiceClient 的实例。 |
继承属性
account |
|
credential | 例如 AnonymousCredential、StorageSharedKeyCredential 或任何来自 |
url | 编码的 URL 字符串值。 |
方法
from |
从连接字符串创建 DataLakeServiceClient 的实例。 |
generate |
仅适用于使用共享密钥凭据构造的 DataLakeServiceClient。 基于传入的客户端属性和参数生成帐户共享访问签名 (SAS) URI。 SAS 由客户端的共享密钥凭据签名。 请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/create-account-sas |
generate |
仅适用于使用共享密钥凭据构造的 DataLakeServiceClient。 根据传入的客户端属性和参数生成用于对帐户共享访问签名(SAS)进行签名的字符串。 SAS 由客户端的共享密钥凭据签名。 请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/create-account-sas |
get |
创建 DataLakeFileSystemClient 对象。 |
get |
获取存储帐户的 Blob 服务终结点的属性,包括存储分析和 CORS(跨源资源共享)规则的属性。 请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-service-properties |
get |
仅当使用 BEARER 令牌身份验证(TokenCredential)时才可用。 检索 Data Lake 服务的用户委派密钥。 仅当使用持有者令牌身份验证时,此操作才有效。 示例
请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/get-user-delegation-key |
list |
返回异步可迭代迭代器以列出指定帐户下的所有文件系统。 .byPage() 返回异步可迭代迭代器以在页面中列出文件系统。 使用
使用
使用
对标记使用分页的示例:
请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/list-containers2 |
set |
设置存储帐户的 Blob 服务终结点的属性,包括存储分析的属性、CORS(跨域资源共享)规则和软删除设置。 请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-service-properties |
undelete |
还原以前删除的文件系统。 仅当为存储帐户启用了容器软删除时,此 API 才起作用。 |
构造函数详细信息
DataLakeServiceClient(string, Pipeline)
从 URL 和管道创建 DataLakeServiceClient 的实例。
new DataLakeServiceClient(url: string, pipeline: Pipeline)
参数
- url
-
string
指向 Azure 存储 Data Lake 服务的客户端字符串,例如“https://myaccount.dfs.core.windows.net"。 如果使用 AnonymousCredential(如“https://myaccount.dfs.core.windows.net?sasString"),则可以追加 SAS。
- pipeline
- Pipeline
调用 newPipeline()以创建默认管道,或提供自定义管道。
DataLakeServiceClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)
从 URL 创建 DataLakeServiceClient 的实例。
new DataLakeServiceClient(url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions)
参数
- url
-
string
指向 Azure 存储 Data Lake 服务的客户端字符串,例如“https://myaccount.dfs.core.windows.net"。 如果使用 AnonymousCredential(如“https://myaccount.dfs.core.windows.net?sasString"),则可以追加 SAS。
- credential
-
StorageSharedKeyCredential | AnonymousCredential | TokenCredential
例如 AnonymousCredential、StorageSharedKeyCredential 或任何来自 @azure/identity
包的凭据,用于对服务的请求进行身份验证。 还可以提供实现 TokenCredential 接口的对象。 如果未指定,则使用 AnonymousCredential。
- options
- StoragePipelineOptions
自选。 用于配置 HTTP 管道的选项。
继承属性详细信息
accountName
accountName: string
属性值
string
继承自 StorageClient.accountName
credential
例如 AnonymousCredential、StorageSharedKeyCredential 或任何来自 @azure/identity
包的凭据,用于对服务的请求进行身份验证。 还可以提供实现 TokenCredential 接口的对象。 如果未指定,则使用 AnonymousCredential。
credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential
属性值
继承自 StorageClient.credential
url
编码的 URL 字符串值。
url: string
属性值
string
继承自 StorageClient.url
方法详细信息
fromConnectionString(string, StoragePipelineOptions)
从连接字符串创建 DataLakeServiceClient 的实例。
static function fromConnectionString(connectionString: string, options?: StoragePipelineOptions): DataLakeServiceClient
参数
- connectionString
-
string
帐户连接字符串或 Azure 存储帐户的 SAS 连接字符串。
[ 注意 - 帐户连接字符串只能在NODE.JS运行时使用。 ] 帐户连接字符串示例 -
DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net
SAS 连接字符串示例 - BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString
- options
- StoragePipelineOptions
自选。 用于配置 HTTP 管道的选项。
返回
generateAccountSasUrl(Date, AccountSASPermissions, string, ServiceGenerateAccountSasUrlOptions)
仅适用于使用共享密钥凭据构造的 DataLakeServiceClient。
基于传入的客户端属性和参数生成帐户共享访问签名 (SAS) URI。 SAS 由客户端的共享密钥凭据签名。
请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/create-account-sas
function generateAccountSasUrl(expiresOn?: Date, permissions?: AccountSASPermissions, resourceTypes?: string, options?: ServiceGenerateAccountSasUrlOptions): string
参数
- expiresOn
-
Date
自选。 共享访问签名失效的时间。 如果未指定,则默认为一小时后。
- permissions
- AccountSASPermissions
指定要与 SAS 关联的权限列表。
- resourceTypes
-
string
指定与共享访问签名关联的资源类型。
可选参数。
返回
string
由此客户端表示的资源的 URI 组成的帐户 SAS URI,后跟生成的 SAS 令牌。
generateSasStringToSign(Date, AccountSASPermissions, string, ServiceGenerateAccountSasUrlOptions)
仅适用于使用共享密钥凭据构造的 DataLakeServiceClient。
根据传入的客户端属性和参数生成用于对帐户共享访问签名(SAS)进行签名的字符串。 SAS 由客户端的共享密钥凭据签名。
请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/create-account-sas
function generateSasStringToSign(expiresOn?: Date, permissions?: AccountSASPermissions, resourceTypes?: string, options?: ServiceGenerateAccountSasUrlOptions): string
参数
- expiresOn
-
Date
自选。 共享访问签名失效的时间。 如果未指定,则默认为一小时后。
- permissions
- AccountSASPermissions
指定要与 SAS 关联的权限列表。
- resourceTypes
-
string
指定与共享访问签名关联的资源类型。
可选参数。
返回
string
由此客户端表示的资源的 URI 组成的帐户 SAS URI,后跟生成的 SAS 令牌。
getFileSystemClient(string)
创建 DataLakeFileSystemClient 对象。
function getFileSystemClient(fileSystemName: string): DataLakeFileSystemClient
参数
- fileSystemName
-
string
文件系统名称。
返回
getProperties(ServiceGetPropertiesOptions)
获取存储帐户的 Blob 服务终结点的属性,包括存储分析和 CORS(跨源资源共享)规则的属性。
请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-service-properties
function getProperties(options?: ServiceGetPropertiesOptions): Promise<ServiceGetPropertiesResponse>
参数
- options
- ServiceGetPropertiesOptions
服务获取属性操作的选项。
返回
Promise<DataLakeServiceGetPropertiesResponse>
服务获取属性操作的响应数据。
getUserDelegationKey(Date, Date, ServiceGetUserDelegationKeyOptions)
仅当使用 BEARER 令牌身份验证(TokenCredential)时才可用。
检索 Data Lake 服务的用户委派密钥。 仅当使用持有者令牌身份验证时,此操作才有效。
示例
// Generate user delegation SAS for a file system
const userDelegationKey = await dataLakeServiceClient.getUserDelegationKey(startsOn, expiresOn);
const fileSystemSAS = generateDataLakeSASQueryParameters({
fileSystemName, // Required
permissions: FileSystemSASPermissions.parse("racwdl"), // Required
startsOn, // Required. Date type
expiresOn, // Optional. Date type
ipRange: { start: "0.0.0.0", end: "255.255.255.255" }, // Optional
protocol: SASProtocol.HttpsAndHttp, // Optional
version: "2018-11-09" // Must greater than or equal to 2018-11-09 to generate user delegation SAS
},
userDelegationKey, // UserDelegationKey
accountName
).toString();
请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/get-user-delegation-key
function getUserDelegationKey(startsOn: Date, expiresOn: Date, options?: ServiceGetUserDelegationKeyOptions): Promise<ServiceGetUserDelegationKeyResponse>
参数
- startsOn
-
Date
用户委派 SAS 的开始时间。 必须在当前时间的 7 天内。
- expiresOn
-
Date
用户委派 SAS 的结束时间。 必须在当前时间的 7 天内。
返回
Promise<ServiceGetUserDelegationKeyResponse>
listFileSystems(ServiceListFileSystemsOptions)
返回异步可迭代迭代器以列出指定帐户下的所有文件系统。
.byPage() 返回异步可迭代迭代器以在页面中列出文件系统。
使用 for await
语法的示例:
let i = 1;
for await (const fileSystem of serviceClient.listFileSystems()) {
console.log(`FileSystem ${i++}: ${fileSystem.name}`);
}
使用 iter.next()
的示例:
let i = 1;
const iter = serviceClient.listFileSystems();
let fileSystemItem = await iter.next();
while (!fileSystemItem.done) {
console.log(`FileSystem ${i++}: ${fileSystemItem.value.name}`);
fileSystemItem = await iter.next();
}
使用 byPage()
的示例:
// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of serviceClient.listFileSystems().byPage({ maxPageSize: 20 })) {
if (response.fileSystemItems) {
for (const fileSystem of response.fileSystemItems) {
console.log(`FileSystem ${i++}: ${fileSystem.name}`);
}
}
}
对标记使用分页的示例:
let i = 1;
let iterator = serviceClient.listFileSystems().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;
// Prints 2 file system names
if (response.fileSystemItems) {
for (const fileSystem of response.fileSystemItems) {
console.log(`FileSystem ${i++}: ${fileSystem.name}`);
}
}
// Gets next marker
let marker = response.continuationToken;
// Passing next marker as continuationToken
iterator = serviceClient
.listContainers()
.byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;
// Prints 10 file system names
if (response.fileSystemItems) {
for (const fileSystem of response.fileSystemItems) {
console.log(`FileSystem ${i++}: ${fileSystem.name}`);
}
}
请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/list-containers2
function listFileSystems(options?: ServiceListFileSystemsOptions): PagedAsyncIterableIterator<FileSystemItem, ServiceListFileSystemsSegmentResponse, PageSettings>
参数
- options
- ServiceListFileSystemsOptions
返回
setProperties(BlobServiceProperties, ServiceSetPropertiesOptions)
设置存储帐户的 Blob 服务终结点的属性,包括存储分析的属性、CORS(跨域资源共享)规则和软删除设置。
请参阅 https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-service-properties
function setProperties(properties: BlobServiceProperties, options?: ServiceSetPropertiesOptions): Promise<ServiceSetPropertiesResponse>
参数
- properties
- DataLakeServiceProperties
- options
- ServiceSetPropertiesOptions
服务集属性操作的选项。
返回
Promise<ServiceSetPropertiesResponse>
服务集属性操作的响应数据。
undeleteFileSystem(string, string, ServiceUndeleteFileSystemOptions)
还原以前删除的文件系统。 仅当为存储帐户启用了容器软删除时,此 API 才起作用。
function undeleteFileSystem(deletedFileSystemName: string, deleteFileSystemVersion: string, options?: ServiceUndeleteFileSystemOptions): Promise<{ fileSystemClient: DataLakeFileSystemClient, fileSystemUndeleteResponse: ContainerUndeleteResponse }>
参数
- deletedFileSystemName
-
string
源文件系统的名称。
- deleteFileSystemVersion
-
string
文件系统的新名称。
- options
- ServiceUndeleteFileSystemOptions
用于配置文件系统还原操作的选项。
返回
Promise<{ fileSystemClient: DataLakeFileSystemClient, fileSystemUndeleteResponse: ContainerUndeleteResponse }>