다음을 통해 공유


ShareDirectoryClient class

ShareDirectoryClient는 해당 파일 및 디렉터리를 조작할 수 있는 Azure Storage 디렉터리의 URL을 나타냅니다.

Extends

생성자

ShareDirectoryClient(string, Credential_2, StoragePipelineOptions)

DirectoryClient의 인스턴스를 만듭니다.

ShareDirectoryClient(string, Pipeline)

DirectoryClient의 인스턴스를 만듭니다.

속성

name

디렉터리의 이름입니다.

path

디렉터리의 전체 경로

shareName

이 디렉터리 클라이언트에 해당하는 공유 이름

상속된 속성

accountName
url

URL 문자열 값입니다.

메서드

create(DirectoryCreateOptions)

지정된 공유 또는 부모 디렉터리 아래에 새 디렉터리를 만듭니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory를 참조하세요.

createFile(string, number, FileCreateOptions)

새 파일을 만들거나 이 디렉터리 아래에 있는 파일을 대체합니다. 콘텐츠가 없는 파일만 초기화합니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/create-file를 참조하세요.

createIfNotExists(DirectoryCreateOptions)

지정한 공유 또는 부모 디렉터리에 새 디렉터리가 아직 없는 경우 만듭니다. 디렉터리가 이미 있는 경우 수정되지 않습니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory를 참조하세요.

createSubdirectory(string, DirectoryCreateOptions)

이 디렉터리 아래에 새 하위 디렉터리를 만듭니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory를 참조하세요.

delete(DirectoryDeleteOptions)

지정된 빈 디렉터리를 제거합니다. 디렉터리는 비어 있어야 삭제할 수 있습니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory를 참조하세요.

deleteFile(string, FileDeleteOptions)

스토리지 계정에서 이 디렉터리 아래에 있는 지정된 파일을 제거합니다. 파일을 성공적으로 삭제하면 저장소 계정의 인덱스에서 즉시 제거되며, 클라이언트에서 더 이상 액세스할 수 없습니다. 파일의 데이터는 나중에 가비지 수집 중에 서비스에서 제거됩니다. 파일이 SMB 클라이언트에서 열려 있는 경우 상태 코드 409(충돌) 및 오류 코드 SharingViolation으로 파일 삭제가 실패합니다.

파일 삭제는 공유의 읽기 전용 복사본인 공유 스냅샷에서 지원되지 않습니다. 공유 스냅샷에서 이 작업을 수행하려고 하면 400(InvalidQueryParameterValue)으로 실패합니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/delete-file2를 참조하세요.

deleteIfExists(DirectoryDeleteOptions)

지정된 빈 디렉터리가 있는 경우 제거합니다. 디렉터리는 비어 있어야 삭제할 수 있습니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory를 참조하세요.

deleteSubdirectory(string, DirectoryDeleteOptions)

이 디렉터리 아래에 지정된 빈 하위 디렉터리를 제거합니다. 디렉터리는 비어 있어야 삭제할 수 있습니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory를 참조하세요.

exists(DirectoryExistsOptions)

지정된 디렉터리가 있으면 true를 반환합니다. false이면 이고, 그렇지 않으면 입니다. 참고: 기존 디렉터리가 다른 클라이언트 또는 애플리케이션에서 삭제될 수 있기 때문에 이 함수를 주의해서 사용합니다. 그 반대의 경우도 마찬가지입니다. 이 함수가 완료된 후 다른 클라이언트 또는 애플리케이션에서 새 디렉터리를 추가할 수 있습니다.

forceCloseAllHandles(DirectoryForceCloseHandlesSegmentOptions)

디렉터리에 대한 모든 핸들을 강제로 닫습니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles를 참조하세요.

forceCloseHandle(string, DirectoryForceCloseHandlesOptions)

디렉터리에 대한 특정 핸들을 강제로 닫습니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles를 참조하세요.

getDirectoryClient(string)

하위 디렉터리에 대한 ShareDirectoryClient 개체를 만듭니다.

getFileClient(string)

ShareFileClient 개체를 만듭니다.

getProperties(DirectoryGetPropertiesOptions)

