Condividi tramite


ShareDirectoryClient class

ShareDirectoryClient rappresenta un URL della directory di Archiviazione di Azure che consente di modificare i relativi file e directory.

Extends

StorageClient

Costruttori

ShareDirectoryClient(string, Credential | TokenCredential, ShareClientOptions)

Crea un'istanza di DirectoryClient.

ShareDirectoryClient(string, Pipeline, ShareClientConfig)

Crea un'istanza di DirectoryClient.

Proprietà

name

Nome della directory

path

Percorso completo della directory

shareName

Nome della condivisione corrispondente a questo client di directory

Proprietà ereditate

accountName
url

Valore stringa URL.

Metodi

create(DirectoryCreateOptions)

Crea una nuova directory nella condivisione o nella directory padre specificata.

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

createFile(string, number, FileCreateOptions)

Crea un nuovo file o sostituisce un file in questa directory. Si noti che inizializza solo il file senza contenuto.

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

createIfNotExists(DirectoryCreateOptions)

Crea una nuova directory nella condivisione o nella directory padre specificata, se non esiste già. Se la directory esiste già, non viene modificata.

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

createSubdirectory(string, DirectoryCreateOptions)

Crea una nuova sottodirectory in questa directory.

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

delete(DirectoryDeleteOptions)

Rimuove la directory vuota specificata. Si noti che la directory deve essere vuota prima di poterla eliminare.

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

deleteFile(string, FileDeleteOptions)

Rimuove il file specificato in questa directory dall'account di archiviazione. Quando un file viene eliminato correttamente, viene immediatamente rimosso dall'indice dell'account di archiviazione e non è più accessibile ai client. I dati del file vengono successivamente rimossi dal servizio durante la Garbage Collection.

L'eliminazione del file avrà esito negativo con codice di stato 409 (conflitto) e codice di errore SharingViolation se il file è aperto in un client SMB.

L'eliminazione del file non è supportata in uno snapshot di condivisione, ovvero una copia di sola lettura di una condivisione. Un tentativo di eseguire questa operazione in uno snapshot di condivisione avrà esito negativo con 400 (InvalidQueryParameterValue)

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

deleteIfExists(DirectoryDeleteOptions)

Rimuove la directory vuota specificata, se presente. Si noti che la directory deve essere vuota prima di poterla eliminare.

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

deleteSubdirectory(string, DirectoryDeleteOptions)

Rimuove la sottodirectory vuota specificata in questa directory. Si noti che la directory deve essere vuota prima di poterla eliminare.

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

exists(DirectoryExistsOptions)

Restituisce true se la directory specificata esiste; false in caso contrario.

NOTA: usare questa funzione con attenzione perché una directory esistente potrebbe essere eliminata da altri client o applicazioni. Viceversa, è possibile aggiungere nuove directory da altri client o applicazioni al termine di questa funzione.

forceCloseAllHandles(DirectoryForceCloseHandlesSegmentOptions)

Forzare la chiusura di tutti gli handle per una directory.

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

forceCloseHandle(string, DirectoryForceCloseHandlesOptions)

Forzare la chiusura di un handle specifico per una directory.

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

getDirectoryClient(string)

Crea un oggetto ShareDirectoryClient per una sottodirectory.

getFileClient(string)

Crea un oggetto ShareFileClient.

getProperties(DirectoryGetPropertiesOptions)

Restituisce tutte le proprietà di sistema per la directory specificata e può essere utilizzato anche per verificare l'esistenza di una directory. I dati restituiti non includono i file nella directory o nelle sottodirectory.

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

listFilesAndDirectories(DirectoryListFilesAndDirectoriesOptions)

Restituisce un iteratore iteratore asincrono per elencare tutti i file e le directory nell'account specificato.

.byPage() restituisce un iteratore iteratore iterabile asincrono per elencare i file e le directory nelle pagine.

Esempio di utilizzo della sintassi 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++;
}

Esempio di utilizzo di 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++;
}

Esempio di utilizzo di 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}`);
  }
}

Esempio di utilizzo del paging con un marcatore:

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)

Restituisce un iteratore iteratore asincrono per elencare tutti gli handle. nell'account specificato.

.byPage() restituisce un iteratore iteratore asincrono per elencare gli handle nelle pagine.

Esempio di utilizzo della sintassi 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}`);
}

Esempio di utilizzo di 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());
}

