Bagikan melalui


ShareDirectoryClient class

ShareDirectoryClient mewakili URL ke direktori Azure Storage yang memungkinkan Anda memanipulasi file dan direktorinya.

Memperluas

StorageClient

Konstruktor

ShareDirectoryClient(string, Credential | TokenCredential, ShareClientOptions)

Membuat instans DirectoryClient.

ShareDirectoryClient(string, Pipeline, ShareClientConfig)

Membuat instans DirectoryClient.

Properti

name

Nama direktori

path

Jalur lengkap direktori

shareName

Nama berbagi yang sesuai dengan klien direktori ini

Properti yang Diwariskan

accountName
url

Nilai string URL.

Metode

create(DirectoryCreateOptions)

Membuat direktori baru di bawah berbagi atau direktori induk yang ditentukan.

Lihat https://learn.microsoft.com/rest/api/storageservices/create-directory

createFile(string, number, FileCreateOptions)

Membuat file baru atau mengganti file di bawah direktori ini. Perhatikan bahwa file hanya menginisialisasi file tanpa konten.

Lihat https://learn.microsoft.com/rest/api/storageservices/create-file

createIfNotExists(DirectoryCreateOptions)

Membuat direktori baru di bawah berbagi atau direktori induk yang ditentukan jika belum ada. Jika direktori sudah ada, direktori tersebut tidak dimodifikasi.

Lihat https://learn.microsoft.com/rest/api/storageservices/create-directory

createSubdirectory(string, DirectoryCreateOptions)

Membuat subdirektori baru di bawah direktori ini.

Lihat https://learn.microsoft.com/rest/api/storageservices/create-directory

delete(DirectoryDeleteOptions)

Menghapus direktori kosong yang ditentukan. Perhatikan bahwa direktori harus kosong sebelum dapat dihapus.

Lihat https://learn.microsoft.com/rest/api/storageservices/delete-directory

deleteFile(string, FileDeleteOptions)

Menghapus file yang ditentukan di bawah direktori ini dari akun penyimpanan. Ketika file berhasil dihapus, file segera dihapus dari indeks akun penyimpanan dan tidak lagi dapat diakses oleh klien. Data file kemudian dihapus dari layanan selama pengumpulan sampah.

Hapus File akan gagal dengan kode status 409 (Konflik) dan kode kesalahan SharingViolation jika file terbuka pada klien SMB.

Hapus File tidak didukung pada salinan bayangan berbagi, yang merupakan salinan berbagi baca-saja. Upaya untuk melakukan operasi ini pada rekam jepret berbagi akan gagal dengan 400 (InvalidQueryParameterValue)

Lihat https://learn.microsoft.com/rest/api/storageservices/delete-file2

deleteIfExists(DirectoryDeleteOptions)

Menghapus direktori kosong yang ditentukan jika ada. Perhatikan bahwa direktori harus kosong sebelum dapat dihapus.

Lihat https://learn.microsoft.com/rest/api/storageservices/delete-directory

deleteSubdirectory(string, DirectoryDeleteOptions)

Menghapus sub direktori kosong yang ditentukan di bawah direktori ini. Perhatikan bahwa direktori harus kosong sebelum dapat dihapus.

Lihat https://learn.microsoft.com/rest/api/storageservices/delete-directory

exists(DirectoryExistsOptions)

Mengembalikan true jika direktori yang ditentukan ada; false jika tidak.

CATATAN: gunakan fungsi ini dengan hati-hati karena direktori yang ada mungkin dihapus oleh klien atau aplikasi lain. Sebaliknya direktori baru mungkin ditambahkan oleh klien atau aplikasi lain setelah fungsi ini selesai.

forceCloseAllHandles(DirectoryForceCloseHandlesSegmentOptions)

Tutup semua handel untuk direktori.

Lihat https://learn.microsoft.com/rest/api/storageservices/force-close-handles

forceCloseHandle(string, DirectoryForceCloseHandlesOptions)

Tutup paksa handel tertentu untuk direktori.

Lihat https://learn.microsoft.com/rest/api/storageservices/force-close-handles

getDirectoryClient(string)

Membuat objek ShareDirectoryClient untuk sub direktori.

getFileClient(string)

Membuat objek ShareFileClient.

getProperties(DirectoryGetPropertiesOptions)

Mengembalikan semua properti sistem untuk direktori yang ditentukan, dan juga dapat digunakan untuk memeriksa keberadaan direktori. Data yang dikembalikan tidak menyertakan file dalam direktori atau subdirektori apa pun.