지정된 디렉터리에 대한 모든 시스템 속성을 반환하며 디렉터리의 존재를 확인하는 데 사용할 수도 있습니다. 반환되는 데이터에 디렉터리 또는 하위 디렉터리의 파일은 포함되지 않습니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/get-directory-properties를 참조하세요.

listFilesAndDirectories(DirectoryListFilesAndDirectoriesOptions)

지정된 계정의 모든 파일 및 디렉터리를 나열하는 비동기 반복기를 반환합니다. .byPage()는 비동기 반복 반복기를 반환하여 페이지의 파일 및 디렉터리를 나열합니다.

구문을 사용하는 for await 예제:

let i = 1;
for await (const entity of directoryClient.listFilesAndDirectories()) {
  if (entity.kind === "directory") {
    console.log(`${i++} - directory\t: ${entity.name}`);
  } else {
    console.log(`${i++} - file\t: ${entity.name}`);
  }
}

iter.next()을(를) 사용하는 예제:

let i = 1;
let iter = directoryClient.listFilesAndDirectories();
let entity = await iter.next();
while (!entity.done) {
  if (entity.value.kind === "directory") {
    console.log(`${i++} - directory\t: ${entity.value.name}`);
  } else {
    console.log(`${i++} - file\t: ${entity.value.name}`);
  }
  entity = await iter.next();
}

byPage()을(를) 사용하는 예제:

// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of directoryClient
  .listFilesAndDirectories()
  .byPage({ maxPageSize: 20 })) {
  for (const fileItem of response.segment.fileItems) {
    console.log(`${i++} - file\t: ${fileItem.name}`);
  }
  for (const dirItem of response.segment.directoryItems) {
    console.log(`${i++} - directory\t: ${dirItem.name}`);
  }
}

표식과 함께 페이징을 사용하는 예제:

let i = 1;
let iterator = directoryClient.listFilesAndDirectories().byPage({ maxPageSize: 3 });
let response = (await iterator.next()).value;

// Prints 3 file and directory names
for (const fileItem of response.segment.fileItems) {
  console.log(`${i++} - file\t: ${fileItem.name}`);
}

for (const dirItem of response.segment.directoryItems) {
  console.log(`${i++} - directory\t: ${dirItem.name}`);
}

// Gets next marker
let dirMarker = response.continuationToken;

// Passing next marker as continuationToken
iterator = directoryClient
  .listFilesAndDirectories()
  .byPage({ continuationToken: dirMarker, maxPageSize: 4 });
response = (await iterator.next()).value;

// Prints 10 file and directory names
for (const fileItem of response.segment.fileItems) {
  console.log(`${i++} - file\t: ${fileItem.name}`);
}

for (const dirItem of response.segment.directoryItems) {
  console.log(`${i++} - directory\t: ${dirItem.name}`);
}
listHandles(DirectoryListHandlesOptions)

모든 핸들을 나열하는 비동기 반복기를 반환합니다. 지정된 계정 아래에 있습니다. .byPage()는 비동기 반복 반복기를 반환하여 페이지의 핸들을 나열합니다.

구문을 사용하는 for await 예제:

let i = 1;
let iter = dirClient.listHandles();
for await (const handle of iter) {
  console.log(`Handle ${i++}: ${handle.path}, opened time ${handle.openTime}, clientIp ${handle.clientIp}`);
}

iter.next()을(를) 사용하는 예제:

let i = 1;
let iter = dirClient.listHandles();
let handleItem = await iter.next();
while (!handleItem.done) {
  console.log(`Handle ${i++}: ${handleItem.value.path}, opened time ${handleItem.value.openTime}, clientIp ${handleItem.value.clientIp}`);
  handleItem = await iter.next();
}

byPage()을(를) 사용하는 예제:

// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of dirClient.listHandles({ recursive: true }).byPage({ maxPageSize: 20 })) {
  if (response.handleList) {
    for (const handle of response.handleList) {
      console.log(`Handle ${i++}: ${handle.path}, opened time ${handle.openTime}, clientIp ${handle.clientIp}`);
    }
  }
}

표식과 함께 페이징을 사용하는 예제:

let i = 1;
let iterator = dirClient.listHandles().byPage({ maxPageSize: 2 });
let response = await iterator.next();

// Prints 2 handles
if (response.value.handleList) {
  for (const handle of response.value.handleList) {
    console.log(`Handle ${i++}: ${handle.path}, opened time ${handle.openTime}, clientIp ${handle.clientIp}`);
  }
}

// Gets next marker
let marker = response.value.continuationToken;

// Passing next marker as continuationToken
console.log(`    continuation`);
iterator = dirClient.listHandles().byPage({ continuationToken: marker, maxPageSize: 10 });
response = await iterator.next();

// Prints 2 more handles assuming you have more than four directory/files opened
if (!response.done && response.value.handleList) {
  for (const handle of response.value.handleList) {
    console.log(`Handle ${i++}: ${handle.path}, opened time ${handle.openTime}, clientIp ${handle.clientIp}`);
  }
}
rename(string, DirectoryRenameOptions)

디렉터리의 이름을 바꿉니다. 이 API는 동일한 공유의 디렉터리 이름 바꾸기만 지원합니다.

setMetadata(Metadata, DirectorySetMetadataOptions)

지정된 디렉터리에 대한 사용자 정의 메타데이터를 업데이트.

https://docs.microsoft.com/en-us/rest/api/storageservices/set-directory-metadata를 참조하세요.

setProperties(DirectoryProperties)

디렉터리의 속성을 설정합니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/set-directory-properties를 참조하세요.

생성자 세부 정보

ShareDirectoryClient(string, Credential_2, StoragePipelineOptions)

DirectoryClient의 인스턴스를 만듭니다.

new ShareDirectoryClient(url: string, credential?: Credential_2, options?: StoragePipelineOptions)

매개 변수

url

string

Azure Storage 파일 디렉터리를 가리키는 URL 문자열(예: "https://myaccount.file.core.windows.net/myshare/mydirectory") AnonymousCredential(예: "https://myaccount.file.core.windows.net/myshare/mydirectory?sasString")을 사용하는 경우 SAS를 추가할 수 있습니다. 이 메서드는 디렉터리를 가리키는 인코딩된 URL 또는 인코딩하지 않은 URL을 허용합니다. 인코딩된 URL 문자열은 두 번 이스케이프되지 않으며 URL 경로의 특수 문자만 이스케이프됩니다. 그러나 디렉터리 이름에 %가 포함된 경우 디렉터리 이름은 URL에 인코딩되어야 합니다. "mydir%"라는 디렉터리처럼 URL은 "https://myaccount.file.core.windows.net/myshare/mydir%25"이어야 합니다.

credential
Credential_2

AnonymousCredential 또는 StorageSharedKeyCredential과 같은 경우 지정하지 않으면 AnonymousCredential이 사용됩니다.

options
StoragePipelineOptions

(선택 사항) HTTP 파이프라인을 구성하는 옵션입니다.

ShareDirectoryClient(string, Pipeline)

DirectoryClient의 인스턴스를 만듭니다.

new ShareDirectoryClient(url: string, pipeline: Pipeline)

매개 변수

url

string

Azure Storage 파일 디렉터리를 가리키는 URL 문자열(예: "https://myaccount.file.core.windows.net/myshare/mydirectory") AnonymousCredential(예: "https://myaccount.file.core.windows.net/myshare/mydirectory?sasString")을 사용하는 경우 SAS를 추가할 수 있습니다. 이 메서드는 디렉터리를 가리키는 인코딩된 URL 또는 인코딩하지 않은 URL을 허용합니다. 인코딩된 URL 문자열은 두 번 이스케이프되지 않으며 URL 경로의 특수 문자만 이스케이프됩니다. 그러나 디렉터리 이름에 %가 포함된 경우 디렉터리 이름은 URL에 인코딩되어야 합니다. "mydir%"라는 디렉터리처럼 URL은 "https://myaccount.file.core.windows.net/myshare/mydir%25"이어야 합니다.

pipeline
Pipeline

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

속성 세부 정보

name

디렉터리의 이름입니다.

string name

속성 값

string

path

