ShareDirectoryClient class
ShareDirectoryClient는 해당 파일 및 디렉터리를 조작할 수 있는 Azure Storage 디렉터리의 URL을 나타냅니다.
- Extends
-
StorageClient
생성자
| Share |
DirectoryClient의 인스턴스를 만듭니다. |
| Share |
DirectoryClient의 인스턴스를 만듭니다. |
상속된 속성
| account |
|
| url | URL 문자열 값입니다. |
메서드
| create(Directory |
지정된 공유 또는 부모 디렉터리 아래에 새 디렉터리를 만듭니다. https://learn.microsoft.com/rest/api/storageservices/create-directory 참조 |
| create |
새 파일을 만들거나 이 디렉터리 아래에 있는 파일을 대체합니다. 콘텐츠가 없는 파일만 초기화합니다. https://learn.microsoft.com/rest/api/storageservices/create-file 참조 |
| create |
지정한 공유 또는 부모 디렉터리에 새 디렉터리가 없는 경우 새 디렉터리를 만듭니다. 디렉터리가 이미 있는 경우 수정되지 않습니다. https://learn.microsoft.com/rest/api/storageservices/create-directory 참조 |
| create |
이 디렉터리 아래에 새 하위 디렉터리를 만듭니다. https://learn.microsoft.com/rest/api/storageservices/create-directory 참조 |
| delete(Directory |
지정한 빈 디렉터리를 제거합니다. 디렉터리를 삭제하려면 먼저 비어 있어야 합니다. https://learn.microsoft.com/rest/api/storageservices/delete-directory 참조 |
| delete |
스토리지 계정에서 이 디렉터리 아래에 있는 지정된 파일을 제거합니다. 파일이 성공적으로 삭제되면 스토리지 계정의 인덱스에서 즉시 제거되고 클라이언트가 더 이상 액세스할 수 없습니다. 파일의 데이터는 나중에 가비지 수집 중에 서비스에서 제거됩니다. SMB 클라이언트에서 파일이 열려 있으면 상태 코드 409(충돌) 및 오류 코드 SharingViolation으로 파일 삭제가 실패합니다. 공유의 읽기 전용 복사본인 공유 스냅샷에서는 파일 삭제가 지원되지 않습니다. 공유 스냅샷에서 이 작업을 수행하려고 하면 400(InvalidQueryParameterValue)으로 실패합니다. https://learn.microsoft.com/rest/api/storageservices/delete-file2 참조 |
| delete |
지정된 빈 디렉터리가 있는 경우 제거합니다. 디렉터리를 삭제하려면 먼저 비어 있어야 합니다. https://learn.microsoft.com/rest/api/storageservices/delete-directory 참조 |
| delete |
이 디렉터리 아래에 지정된 빈 하위 디렉터리를 제거합니다. 디렉터리를 삭제하려면 먼저 비어 있어야 합니다. https://learn.microsoft.com/rest/api/storageservices/delete-directory 참조 |
| exists(Directory |
지정된 디렉터리가 있으면 true를 반환합니다. false이면 false입니다. 참고: 기존 디렉터리가 다른 클라이언트 또는 애플리케이션에서 삭제될 수 있기 때문에 이 함수를 주의해서 사용합니다. 그 반대로 이 함수가 완료된 후 다른 클라이언트 또는 애플리케이션에서 새 디렉터리를 추가할 수 있습니다. |
| force |
디렉터리에 대한 모든 핸들을 강제로 닫습니다. https://learn.microsoft.com/rest/api/storageservices/force-close-handles 참조 |
| force |
디렉터리에 대한 특정 핸들을 강제로 닫습니다. https://learn.microsoft.com/rest/api/storageservices/force-close-handles 참조 |
| get |
하위 디렉터리에 대한 ShareDirectoryClient 개체를 만듭니다. |
| get |
ShareFileClient 개체를 만듭니다. |
| get |
지정된 디렉터리에 대한 모든 시스템 속성을 반환하며 디렉터리의 존재 여부를 확인하는 데 사용할 수도 있습니다. 반환되는 데이터에는 디렉터리 또는 하위 디렉터리의 파일이 포함되지 않습니다. https://learn.microsoft.com/rest/api/storageservices/get-directory-properties 참조 |
| list |
지정된 계정의 모든 파일 및 디렉터리를 나열하는 비동기 반복기를 반환합니다. .byPage()는 비동기 반복 반복기를 반환하여 페이지의 파일 및 디렉터리를 나열합니다.
표식과 함께 페이징을 사용하는 예제:
|
| list |
모든 핸들을 나열하는 비동기 반복기를 반환합니다. 지정된 계정 아래에 있습니다. .byPage()는 비동기 반복 반복기를 반환하여 페이지의 핸들을 나열합니다.
표식과 함께 페이징을 사용하는 예제:
|
| rename(string, Directory |
디렉터리의 이름을 바꿉니다. 이 API는 동일한 공유의 디렉터리 이름 바꾸기만 지원합니다. |
| set |
지정된 디렉터리에 대한 사용자 정의 메타데이터를 업데이트합니다. https://learn.microsoft.com/rest/api/storageservices/set-directory-metadata 참조 |
| set |
디렉터리의 속성을 설정합니다. https://learn.microsoft.com/rest/api/storageservices/set-directory-properties 참조 |
생성자 세부 정보
ShareDirectoryClient(string, Credential | TokenCredential, ShareClientOptions)
DirectoryClient의 인스턴스를 만듭니다.
new ShareDirectoryClient(url: string, credential?: Credential | TokenCredential, options?: ShareClientOptions)
매개 변수
- url
-
string
Azure Storage 파일 디렉터리를 가리키는 URL 문자열(예: "https://myaccount.file.core.windows.net/myshare/mydirectory")입니다. AnonymousCredential을 사용하는 경우 SAS를 추가할 수 있습니다(예: "https://myaccount.file.core.windows.net/myshare/mydirectory?sasString"). 이 메서드는 디렉터리를 가리키는 인코딩된 URL 또는 인코딩하지 않은 URL을 허용합니다. 인코딩된 URL 문자열은 두 번 이스케이프되지 않으며 URL 경로의 특수 문자만 이스케이프됩니다. 그러나 디렉터리 이름에 %포함된 경우 디렉터리 이름을 URL에 인코딩해야 합니다. "mydir%"라는 디렉터리처럼 URL은 "https://myaccount.file.core.windows.net/myshare/mydir%25"이어야 합니다.
- credential
AnonymousCredential 또는 StorageSharedKeyCredential과 같은 지정하지 않으면 AnonymousCredential이 사용됩니다.
- options
- ShareClientOptions
Optional. HTTP 파이프라인을 구성하는 옵션입니다.
ShareDirectoryClient(string, Pipeline, ShareClientConfig)
DirectoryClient의 인스턴스를 만듭니다.
new ShareDirectoryClient(url: string, pipeline: Pipeline, options?: ShareClientConfig)
매개 변수
- url
-
string
Azure Storage 파일 디렉터리를 가리키는 URL 문자열(예: "https://myaccount.file.core.windows.net/myshare/mydirectory")입니다. AnonymousCredential을 사용하는 경우 SAS를 추가할 수 있습니다(예: "https://myaccount.file.core.windows.net/myshare/mydirectory?sasString"). 이 메서드는 디렉터리를 가리키는 인코딩된 URL 또는 인코딩하지 않은 URL을 허용합니다. 인코딩된 URL 문자열은 두 번 이스케이프되지 않으며 URL 경로의 특수 문자만 이스케이프됩니다. 그러나 디렉터리 이름에 %포함된 경우 디렉터리 이름을 URL에 인코딩해야 합니다. "mydir%"라는 디렉터리처럼 URL은 "https://myaccount.file.core.windows.net/myshare/mydir%25"이어야 합니다.
- pipeline
- Pipeline
newPipeline()을 호출하여 기본 파이프라인을 만들거나 사용자 지정된 파이프라인을 제공합니다.
- options
- ShareClientConfig
속성 세부 정보
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://learn.microsoft.com/rest/api/storageservices/create-directory 참조
function create(options?: DirectoryCreateOptions): Promise<DirectoryCreateResponse>
매개 변수
- options
- DirectoryCreateOptions
디렉터리 만들기 작업에 대한 옵션입니다.
반환
Promise<DirectoryCreateResponse>
디렉터리 작업에 대한 응답 데이터입니다.
createFile(string, number, FileCreateOptions)
새 파일을 만들거나 이 디렉터리 아래에 있는 파일을 대체합니다. 콘텐츠가 없는 파일만 초기화합니다.
https://learn.microsoft.com/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://learn.microsoft.com/rest/api/storageservices/create-directory 참조
function createIfNotExists(options?: DirectoryCreateOptions): Promise<DirectoryCreateIfNotExistsResponse>
매개 변수
- options
- DirectoryCreateOptions
반환
Promise<DirectoryCreateIfNotExistsResponse>
createSubdirectory(string, DirectoryCreateOptions)
이 디렉터리 아래에 새 하위 디렉터리를 만듭니다.
https://learn.microsoft.com/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://learn.microsoft.com/rest/api/storageservices/delete-directory 참조
function delete(options?: DirectoryDeleteOptions): Promise<DirectoryDeleteResponse>
매개 변수
- options
- DirectoryDeleteOptions
디렉터리 삭제 작업에 대한 옵션입니다.
반환
Promise<DirectoryDeleteResponse>
디렉터리 삭제 작업에 대한 응답 데이터입니다.
deleteFile(string, FileDeleteOptions)
스토리지 계정에서 이 디렉터리 아래에 있는 지정된 파일을 제거합니다. 파일이 성공적으로 삭제되면 스토리지 계정의 인덱스에서 즉시 제거되고 클라이언트가 더 이상 액세스할 수 없습니다. 파일의 데이터는 나중에 가비지 수집 중에 서비스에서 제거됩니다.
SMB 클라이언트에서 파일이 열려 있으면 상태 코드 409(충돌) 및 오류 코드 SharingViolation으로 파일 삭제가 실패합니다.
공유의 읽기 전용 복사본인 공유 스냅샷에서는 파일 삭제가 지원되지 않습니다. 공유 스냅샷에서 이 작업을 수행하려고 하면 400(InvalidQueryParameterValue)으로 실패합니다.
https://learn.microsoft.com/rest/api/storageservices/delete-file2 참조
function deleteFile(fileName: string, options?: FileDeleteOptions): Promise<FileDeleteResponse>
매개 변수
- fileName
-
string
삭제할 파일의 이름
- options
- FileDeleteOptions
파일 삭제 작업에 대한 옵션입니다.
반환
Promise<FileDeleteResponse>
파일 삭제 응답 데이터입니다.
deleteIfExists(DirectoryDeleteOptions)
지정된 빈 디렉터리가 있는 경우 제거합니다. 디렉터리를 삭제하려면 먼저 비어 있어야 합니다.
https://learn.microsoft.com/rest/api/storageservices/delete-directory 참조
function deleteIfExists(options?: DirectoryDeleteOptions): Promise<DirectoryDeleteIfExistsResponse>
매개 변수
- options
- DirectoryDeleteOptions
반환
Promise<DirectoryDeleteIfExistsResponse>
deleteSubdirectory(string, DirectoryDeleteOptions)
이 디렉터리 아래에 지정된 빈 하위 디렉터리를 제거합니다. 디렉터리를 삭제하려면 먼저 비어 있어야 합니다.
https://learn.microsoft.com/rest/api/storageservices/delete-directory 참조
function deleteSubdirectory(directoryName: string, options?: DirectoryDeleteOptions): Promise<DirectoryDeleteResponse>
매개 변수
- directoryName
-
string
- options
- DirectoryDeleteOptions
디렉터리 삭제 작업에 대한 옵션입니다.
반환
Promise<DirectoryDeleteResponse>
디렉터리 삭제 응답 데이터입니다.
exists(DirectoryExistsOptions)
지정된 디렉터리가 있으면 true를 반환합니다. false이면 false입니다.
참고: 기존 디렉터리가 다른 클라이언트 또는 애플리케이션에서 삭제될 수 있기 때문에 이 함수를 주의해서 사용합니다. 그 반대로 이 함수가 완료된 후 다른 클라이언트 또는 애플리케이션에서 새 디렉터리를 추가할 수 있습니다.
function exists(options?: DirectoryExistsOptions): Promise<boolean>
매개 변수
- options
- DirectoryExistsOptions
옵션에서 Exists 연산을 수행할 수 있습니다.
반환
Promise<boolean>
forceCloseAllHandles(DirectoryForceCloseHandlesSegmentOptions)
디렉터리에 대한 모든 핸들을 강제로 닫습니다.
https://learn.microsoft.com/rest/api/storageservices/force-close-handles 참조
function forceCloseAllHandles(options?: DirectoryForceCloseHandlesSegmentOptions): Promise<CloseHandlesInfo>
매개 변수
반환
Promise<CloseHandlesInfo>
forceCloseHandle(string, DirectoryForceCloseHandlesOptions)
디렉터리에 대한 특정 핸들을 강제로 닫습니다.
https://learn.microsoft.com/rest/api/storageservices/force-close-handles 참조
function forceCloseHandle(handleId: string, options?: DirectoryForceCloseHandlesOptions): Promise<DirectoryForceCloseHandlesResponse>
매개 변수
- handleId
-
string
특정 핸들 ID는 별표 "*"일 수 없습니다. forceCloseHandlesSegment()를 사용하여 모든 핸들을 닫습니다.
반환
Promise<DirectoryForceCloseHandlesResponse>
getDirectoryClient(string)
하위 디렉터리에 대한 ShareDirectoryClient 개체를 만듭니다.
function getDirectoryClient(subDirectoryName: string): ShareDirectoryClient
매개 변수
- subDirectoryName
-
string
하위 디렉터리 이름
반환
지정된 하위 디렉터리 이름의 ShareDirectoryClient 개체입니다.
사용 예:
import { StorageSharedKeyCredential, ShareServiceClient } from "@azure/storage-file-share";
const account = "<account>";
const accountKey = "<accountkey>";
const credential = new StorageSharedKeyCredential(account, accountKey);
const serviceClient = new ShareServiceClient(
`https://${account}.file.core.windows.net`,
credential,
);
const shareName = "<share name>";
const directoryName = "<directory name>";
const shareClient = serviceClient.getShareClient(shareName);
const directoryClient = shareClient.getDirectoryClient(directoryName);
await directoryClient.create();
getFileClient(string)
ShareFileClient 개체를 만듭니다.
function getFileClient(fileName: string): ShareFileClient
매개 변수
- fileName
-
string
파일 이름입니다.
반환
지정된 파일 이름에 대한 새 ShareFileClient 개체입니다.
사용 예:
import { StorageSharedKeyCredential, ShareServiceClient } from "@azure/storage-file-share";
const account = "<account>";
const accountKey = "<accountkey>";
const credential = new StorageSharedKeyCredential(account, accountKey);
const serviceClient = new ShareServiceClient(
`https://${account}.file.core.windows.net`,
credential,
);
const shareName = "<share name>";
const directoryName = "<directory name>";
const directoryClient = serviceClient.getShareClient(shareName).getDirectoryClient(directoryName);
const content = "Hello World!";
const fileName = `newdirectory${+new Date()}`;
const fileClient = directoryClient.getFileClient(fileName);
await fileClient.create(content.length);
console.log(`Create file ${fileName} successfully`);
// Upload file range
await fileClient.uploadRange(content, 0, content.length);
console.log(`Upload file range "${content}" to ${fileName} successfully`);
getProperties(DirectoryGetPropertiesOptions)
지정된 디렉터리에 대한 모든 시스템 속성을 반환하며 디렉터리의 존재 여부를 확인하는 데 사용할 수도 있습니다. 반환되는 데이터에는 디렉터리 또는 하위 디렉터리의 파일이 포함되지 않습니다.
https://learn.microsoft.com/rest/api/storageservices/get-directory-properties 참조
function getProperties(options?: DirectoryGetPropertiesOptions): Promise<DirectoryGetPropertiesResponse>
매개 변수
- options
- DirectoryGetPropertiesOptions
디렉터리 속성 가져오기 작업에 대한 옵션입니다.
반환
Promise<DirectoryGetPropertiesResponse>
디렉터리 속성 가져오기 작업에 대한 응답 데이터입니다.
listFilesAndDirectories(DirectoryListFilesAndDirectoriesOptions)
지정된 계정의 모든 파일 및 디렉터리를 나열하는 비동기 반복기를 반환합니다.
.byPage()는 비동기 반복 반복기를 반환하여 페이지의 파일 및 디렉터리를 나열합니다.
for await 구문을 사용하는 예제:
import { StorageSharedKeyCredential, ShareServiceClient } from "@azure/storage-file-share";
const account = "<account>";
const accountKey = "<accountkey>";
const credential = new StorageSharedKeyCredential(account, accountKey);
const serviceClient = new ShareServiceClient(
`https://${account}.file.core.windows.net`,
credential,
);
const shareName = "<share name>";
const directoryName = "<directory name>";
const directoryClient = serviceClient.getShareClient(shareName).getDirectoryClient(directoryName);
let i = 1;
for await (const item of directoryClient.listFilesAndDirectories()) {
if (item.kind === "directory") {
console.log(`${i} - directory\t: ${item.name}`);
} else {
console.log(`${i} - file\t: ${item.name}`);
}
i++;
}
iter.next()사용하는 예제:
import { StorageSharedKeyCredential, ShareServiceClient } from "@azure/storage-file-share";
const account = "<account>";
const accountKey = "<accountkey>";
const credential = new StorageSharedKeyCredential(account, accountKey);
const serviceClient = new ShareServiceClient(
`https://${account}.file.core.windows.net`,
credential,
);
const shareName = "<share name>";
const directoryName = "<directory name>";
const directoryClient = serviceClient.getShareClient(shareName).getDirectoryClient(directoryName);
let i = 1;
const iter = directoryClient.listFilesAndDirectories();
let { value, done } = await iter.next();
while (!done) {
if (value.kind === "directory") {
console.log(`${i} - directory\t: ${value.name}`);
} else {
console.log(`${i} - file\t: ${value.name}`);
}
({ value, done } = await iter.next());
i++;
}
byPage()사용하는 예제:
import { StorageSharedKeyCredential, ShareServiceClient } from "@azure/storage-file-share";
const account = "<account>";
const accountKey = "<accountkey>";
const credential = new StorageSharedKeyCredential(account, accountKey);
const serviceClient = new ShareServiceClient(
`https://${account}.file.core.windows.net`,
credential,
);
const shareName = "<share name>";
const directoryName = "<directory name>";
const directoryClient = serviceClient.getShareClient(shareName).getDirectoryClient(directoryName);
let i = 1;
for await (const response of directoryClient
.listFilesAndDirectories()
.byPage({ maxPageSize: 20 })) {
console.log(`Page ${i++}:`);
for (const item of response.segment.directoryItems) {
console.log(`\tdirectory: ${item.name}`);
}
for (const item of response.segment.fileItems) {
console.log(`\tfile: ${item.name}`);
}
}
표식과 함께 페이징을 사용하는 예제:
import { StorageSharedKeyCredential, ShareServiceClient } from "@azure/storage-file-share";
const account = "<account>";
const accountKey = "<accountkey>";
const credential = new StorageSharedKeyCredential(account, accountKey);
const serviceClient = new ShareServiceClient(
`https://${account}.file.core.windows.net`,
credential,
);
const shareName = "<share name>";
const directoryName = "<directory name>";
const directoryClient = serviceClient.getShareClient(shareName).getDirectoryClient(directoryName);
let iterator = directoryClient.listFilesAndDirectories().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;
for await (const item of response.segment.directoryItems) {
console.log(`\tdirectory: ${item.name}`);
}
for await (const item of response.segment.fileItems) {
console.log(`\tfile: ${item.name}`);
}
// Gets next marker
let marker = response.continuationToken;
// Passing next marker as continuationToken
iterator = directoryClient
.listFilesAndDirectories()
.byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;
for await (const item of response.segment.directoryItems) {
console.log(`\tdirectory: ${item.name}`);
}
for await (const item of response.segment.fileItems) {
console.log(`\tfile: ${item.name}`);
}
function listFilesAndDirectories(options?: DirectoryListFilesAndDirectoriesOptions): PagedAsyncIterableIterator<({ kind: "file" } & FileItem) | ({ kind: "directory" } & DirectoryItem), DirectoryListFilesAndDirectoriesSegmentResponse, PageSettings>
매개 변수
파일 및 디렉터리 작업을 나열하는 옵션입니다.
반환
PagedAsyncIterableIterator<({ kind: "file" } & FileItem) | ({ kind: "directory" } & DirectoryItem), DirectoryListFilesAndDirectoriesSegmentResponse, PageSettings>
페이징을 지원하는 asyncIterableIterator입니다.
listHandles(DirectoryListHandlesOptions)
모든 핸들을 나열하는 비동기 반복기를 반환합니다. 지정된 계정 아래에 있습니다.
.byPage()는 비동기 반복 반복기를 반환하여 페이지의 핸들을 나열합니다.
for await 구문을 사용하는 예제:
import { StorageSharedKeyCredential, ShareServiceClient } from "@azure/storage-file-share";
const account = "<account>";
const accountKey = "<accountkey>";
const credential = new StorageSharedKeyCredential(account, accountKey);
const serviceClient = new ShareServiceClient(
`https://${account}.file.core.windows.net`,
credential,
);
const shareName = "<share name>";
const directoryName = "<directory name>";
const directoryClient = serviceClient.getShareClient(shareName).getDirectoryClient(directoryName);
for await (const handle of directoryClient.listHandles()) {
console.log(`Handle: ${handle.handleId}`);
}
iter.next()사용하는 예제:
import { StorageSharedKeyCredential, ShareServiceClient } from "@azure/storage-file-share";
const account = "<account>";
const accountKey = "<accountkey>";
const credential = new StorageSharedKeyCredential(account, accountKey);
const serviceClient = new ShareServiceClient(
`https://${account}.file.core.windows.net`,
credential,
);
const shareName = "<share name>";
const directoryName = "<directory name>";
const directoryClient = serviceClient.getShareClient(shareName).getDirectoryClient(directoryName);
const handleIter = directoryClient.listHandles();
let { value, done } = await handleIter.next();
while (!done) {
console.log(`Handle: ${value.handleId}`);
({ value, done } = await handleIter.next());
}
byPage()사용하는 예제:
import { StorageSharedKeyCredential, ShareServiceClient } from "@azure/storage-file-share";
const account = "<account>";
const accountKey = "<accountkey>";
const credential = new StorageSharedKeyCredential(account, accountKey);
const serviceClient = new ShareServiceClient(
`https://${account}.file.core.windows.net`,
credential,
);
const shareName = "<share name>";
const directoryName = "<directory name>";
const directoryClient = serviceClient.getShareClient(shareName).getDirectoryClient(directoryName);
let i = 1;
for await (const response of directoryClient.listHandles().byPage({ maxPageSize: 20 })) {
console.log(`Page ${i++}:`);
for (const handle of response.handleList || []) {
console.log(`\thandle: ${handle.handleId}`);
}
}
표식과 함께 페이징을 사용하는 예제:
import { StorageSharedKeyCredential, ShareServiceClient } from "@azure/storage-file-share";
const account = "<account>";
const accountKey = "<accountkey>";
const credential = new StorageSharedKeyCredential(account, accountKey);
const serviceClient = new ShareServiceClient(
`https://${account}.file.core.windows.net`,
credential,
);
const shareName = "<share name>";
const directoryName = "<directory name>";
const directoryClient = serviceClient.getShareClient(shareName).getDirectoryClient(directoryName);
let iterator = directoryClient.listHandles().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;
for await (const handle of response.handleList || []) {
console.log(`\thandle: ${handle.handleId}`);
}
// Gets next marker
let marker = response.continuationToken;
// Passing next marker as continuationToken
iterator = directoryClient.listHandles().byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;
for await (const handle of response.handleList || []) {
console.log(`\thandle: ${handle.handleId}`);
}
function listHandles(options?: DirectoryListHandlesOptions): PagedAsyncIterableIterator<HandleItem, DirectoryListHandlesResponse, PageSettings>
매개 변수
반환
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 }>
파일 이름 바꾸기 작업에 대한 응답 데이터입니다.
사용 예:
import { StorageSharedKeyCredential, ShareServiceClient } from "@azure/storage-file-share";
const account = "<account>";
const accountKey = "<accountkey>";
const credential = new StorageSharedKeyCredential(account, accountKey);
const serviceClient = new ShareServiceClient(
`https://${account}.file.core.windows.net`,
credential,
);
const shareName = "<share name>";
const directoryName = "<directory name>";
const destinationPath = "<destination path>";
const directoryClient = serviceClient.getShareClient(shareName).getDirectoryClient(directoryName);
await directoryClient.rename(destinationPath);
setMetadata(Metadata, DirectorySetMetadataOptions)
지정된 디렉터리에 대한 사용자 정의 메타데이터를 업데이트합니다.
https://learn.microsoft.com/rest/api/storageservices/set-directory-metadata 참조
function setMetadata(metadata?: Metadata, options?: DirectorySetMetadataOptions): Promise<DirectorySetMetadataResponse>
매개 변수
- metadata
- Metadata
메타데이터가 제공되지 않으면 모든 기존 디렉터리 메타데이터가 제거됩니다.
- options
- DirectorySetMetadataOptions
디렉터리 메타데이터 설정 작업에 대한 옵션입니다.
반환
Promise<DirectorySetMetadataResponse>
디렉터리 메타데이터 설정 작업에 대한 응답 데이터입니다.
setProperties(DirectoryProperties)
디렉터리의 속성을 설정합니다.
https://learn.microsoft.com/rest/api/storageservices/set-directory-properties 참조
function setProperties(properties?: DirectoryProperties): Promise<DirectorySetPropertiesResponse>
매개 변수
- properties
- DirectoryProperties
반환
Promise<DirectorySetPropertiesResponse>