Esempio di utilizzo di 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}`);
  }
}

Esempio di utilizzo del paging con un marcatore:

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)

Rinomina una directory. Questa API supporta solo la ridenominazione di una directory nella stessa condivisione.

setMetadata(Metadata, DirectorySetMetadataOptions)

Aggiorna i metadati definiti dall'utente per la directory specificata.

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

setProperties(DirectoryProperties)

Imposta le proprietà nella directory.

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

Dettagli costruttore

ShareDirectoryClient(string, Credential | TokenCredential, ShareClientOptions)

Crea un'istanza di DirectoryClient.

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

Parametri

url

string

Stringa URL che punta alla directory del file di Archiviazione di Azure, ad esempio "https://myaccount.file.core.windows.net/myshare/mydirectory". È possibile aggiungere una firma di accesso condiviso se si usa AnonymousCredential, ad esempio "https://myaccount.file.core.windows.net/myshare/mydirectory?sasString". Questo metodo accetta un URL codificato o un URL non codificato che punta a una directory. La stringa URL codificata non verrà preceduta da un carattere di escape due volte. Solo i caratteri speciali nel percorso URL verranno preceduti da un carattere di escape. Tuttavia, se un nome di directory include %, il nome della directory deve essere codificato nell'URL. Ad esempio, una directory denominata "mydir%", l'URL deve essere "https://myaccount.file.core.windows.net/myshare/mydir%25".

credential

Credential | TokenCredential

Ad esempio AnonymousCredential o StorageSharedKeyCredential. Se non specificato, viene utilizzato AnonymousCredential.

options
ShareClientOptions

Optional. Opzioni per configurare la pipeline HTTP.

ShareDirectoryClient(string, Pipeline, ShareClientConfig)

Crea un'istanza di DirectoryClient.

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

Parametri

url

string

Stringa URL che punta alla directory del file di Archiviazione di Azure, ad esempio "https://myaccount.file.core.windows.net/myshare/mydirectory". È possibile aggiungere una firma di accesso condiviso se si usa AnonymousCredential, ad esempio "https://myaccount.file.core.windows.net/myshare/mydirectory?sasString". Questo metodo accetta un URL codificato o un URL non codificato che punta a una directory. La stringa URL codificata non verrà preceduta da un carattere di escape due volte. Solo i caratteri speciali nel percorso URL verranno preceduti da un carattere di escape. Tuttavia, se un nome di directory include %, il nome della directory deve essere codificato nell'URL. Ad esempio, una directory denominata "mydir%", l'URL deve essere "https://myaccount.file.core.windows.net/myshare/mydir%25".

pipeline
Pipeline

Chiamare newPipeline() per creare una pipeline predefinita o fornire una pipeline personalizzata.

Dettagli proprietà

name

Nome della directory

string name

Valore della proprietà

string

path

Percorso completo della directory

string path

Valore della proprietà

string

shareName

Nome della condivisione corrispondente a questo client di directory

string shareName

Valore della proprietà

string

Dettagli proprietà ereditate

accountName

accountName: string

Valore della proprietà

string

Ereditato da StorageClient.accountName

url

Valore stringa URL.

url: string

Valore della proprietà

string

Ereditato da StorageClient.url

Dettagli metodo

create(DirectoryCreateOptions)

Crea una nuova directory nella condivisione o nella directory padre specificata.

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

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

Parametri

options
DirectoryCreateOptions

Opzioni per l'operazione di creazione della directory.

Restituisce

Dati di risposta per l'operazione directory.

createFile(string, number, FileCreateOptions)

Crea un nuovo file o sostituisce un file in questa directory. Si noti che inizializza solo il file senza contenuto.

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

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

Parametri

fileName

string

size

number

Specifica le dimensioni massime in byte per il file, fino a 4 TB.

options
FileCreateOptions

Opzioni per l'operazione Di creazione file.

Restituisce

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

Dati di risposta per la creazione di file e il client di file corrispondente.

createIfNotExists(DirectoryCreateOptions)

Crea una nuova directory nella condivisione o nella directory padre specificata, se non esiste già. Se la directory esiste già, non viene modificata.

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

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

Parametri

Restituisce

createSubdirectory(string, DirectoryCreateOptions)

Crea una nuova sottodirectory in questa directory.

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

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

Parametri

directoryName

string

options
DirectoryCreateOptions

Opzioni per l'operazione di creazione della directory.

Restituisce

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

La directory crea dati di risposta e l'istanza directoryClient corrispondente.

delete(DirectoryDeleteOptions)

Rimuove la directory vuota specificata. Si noti che la directory deve essere vuota prima di poterla eliminare.

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

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

Parametri

options
DirectoryDeleteOptions

Opzioni per l'operazione di eliminazione della directory.

Restituisce

Dati di risposta per l'operazione di eliminazione della directory.

deleteFile(string, FileDeleteOptions)

Rimuove il file specificato in questa directory dall'account di archiviazione. Quando un file viene eliminato correttamente, viene immediatamente rimosso dall'indice dell'account di archiviazione e non è più accessibile ai client. I dati del file vengono successivamente rimossi dal servizio durante la Garbage Collection.

L'eliminazione del file avrà esito negativo con codice di stato 409 (conflitto) e codice di errore SharingViolation se il file è aperto in un client SMB.

L'eliminazione del file non è supportata in uno snapshot di condivisione, ovvero una copia di sola lettura di una condivisione. Un tentativo di eseguire questa operazione in uno snapshot di condivisione avrà esito negativo con 400 (InvalidQueryParameterValue)

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

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

Parametri

fileName

string

Nome del file da eliminare

options
FileDeleteOptions

Opzioni per l'operazione Di eliminazione file.

Restituisce

Dati di risposta all'eliminazione di file.

deleteIfExists(DirectoryDeleteOptions)

Rimuove la directory vuota specificata, se presente. Si noti che la directory deve essere vuota prima di poterla eliminare.

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

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

Parametri

Restituisce

deleteSubdirectory(string, DirectoryDeleteOptions)

Rimuove la sottodirectory vuota specificata in questa directory. Si noti che la directory deve essere vuota prima di poterla eliminare.

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

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

Parametri

directoryName

string

options
DirectoryDeleteOptions

Opzioni per l'operazione di eliminazione della directory.

Restituisce

Dati di risposta all'eliminazione della directory.

exists(DirectoryExistsOptions)

Restituisce true se la directory specificata esiste; false in caso contrario.

NOTA: usare questa funzione con attenzione perché una directory esistente potrebbe essere eliminata da altri client o applicazioni. Viceversa, è possibile aggiungere nuove directory da altri client o applicazioni al termine di questa funzione.

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

Parametri

options
DirectoryExistsOptions

opzioni per l'operazione Exists.

Restituisce

Promise<boolean>

forceCloseAllHandles(DirectoryForceCloseHandlesSegmentOptions)

Forzare la chiusura di tutti gli handle per una directory.

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

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

Parametri

Restituisce

Promise<CloseHandlesInfo>

forceCloseHandle(string, DirectoryForceCloseHandlesOptions)

Forzare la chiusura di un handle specifico per una directory.

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

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

Parametri

handleId

string

Id handle specifico, non può essere asterisco "*". Usare forceCloseHandlesSegment() per chiudere tutti gli handle.

Restituisce

getDirectoryClient(string)

Crea un oggetto ShareDirectoryClient per una sottodirectory.

function getDirectoryClient(subDirectoryName: string): ShareDirectoryClient

Parametri

subDirectoryName

string

Nome di sottodirectory

Restituisce

Oggetto ShareDirectoryClient per il nome della sottodirectory specificato.

Sintassi di esempio:

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)

Crea un oggetto ShareFileClient.

function getFileClient(fileName: string): ShareFileClient

Parametri

fileName

string

Nome file.

Restituisce

Nuovo oggetto ShareFileClient per il nome file specificato.

Sintassi di esempio:

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)

Restituisce tutte le proprietà di sistema per la directory specificata e può essere utilizzato anche per verificare l'esistenza di una directory. I dati restituiti non includono i file nella directory o nelle sottodirectory.

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

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

Parametri

options
DirectoryGetPropertiesOptions

Opzioni per l'operazione Get Properties della directory.

Restituisce

Dati di risposta per l'operazione Directory Get Properties.

listFilesAndDirectories(DirectoryListFilesAndDirectoriesOptions)

Restituisce un iteratore iteratore asincrono per elencare tutti i file e le directory nell'account specificato.

.byPage() restituisce un iteratore iteratore iterabile asincrono per elencare i file e le directory nelle pagine.

Esempio di utilizzo della sintassi 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++;
}

Esempio di utilizzo di 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++;
}

Esempio di utilizzo di 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}`);
  }
}