디렉터리의 전체 경로

string path

속성 값

string

shareName

이 디렉터리 클라이언트에 해당하는 공유 이름

string shareName

속성 값

string

상속된 속성 세부 정보

accountName

accountName: string

속성 값

string

StorageClient.accountName에서 상속됨

url

URL 문자열 값입니다.

url: string

속성 값

string

StorageClient.url에서 상속됨

메서드 세부 정보

create(DirectoryCreateOptions)

지정된 공유 또는 부모 디렉터리 아래에 새 디렉터리를 만듭니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory를 참조하세요.

function create(options?: DirectoryCreateOptions): Promise<DirectoryCreateResponse>

매개 변수

options
DirectoryCreateOptions

디렉터리 만들기 작업에 대한 옵션입니다.

반환

디렉터리 작업에 대한 응답 데이터입니다.

createFile(string, number, FileCreateOptions)

새 파일을 만들거나 이 디렉터리 아래에 있는 파일을 대체합니다. 콘텐츠가 없는 파일만 초기화합니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/create-file를 참조하세요.

function createFile(fileName: string, size: number, options?: FileCreateOptions): Promise<{ fileClient: ShareFileClient, fileCreateResponse: FileCreateResponse }>

매개 변수

fileName

string

size

number

파일의 최대 크기(최대 4TB)를 지정합니다.

options
FileCreateOptions

파일 만들기 작업에 대한 옵션입니다.

반환

Promise<{ fileClient: ShareFileClient, fileCreateResponse: FileCreateResponse }>

파일 만들기 응답 데이터 및 해당 파일 클라이언트.

createIfNotExists(DirectoryCreateOptions)

지정한 공유 또는 부모 디렉터리에 새 디렉터리가 아직 없는 경우 만듭니다. 디렉터리가 이미 있는 경우 수정되지 않습니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory를 참조하세요.

function createIfNotExists(options?: DirectoryCreateOptions): Promise<DirectoryCreateIfNotExistsResponse>

매개 변수

반환

createSubdirectory(string, DirectoryCreateOptions)

이 디렉터리 아래에 새 하위 디렉터리를 만듭니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory를 참조하세요.

function createSubdirectory(directoryName: string, options?: DirectoryCreateOptions): Promise<{ directoryClient: ShareDirectoryClient, directoryCreateResponse: DirectoryCreateResponse }>

매개 변수

directoryName

string

options
DirectoryCreateOptions

디렉터리 만들기 작업에 대한 옵션입니다.

반환

Promise<{ directoryClient: ShareDirectoryClient, directoryCreateResponse: DirectoryCreateResponse }>

디렉터리에서 응답 데이터 및 해당 DirectoryClient 인스턴스를 만듭니다.

delete(DirectoryDeleteOptions)

지정된 빈 디렉터리를 제거합니다. 디렉터리는 비어 있어야 삭제할 수 있습니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory를 참조하세요.

function delete(options?: DirectoryDeleteOptions): Promise<DirectoryDeleteResponse>

매개 변수

options
DirectoryDeleteOptions

디렉터리 삭제 작업에 대한 옵션입니다.

반환

디렉터리 삭제 작업에 대한 응답 데이터입니다.

deleteFile(string, FileDeleteOptions)

스토리지 계정에서 이 디렉터리 아래에 있는 지정된 파일을 제거합니다. 파일을 성공적으로 삭제하면 저장소 계정의 인덱스에서 즉시 제거되며, 클라이언트에서 더 이상 액세스할 수 없습니다. 파일의 데이터는 나중에 가비지 수집 중에 서비스에서 제거됩니다. 파일이 SMB 클라이언트에서 열려 있는 경우 상태 코드 409(충돌) 및 오류 코드 SharingViolation으로 파일 삭제가 실패합니다.

파일 삭제는 공유의 읽기 전용 복사본인 공유 스냅샷에서 지원되지 않습니다. 공유 스냅샷에서 이 작업을 수행하려고 하면 400(InvalidQueryParameterValue)으로 실패합니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/delete-file2를 참조하세요.

function deleteFile(fileName: string, options?: FileDeleteOptions): Promise<FileDeleteResponse>