Lihat https://learn.microsoft.com/rest/api/storageservices/get-directory-properties

listFilesAndDirectories(DirectoryListFilesAndDirectoriesOptions)

Mengembalikan iterator yang dapat diulang asinkron untuk mencantumkan semua file dan direktori di bawah akun yang ditentukan.

.byPage() mengembalikan iterator yang dapat diulang asinkron untuk mencantumkan file dan direktori di halaman.

Contoh menggunakan sintaks 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++;
}

Contoh menggunakan 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++;
}

Contoh menggunakan 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}`);
  }
}

Contoh menggunakan halaman dengan penanda:

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}`);
}
listHandles(DirectoryListHandlesOptions)

Mengembalikan iterator yang dapat diulang asinkron untuk mencantumkan semua handel. di bawah akun yang ditentukan.

.byPage() mengembalikan iterator yang dapat di-iterator asinkron untuk mencantumkan handel di halaman.

Contoh menggunakan sintaks 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}`);
}

Contoh menggunakan 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());
}

Contoh menggunakan 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}`);
  }
}

Contoh menggunakan halaman dengan penanda:

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}`);
}
rename(string, DirectoryRenameOptions)

Mengganti nama direktori. API ini hanya mendukung penggantian nama direktori dalam berbagi yang sama.

setMetadata(Metadata, DirectorySetMetadataOptions)

Memperbarui metadata yang ditentukan pengguna untuk direktori yang ditentukan.

Lihat https://learn.microsoft.com/rest/api/storageservices/set-directory-metadata

setProperties(DirectoryProperties)

Mengatur properti pada direktori.

Lihat https://learn.microsoft.com/rest/api/storageservices/set-directory-properties

Detail Konstruktor

ShareDirectoryClient(string, Credential | TokenCredential, ShareClientOptions)

Membuat instans DirectoryClient.

new ShareDirectoryClient(url: string, credential?: Credential | TokenCredential, options?: ShareClientOptions)

Parameter

url

string

String URL yang menunjuk ke direktori file Azure Storage, seperti "https://myaccount.file.core.windows.net/myshare/mydirectory". Anda dapat menambahkan SAS jika menggunakan AnonymousCredential, seperti "https://myaccount.file.core.windows.net/myshare/mydirectory?sasString". Metode ini menerima URL yang dikodekan atau URL yang tidak dikodekan yang menunjuk ke direktori. String URL yang dikodekan TIDAK akan diloloskan dua kali, hanya karakter khusus di jalur URL yang akan lolos. Namun, jika nama direktori menyertakan %, nama direktori harus dikodekan dalam URL. Seperti direktori bernama "mydir%", URL harus "https://myaccount.file.core.windows.net/myshare/mydir%25".

credential

Credential | TokenCredential

Seperti AnonymousCredential atau StorageSharedKeyCredential. Jika tidak ditentukan, AnonymousCredential digunakan.

options
ShareClientOptions

Optional. Opsi untuk mengonfigurasi alur HTTP.

ShareDirectoryClient(string, Pipeline, ShareClientConfig)

Membuat instans DirectoryClient.

new ShareDirectoryClient(url: string, pipeline: Pipeline, options?: ShareClientConfig)

Parameter

url

string

String URL yang menunjuk ke direktori file Azure Storage, seperti "https://myaccount.file.core.windows.net/myshare/mydirectory". Anda dapat menambahkan SAS jika menggunakan AnonymousCredential, seperti "https://myaccount.file.core.windows.net/myshare/mydirectory?sasString". Metode ini menerima URL yang dikodekan atau URL yang tidak dikodekan yang menunjuk ke direktori. String URL yang dikodekan TIDAK akan diloloskan dua kali, hanya karakter khusus di jalur URL yang akan lolos. Namun, jika nama direktori menyertakan %, nama direktori harus dikodekan dalam URL. Seperti direktori bernama "mydir%", URL harus "https://myaccount.file.core.windows.net/myshare/mydir%25".

pipeline
Pipeline

Panggil newPipeline() untuk membuat alur default, atau sediakan alur yang disesuaikan.

Detail Properti

name

Nama direktori

string name

Nilai Properti

string

path

Jalur lengkap direktori

string path

Nilai Properti

string

shareName

Nama berbagi yang sesuai dengan klien direktori ini

string shareName

Nilai Properti

string

Detail Properti yang Diwariskan

accountName

accountName: string

Nilai Properti

string

Diwarisi Dari StorageClient.accountName

url

Nilai string URL.

url: string

Nilai Properti

string

Diwariskan Dari StorageClient.url

Detail Metode

create(DirectoryCreateOptions)

Membuat direktori baru di bawah berbagi atau direktori induk yang ditentukan.

Lihat https://learn.microsoft.com/rest/api/storageservices/create-directory

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

Parameter

options
DirectoryCreateOptions

Opsi untuk operasi Buat Direktori.

Mengembalikan

Data respons untuk operasi Direktori.

createFile(string, number, FileCreateOptions)

Membuat file baru atau mengganti file di bawah direktori ini. Perhatikan bahwa file hanya menginisialisasi file tanpa konten.

Lihat https://learn.microsoft.com/rest/api/storageservices/create-file

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

Parameter

fileName

string

size

number

Menentukan ukuran maksimum dalam byte untuk file, hingga 4 TB.

options
FileCreateOptions

Opsi untuk operasi Buat File.

Mengembalikan

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

Data respons pembuatan file dan klien file yang sesuai.

createIfNotExists(DirectoryCreateOptions)

Membuat direktori baru di bawah berbagi atau direktori induk yang ditentukan jika belum ada. Jika direktori sudah ada, direktori tersebut tidak dimodifikasi.

Lihat https://learn.microsoft.com/rest/api/storageservices/create-directory

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

Parameter

Mengembalikan

createSubdirectory(string, DirectoryCreateOptions)

Membuat subdirektori baru di bawah direktori ini.

Lihat https://learn.microsoft.com/rest/api/storageservices/create-directory

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

Parameter

directoryName

string

options
DirectoryCreateOptions

Opsi untuk operasi Buat Direktori.

Mengembalikan

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

Direktori membuat data respons dan instans DirectoryClient yang sesuai.

delete(DirectoryDeleteOptions)

Menghapus direktori kosong yang ditentukan. Perhatikan bahwa direktori harus kosong sebelum dapat dihapus.

Lihat https://learn.microsoft.com/rest/api/storageservices/delete-directory

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

Parameter

options
DirectoryDeleteOptions

Opsi untuk operasi Hapus Direktori.

Mengembalikan

Data respons untuk operasi Hapus Direktori.

deleteFile(string, FileDeleteOptions)

Menghapus file yang ditentukan di bawah direktori ini dari akun penyimpanan. Ketika file berhasil dihapus, file segera dihapus dari indeks akun penyimpanan dan tidak lagi dapat diakses oleh klien. Data file kemudian dihapus dari layanan selama pengumpulan sampah.

Hapus File akan gagal dengan kode status 409 (Konflik) dan kode kesalahan SharingViolation jika file terbuka pada klien SMB.

Hapus File tidak didukung pada salinan bayangan berbagi, yang merupakan salinan berbagi baca-saja. Upaya untuk melakukan operasi ini pada rekam jepret berbagi akan gagal dengan 400 (InvalidQueryParameterValue)

Lihat https://learn.microsoft.com/rest/api/storageservices/delete-file2

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

Parameter

fileName

string

Nama file yang akan dihapus

options
FileDeleteOptions

Opsi untuk operasi Penghapusan File.

Mengembalikan

Data respons penghapusan file.

deleteIfExists(DirectoryDeleteOptions)

Menghapus direktori kosong yang ditentukan jika ada. Perhatikan bahwa direktori harus kosong sebelum dapat dihapus.

Lihat https://learn.microsoft.com/rest/api/storageservices/delete-directory

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

Parameter

Mengembalikan

deleteSubdirectory(string, DirectoryDeleteOptions)

Menghapus sub direktori kosong yang ditentukan di bawah direktori ini. Perhatikan bahwa direktori harus kosong sebelum dapat dihapus.

Lihat https://learn.microsoft.com/rest/api/storageservices/delete-directory

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

Parameter

directoryName

string

options
DirectoryDeleteOptions

Opsi untuk operasi Hapus Direktori.

Mengembalikan

Data respons penghapusan direktori.

exists(DirectoryExistsOptions)

Mengembalikan true jika direktori yang ditentukan ada; false jika tidak.

CATATAN: gunakan fungsi ini dengan hati-hati karena direktori yang ada mungkin dihapus oleh klien atau aplikasi lain. Sebaliknya direktori baru mungkin ditambahkan oleh klien atau aplikasi lain setelah fungsi ini selesai.

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

Parameter

options
DirectoryExistsOptions

opsi untuk operasi Ada.

Mengembalikan

Promise<boolean>

forceCloseAllHandles(DirectoryForceCloseHandlesSegmentOptions)

Tutup semua handel untuk direktori.

Lihat https://learn.microsoft.com/rest/api/storageservices/force-close-handles

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

Parameter

Mengembalikan

Promise<CloseHandlesInfo>

forceCloseHandle(string, DirectoryForceCloseHandlesOptions)

Tutup paksa handel tertentu untuk direktori.

Lihat https://learn.microsoft.com/rest/api/storageservices/force-close-handles

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

Parameter

handleId

string

ID handel tertentu, tidak dapat berupa tanda bintang "*". Gunakan forceCloseHandlesSegment() untuk menutup semua handel.

Mengembalikan

getDirectoryClient(string)

Membuat objek ShareDirectoryClient untuk sub direktori.

function getDirectoryClient(subDirectoryName: string): ShareDirectoryClient

Parameter

subDirectoryName

string

Nama subdirektori

Mengembalikan

Objek ShareDirectoryClient untuk nama subdirektori yang diberikan.

Contoh penggunaan:

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)

Membuat objek ShareFileClient.

function getFileClient(fileName: string): ShareFileClient

Parameter

fileName

string

Nama file.

Mengembalikan

Objek ShareFileClient baru untuk nama file yang diberikan.

Contoh penggunaan:

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)

Mengembalikan semua properti sistem untuk direktori yang ditentukan, dan juga dapat digunakan untuk memeriksa keberadaan direktori. Data yang dikembalikan tidak menyertakan file dalam direktori atau subdirektori apa pun.

Lihat https://learn.microsoft.com/rest/api/storageservices/get-directory-properties

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

Parameter

options
DirectoryGetPropertiesOptions

Opsi untuk operasi Dapatkan Properti Direktori.

Mengembalikan

Data respons untuk operasi Dapatkan Properti Direktori.

listFilesAndDirectories(DirectoryListFilesAndDirectoriesOptions)

Mengembalikan iterator yang dapat diulang asinkron untuk mencantumkan semua file dan direktori di bawah akun yang ditentukan.

.byPage() mengembalikan iterator yang dapat diulang asinkron untuk mencantumkan file dan direktori di halaman.

Contoh menggunakan sintaks 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++;
}

Contoh menggunakan 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++;
}

Contoh menggunakan 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}`);
  }
}