Esempio di utilizzo del paging con un marcatore:

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>

Parametri

options
DirectoryListFilesAndDirectoriesOptions

Opzioni per elencare file e directory.

Restituisce

AsyncIterableIterator che supporta il paging.

listHandles(DirectoryListHandlesOptions)

Restituisce un iteratore iteratore asincrono per elencare tutti gli handle. nell'account specificato.

.byPage() restituisce un iteratore iteratore asincrono per elencare gli handle nelle pagine.

Esempio di utilizzo della sintassi 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}`);
}

Esempio di utilizzo di 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());
}

Esempio di utilizzo di 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}`);
  }
}

Esempio di utilizzo del paging con un marcatore:

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>

Parametri

options
DirectoryListHandlesOptions

Opzioni per elencare le operazioni di handle.

AsyncIterableIterator che supporta il paging.

Restituisce

rename(string, DirectoryRenameOptions)

Rinomina una directory. Questa API supporta solo la ridenominazione di una directory nella stessa condivisione.

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

Parametri

destinationPath

string

Specifica il percorso di destinazione in cui rinominare. Il percorso verrà codificato per inserire in un URL per specificare la destinazione.

options
DirectoryRenameOptions

Opzioni per l'operazione di ridenominazione.

Restituisce

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

Dati di risposta per l'operazione di ridenominazione dei file.

Sintassi di esempio:

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)

Aggiorna i metadati definiti dall'utente per la directory specificata.

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

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

Parametri

metadata
Metadata

Se non vengono forniti metadati, tutti i metadati della directory esistenti verranno rimossi

options
DirectorySetMetadataOptions

Opzioni per l'operazione Imposta metadati del set di directory.

Restituisce

Dati di risposta per l'operazione Di set di metadati del set di directory.

setProperties(DirectoryProperties)

Imposta le proprietà nella directory.

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

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

Parametri

properties
DirectoryProperties

Restituisce