매개 변수

fileName

string

삭제할 파일의 이름

options
FileDeleteOptions

파일 삭제 작업에 대한 옵션입니다.

반환

파일 삭제 응답 데이터입니다.

deleteIfExists(DirectoryDeleteOptions)

지정된 빈 디렉터리가 있는 경우 제거합니다. 디렉터리는 비어 있어야 삭제할 수 있습니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory를 참조하세요.

function deleteIfExists(options?: DirectoryDeleteOptions): Promise<DirectoryDeleteIfExistsResponse>

매개 변수

반환

deleteSubdirectory(string, DirectoryDeleteOptions)

이 디렉터리 아래에 지정된 빈 하위 디렉터리를 제거합니다. 디렉터리는 비어 있어야 삭제할 수 있습니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory를 참조하세요.

function deleteSubdirectory(directoryName: string, options?: DirectoryDeleteOptions): Promise<DirectoryDeleteResponse>

매개 변수

directoryName

string

options
DirectoryDeleteOptions

디렉터리 삭제 작업에 대한 옵션입니다.

반환

디렉터리 삭제 응답 데이터입니다.

exists(DirectoryExistsOptions)

지정된 디렉터리가 있으면 true를 반환합니다. false이면 이고, 그렇지 않으면 입니다. 참고: 기존 디렉터리가 다른 클라이언트 또는 애플리케이션에서 삭제될 수 있기 때문에 이 함수를 주의해서 사용합니다. 그 반대의 경우도 마찬가지입니다. 이 함수가 완료된 후 다른 클라이언트 또는 애플리케이션에서 새 디렉터리를 추가할 수 있습니다.

function exists(options?: DirectoryExistsOptions): Promise<boolean>

매개 변수

options
DirectoryExistsOptions

옵션에서 Exists 작업으로

반환

Promise<boolean>

forceCloseAllHandles(DirectoryForceCloseHandlesSegmentOptions)

디렉터리에 대한 모든 핸들을 강제로 닫습니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles를 참조하세요.

function forceCloseAllHandles(options?: DirectoryForceCloseHandlesSegmentOptions): Promise<CloseHandlesInfo>

매개 변수

반환

Promise<CloseHandlesInfo>

forceCloseHandle(string, DirectoryForceCloseHandlesOptions)

디렉터리에 대한 특정 핸들을 강제로 닫습니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles를 참조하세요.

function forceCloseHandle(handleId: string, options?: DirectoryForceCloseHandlesOptions): Promise<DirectoryForceCloseHandlesResponse>

매개 변수

handleId

string

특정 핸들 ID는 별표 "*"일 수 없습니다. forceCloseHandlesSegment()를 사용하여 모든 핸들을 닫습니다.

반환

getDirectoryClient(string)

하위 디렉터리에 대한 ShareDirectoryClient 개체를 만듭니다.

function getDirectoryClient(subDirectoryName: string): ShareDirectoryClient

매개 변수

subDirectoryName

string

하위 디렉터리 이름

반환

지정된 하위 디렉터리 이름의 ShareDirectoryClient 개체입니다.

예제 사용법:

const directoryClient = shareClient.getDirectoryClient("<directory name>");
await directoryClient.create();
console.log("Created directory successfully");

getFileClient(string)

ShareFileClient 개체를 만듭니다.

function getFileClient(fileName: string): ShareFileClient

매개 변수

fileName

string

파일 이름입니다.

반환

지정된 파일 이름에 대한 새 ShareFileClient 개체입니다.

예제 사용법:

const content = "Hello world!"

const fileClient = directoryClient.getFileClient("<file name>");

await fileClient.create(content.length);
console.log("Created file successfully!");

await fileClient.uploadRange(content, 0, content.length);
console.log("Updated file successfully!")

getProperties(DirectoryGetPropertiesOptions)

지정된 디렉터리에 대한 모든 시스템 속성을 반환하며 디렉터리의 존재를 확인하는 데 사용할 수도 있습니다. 반환되는 데이터에 디렉터리 또는 하위 디렉터리의 파일은 포함되지 않습니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/get-directory-properties를 참조하세요.