Contoh menggunakan halaman dengan penanda:

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>

Parameter

options
DirectoryListFilesAndDirectoriesOptions

Opsi untuk mencantumkan file dan operasi direktori.

Mengembalikan

AsyncIterableIterator yang mendukung halaman.

listHandles(DirectoryListHandlesOptions)

Mengembalikan iterator yang dapat diulang asinkron untuk mencantumkan semua handel. di bawah akun yang ditentukan.

.byPage() mengembalikan iterator yang dapat di-iterator asinkron untuk mencantumkan handel di halaman.

Contoh menggunakan sintaks 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}`);
}

Contoh menggunakan 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());
}

Contoh menggunakan 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}`);
  }
}

Contoh menggunakan halaman dengan penanda:

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>

Parameter

options
DirectoryListHandlesOptions

Opsi untuk mencantumkan operasi handel.

AsyncIterableIterator yang mendukung halaman.

Mengembalikan

rename(string, DirectoryRenameOptions)

Mengganti nama direktori. API ini hanya mendukung penggantian nama direktori dalam berbagi yang sama.

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

Parameter

destinationPath

string

Menentukan jalur tujuan yang akan diganti namanya. Jalur akan dikodekan untuk dimasukkan ke dalam URL untuk menentukan tujuan.

options
DirectoryRenameOptions

Opsi untuk operasi penggantian nama.

Mengembalikan

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

Data respons untuk operasi penggantian nama file.

Contoh penggunaan:

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)

Memperbarui metadata yang ditentukan pengguna untuk direktori yang ditentukan.

Lihat https://learn.microsoft.com/rest/api/storageservices/set-directory-metadata

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

Parameter

metadata
Metadata

Jika tidak ada metadata yang disediakan, semua metadata direktori yang ada akan dihapus

options
DirectorySetMetadataOptions

Opsi untuk operasi Metadata Set Direktori.

Mengembalikan

Data respons untuk operasi Metadata Set Direktori.

setProperties(DirectoryProperties)

Mengatur properti pada direktori.

Lihat https://learn.microsoft.com/rest/api/storageservices/set-directory-properties

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

Parameter

properties
DirectoryProperties

Mengembalikan