다음을 통해 공유


DataLakeServiceClient class

DataLakeServiceClient를 사용하면 Azure Data Lake 서비스 리소스 및 파일 시스템을 조작할 수 있습니다. 스토리지 계정은 Data Lake 서비스에 대한 최상위 네임스페이스를 제공합니다.

Extends

StorageClient

생성자

DataLakeServiceClient(string, Pipeline)

URL 및 파이프라인에서 DataLakeServiceClient의 인스턴스를 만듭니다.

DataLakeServiceClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)

URL에서 DataLakeServiceClient의 인스턴스를 만듭니다.

상속된 속성

accountName
credential

AnonymousCredential, StorageSharedKeyCredential 또는 서비스에 대한 요청을 인증하는 @azure/identity 패키지의 자격 증명과 같은 TokenCredential 인터페이스를 구현하는 개체를 제공할 수도 있습니다. 지정하지 않으면 AnonymousCredential이 사용됩니다.

url

인코딩된 URL 문자열 값입니다.

메서드

fromConnectionString(string, StoragePipelineOptions)

연결 문자열에서 DataLakeServiceClient의 인스턴스를 만듭니다.

generateAccountSasUrl(Date, AccountSASPermissions, string, ServiceGenerateAccountSasUrlOptions)

공유 키 자격 증명을 사용하여 생성된 DataLakeServiceClient에만 사용할 수 있습니다.

전달된 클라이언트 속성 및 매개 변수를 기반으로 계정 SAS(공유 액세스 서명) URI를 생성합니다. SAS는 클라이언트의 공유 키 자격 증명으로 서명됩니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/create-account-sas 참조

generateSasStringToSign(Date, AccountSASPermissions, string, ServiceGenerateAccountSasUrlOptions)

공유 키 자격 증명을 사용하여 생성된 DataLakeServiceClient에만 사용할 수 있습니다.

전달된 클라이언트 속성 및 매개 변수를 기반으로 계정 SAS(공유 액세스 서명)에 로그인하는 문자열을 생성합니다. SAS는 클라이언트의 공유 키 자격 증명으로 서명됩니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/create-account-sas 참조

getFileSystemClient(string)

DataLakeFileSystemClient 개체를 만듭니다.

getProperties(ServiceGetPropertiesOptions)

스토리지 분석 및 CORS(원본 간 리소스 공유) 규칙에 대한 속성을 포함하여 스토리지 계정의 Blob Service 엔드포인트 속성을 가져옵니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-service-properties 참조

getUserDelegationKey(Date, Date, ServiceGetUserDelegationKeyOptions)

전달자 토큰 인증(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 참조

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 참조

setProperties(BlobServiceProperties, ServiceSetPropertiesOptions)

스토리지 분석, CORS(원본 간 리소스 공유) 규칙 및 일시 삭제 설정에 대한 속성을 포함하여 스토리지 계정의 Blob 서비스 엔드포인트에 대한 속성을 설정합니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-service-properties 참조

undeleteFileSystem(string, string, ServiceUndeleteFileSystemOptions)

이전에 삭제된 파일 시스템을 복원합니다. 이 API는 스토리지 계정에 대해 컨테이너 일시 삭제를 사용하도록 설정한 경우에만 작동합니다.

생성자 세부 정보

DataLakeServiceClient(string, Pipeline)

URL 및 파이프라인에서 DataLakeServiceClient의 인스턴스를 만듭니다.

new DataLakeServiceClient(url: string, pipeline: Pipeline)

매개 변수

url

string

Azure Storage 데이터 레이크 서비스를 가리키는 클라이언트 문자열(예: "https://myaccount.dfs.core.windows.net") AnonymousCredential을 사용하는 경우 SAS를 추가할 수 있습니다(예: "https://myaccount.dfs.core.windows.net?sasString").

pipeline
Pipeline

newPipeline()을 호출하여 기본 파이프라인을 만들거나 사용자 지정된 파이프라인을 제공합니다.

DataLakeServiceClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)

URL에서 DataLakeServiceClient의 인스턴스를 만듭니다.

new DataLakeServiceClient(url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions)

매개 변수

url

string

Azure Storage 데이터 레이크 서비스를 가리키는 클라이언트 문자열(예: "https://myaccount.dfs.core.windows.net") AnonymousCredential을 사용하는 경우 SAS를 추가할 수 있습니다(예: "https://myaccount.dfs.core.windows.net?sasString").

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 Storage 계정의 계정 연결 문자열 또는 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

선택적. 공유 액세스 서명이 유효하지 않은 시간입니다. 지정하지 않으면 기본적으로 1시간 후로 설정됩니다.

permissions
AccountSASPermissions

SAS와 연결할 사용 권한 목록을 지정합니다.

resourceTypes

string

공유 액세스 서명과 연결된 리소스 유형을 지정합니다.

options
ServiceGenerateAccountSasUrlOptions

선택적 매개 변수입니다.

반환

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

선택적. 공유 액세스 서명이 유효하지 않은 시간입니다. 지정하지 않으면 기본적으로 1시간 후로 설정됩니다.

permissions
AccountSASPermissions

SAS와 연결할 사용 권한 목록을 지정합니다.

resourceTypes

string

공유 액세스 서명과 연결된 리소스 유형을 지정합니다.

options
ServiceGenerateAccountSasUrlOptions

선택적 매개 변수입니다.

반환

string

이 클라이언트가 나타내는 리소스에 대한 URI로 구성된 계정 SAS URI와 생성된 SAS 토큰이 뒤따릅니다.

getFileSystemClient(string)

DataLakeFileSystemClient 개체를 만듭니다.

function getFileSystemClient(fileSystemName: string): DataLakeFileSystemClient

매개 변수

fileSystemName

string

파일 시스템 이름입니다.

반환

getProperties(ServiceGetPropertiesOptions)

스토리지 분석 및 CORS(원본 간 리소스 공유) 규칙에 대한 속성을 포함하여 스토리지 계정의 Blob Service 엔드포인트 속성을 가져옵니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/get-blob-service-properties 참조

function getProperties(options?: ServiceGetPropertiesOptions): Promise<ServiceGetPropertiesResponse>

매개 변수

options
ServiceGetPropertiesOptions

서비스 속성 가져오기 작업에 대한 옵션입니다.

반환

서비스 속성 가져오기 작업에 대한 응답 데이터입니다.

getUserDelegationKey(Date, Date, ServiceGetUserDelegationKeyOptions)

전달자 토큰 인증(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일 이내여야 합니다.

반환

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>

매개 변수

반환

setProperties(BlobServiceProperties, ServiceSetPropertiesOptions)

스토리지 분석, CORS(원본 간 리소스 공유) 규칙 및 일시 삭제 설정에 대한 속성을 포함하여 스토리지 계정의 Blob 서비스 엔드포인트에 대한 속성을 설정합니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-service-properties 참조

function setProperties(properties: BlobServiceProperties, options?: ServiceSetPropertiesOptions): Promise<ServiceSetPropertiesResponse>

매개 변수

options
ServiceSetPropertiesOptions

서비스 설정 속성 작업에 대한 옵션입니다.

반환

서비스 집합 속성 작업에 대한 응답 데이터입니다.

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 }>