function getProperties(options?: DirectoryGetPropertiesOptions): Promise<DirectoryGetPropertiesResponse>

매개 변수

options
DirectoryGetPropertiesOptions

디렉터리 속성 가져오기 작업에 대한 옵션입니다.

반환

디렉터리 속성 가져오기 작업에 대한 응답 데이터입니다.

listFilesAndDirectories(DirectoryListFilesAndDirectoriesOptions)

지정된 계정의 모든 파일 및 디렉터리를 나열하는 비동기 반복기를 반환합니다. .byPage()는 비동기 반복 반복기를 반환하여 페이지의 파일 및 디렉터리를 나열합니다.

구문을 사용하는 for await 예제:

let i = 1;
for await (const entity of directoryClient.listFilesAndDirectories()) {
  if (entity.kind === "directory") {
    console.log(`${i++} - directory\t: ${entity.name}`);
  } else {
    console.log(`${i++} - file\t: ${entity.name}`);
  }
}

iter.next()을(를) 사용하는 예제:

let i = 1;
let iter = directoryClient.listFilesAndDirectories();
let entity = await iter.next();
while (!entity.done) {
  if (entity.value.kind === "directory") {
    console.log(`${i++} - directory\t: ${entity.value.name}`);
  } else {
    console.log(`${i++} - file\t: ${entity.value.name}`);
  }
  entity = await iter.next();
}

byPage()을(를) 사용하는 예제:

// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of directoryClient
  .listFilesAndDirectories()
  .byPage({ maxPageSize: 20 })) {
  for (const fileItem of response.segment.fileItems) {
    console.log(`${i++} - file\t: ${fileItem.name}`);
  }
  for (const dirItem of response.segment.directoryItems) {
    console.log(`${i++} - directory\t: ${dirItem.name}`);
  }
}

표식과 함께 페이징을 사용하는 예제:

let i = 1;
let iterator = directoryClient.listFilesAndDirectories().byPage({ maxPageSize: 3 });
let response = (await iterator.next()).value;

// Prints 3 file and directory names
for (const fileItem of response.segment.fileItems) {
  console.log(`${i++} - file\t: ${fileItem.name}`);
}

for (const dirItem of response.segment.directoryItems) {
  console.log(`${i++} - directory\t: ${dirItem.name}`);
}

// Gets next marker
let dirMarker = response.continuationToken;

// Passing next marker as continuationToken
iterator = directoryClient
  .listFilesAndDirectories()
  .byPage({ continuationToken: dirMarker, maxPageSize: 4 });
response = (await iterator.next()).value;

// Prints 10 file and directory names
for (const fileItem of response.segment.fileItems) {
  console.log(`${i++} - file\t: ${fileItem.name}`);
}

for (const dirItem of response.segment.directoryItems) {
  console.log(`${i++} - directory\t: ${dirItem.name}`);
}
function listFilesAndDirectories(options?: DirectoryListFilesAndDirectoriesOptions): PagedAsyncIterableIterator<({ kind: "file" } & FileItem) | ({ kind: "directory" } & DirectoryItem), DirectoryListFilesAndDirectoriesSegmentResponse>

매개 변수

options
DirectoryListFilesAndDirectoriesOptions

파일 및 디렉터리 작업을 나열하는 옵션입니다.

반환

PagedAsyncIterableIterator<({ kind: "file" } & FileItem) | ({ kind: "directory" } & DirectoryItem), DirectoryListFilesAndDirectoriesSegmentResponse>

페이징을 지원하는 asyncIterableIterator입니다.

listHandles(DirectoryListHandlesOptions)

모든 핸들을 나열하는 비동기 반복기를 반환합니다. 지정된 계정 아래에 있습니다. .byPage()는 비동기 반복 반복기를 반환하여 페이지의 핸들을 나열합니다.

구문을 사용하는 for await 예제:

let i = 1;
let iter = dirClient.listHandles();
for await (const handle of iter) {
  console.log(`Handle ${i++}: ${handle.path}, opened time ${handle.openTime}, clientIp ${handle.clientIp}`);
}

iter.next()을(를) 사용하는 예제:

let i = 1;
let iter = dirClient.listHandles();
let handleItem = await iter.next();
while (!handleItem.done) {
  console.log(`Handle ${i++}: ${handleItem.value.path}, opened time ${handleItem.value.openTime}, clientIp ${handleItem.value.clientIp}`);
  handleItem = await iter.next();
}

byPage()을(를) 사용하는 예제:

// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of dirClient.listHandles({ recursive: true }).byPage({ maxPageSize: 20 })) {
  if (response.handleList) {
    for (const handle of response.handleList) {
      console.log(`Handle ${i++}: ${handle.path}, opened time ${handle.openTime}, clientIp ${handle.clientIp}`);
    }
  }
}

표식과 함께 페이징을 사용하는 예제:

let i = 1;
let iterator = dirClient.listHandles().byPage({ maxPageSize: 2 });
let response = await iterator.next();

// Prints 2 handles
if (response.value.handleList) {
  for (const handle of response.value.handleList) {
    console.log(`Handle ${i++}: ${handle.path}, opened time ${handle.openTime}, clientIp ${handle.clientIp}`);
  }
}

// Gets next marker
let marker = response.value.continuationToken;

// Passing next marker as continuationToken
console.log(`    continuation`);
iterator = dirClient.listHandles().byPage({ continuationToken: marker, maxPageSize: 10 });
response = await iterator.next();

// Prints 2 more handles assuming you have more than four directory/files opened
if (!response.done && response.value.handleList) {
  for (const handle of response.value.handleList) {
    console.log(`Handle ${i++}: ${handle.path}, opened time ${handle.openTime}, clientIp ${handle.clientIp}`);
  }
}
function listHandles(options?: DirectoryListHandlesOptions): PagedAsyncIterableIterator<HandleItem, DirectoryListHandlesResponse>

매개 변수

options
DirectoryListHandlesOptions

핸들 작업을 나열하는 옵션입니다.

페이징을 지원하는 asyncIterableIterator입니다.

반환

PagedAsyncIterableIterator<HandleItem, DirectoryListHandlesResponse>

rename(string, DirectoryRenameOptions)

디렉터리의 이름을 바꿉니다. 이 API는 동일한 공유의 디렉터리 이름 바꾸기만 지원합니다.

function rename(destinationPath: string, options?: DirectoryRenameOptions): Promise<{ destinationDirectoryClient: ShareDirectoryClient, directoryRenameResponse: DirectoryRenameResponse }>

매개 변수

destinationPath

string

이름을 바꿀 대상 경로를 지정합니다. 경로를 URL로 인코딩하여 대상을 지정합니다.

options
DirectoryRenameOptions

이름 바꾸기 작업에 대한 옵션입니다.

반환

Promise<{ destinationDirectoryClient: ShareDirectoryClient, directoryRenameResponse: DirectoryRenameResponse }>

파일 이름 바꾸기 작업에 대한 응답 데이터입니다.

사용 예제:


// Rename the directory
await diretoryClient.rename(destinationPath);
console.log("Renamed directory successfully!");

setMetadata(Metadata, DirectorySetMetadataOptions)

지정된 디렉터리에 대한 사용자 정의 메타데이터를 업데이트.

https://docs.microsoft.com/en-us/rest/api/storageservices/set-directory-metadata를 참조하세요.

function setMetadata(metadata?: Metadata, options?: DirectorySetMetadataOptions): Promise<DirectorySetMetadataResponse>

매개 변수

metadata
Metadata

메타데이터가 제공되지 않으면 모든 기존 디렉터리 메타데이터가 제거됩니다.

options
DirectorySetMetadataOptions

디렉터리 메타데이터 설정 작업에 대한 옵션입니다.

반환

디렉터리 메타데이터 설정 작업에 대한 응답 데이터입니다.

setProperties(DirectoryProperties)

디렉터리의 속성을 설정합니다.

https://docs.microsoft.com/en-us/rest/api/storageservices/set-directory-properties를 참조하세요.

function setProperties(properties?: DirectoryProperties): Promise<DirectorySetPropertiesResponse>

매개 변수

properties
DirectoryProperties

반환