Partager via


ShareDirectoryClient class

Un ShareDirectoryClient représente une URL vers le répertoire stockage Azure, ce qui vous permet de manipuler ses fichiers et répertoires.

Extends

StorageClient

Constructeurs

ShareDirectoryClient(string, Credential | TokenCredential, ShareClientOptions)

Crée une instance de DirectoryClient.

ShareDirectoryClient(string, Pipeline, ShareClientConfig)

Crée une instance de DirectoryClient.

Propriétés

name

Nom du répertoire

path

Chemin complet du répertoire

shareName

Nom du partage correspondant à ce client d’annuaire

Propriétés héritées

accountName
url

Valeur de chaîne d’URL.

Méthodes

create(DirectoryCreateOptions)

Crée un répertoire sous le partage ou le répertoire parent spécifié.

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

createFile(string, number, FileCreateOptions)

Crée un fichier ou remplace un fichier sous ce répertoire. Notez qu’il initialise uniquement le fichier sans contenu.

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

createIfNotExists(DirectoryCreateOptions)

Crée un répertoire sous le partage ou le répertoire parent spécifié s’il n’existe pas déjà. Si le répertoire existe déjà, il n’est pas modifié.

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

createSubdirectory(string, DirectoryCreateOptions)

Crée un sous-répertoire sous ce répertoire.

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

delete(DirectoryDeleteOptions)

Supprime le répertoire vide spécifié. Notez que le répertoire doit être vide avant de pouvoir être supprimé.

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

deleteFile(string, FileDeleteOptions)

Supprime le fichier spécifié sous ce répertoire du compte de stockage. Lorsqu’un fichier est supprimé avec succès, il est immédiatement supprimé de l’index du compte de stockage et n’est plus accessible aux clients. Les données du fichier sont supprimées ultérieurement du service pendant le garbage collection.

La suppression du fichier échoue avec le code d’état 409 (conflit) et le code d’erreur SharingViolation si le fichier est ouvert sur un client SMB.

Supprimer le fichier n’est pas pris en charge sur un instantané de partage, qui est une copie en lecture seule d’un partage. Une tentative d’exécution de cette opération sur un instantané de partage échoue avec 400 (InvalidQueryParameterValue)

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

deleteIfExists(DirectoryDeleteOptions)

Supprime le répertoire vide spécifié s’il existe. Notez que le répertoire doit être vide avant de pouvoir être supprimé.

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

deleteSubdirectory(string, DirectoryDeleteOptions)

Supprime le sous-répertoire vide spécifié sous ce répertoire. Notez que le répertoire doit être vide avant de pouvoir être supprimé.

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

exists(DirectoryExistsOptions)

Retourne true si le répertoire spécifié existe ; false sinon.

REMARQUE : utilisez cette fonction avec soin, car un répertoire existant peut être supprimé par d’autres clients ou applications. Inversement, de nouveaux répertoires peuvent être ajoutés par d’autres clients ou applications une fois cette fonction terminée.

forceCloseAllHandles(DirectoryForceCloseHandlesSegmentOptions)

Forcez la fermeture de tous les handles d’un répertoire.

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

forceCloseHandle(string, DirectoryForceCloseHandlesOptions)

Forcez la fermeture d’un handle spécifique pour un répertoire.

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

getDirectoryClient(string)

Crée un objet ShareDirectoryClient pour un sous-répertoire.

getFileClient(string)

Crée un objet ShareFileClient.

getProperties(DirectoryGetPropertiesOptions)

Retourne toutes les propriétés système du répertoire spécifié et peut également être utilisée pour vérifier l’existence d’un répertoire. Les données retournées n’incluent pas les fichiers dans le répertoire ou les sous-répertoires.

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

listFilesAndDirectories(DirectoryListFilesAndDirectoriesOptions)

Retourne un itérateur itérable asynchrone pour répertorier tous les fichiers et répertoires sous le compte spécifié.

.byPage() retourne un itérateur itérable asynchrone pour répertorier les fichiers et les répertoires dans les pages.

Exemple utilisant for await syntaxe :

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

Exemple utilisant 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++;
}

Exemple utilisant 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}`);
  }
}

Exemple d’utilisation de la pagination avec un marqueur :

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)

Retourne un itérateur itérable asynchrone pour répertorier tous les handles. sous le compte spécifié.

.byPage() retourne un itérateur itérable asynchrone pour répertorier les handles dans les pages.

Exemple utilisant for await syntaxe :

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

Exemple utilisant 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());
}

Exemple utilisant 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}`);
  }
}

Exemple d’utilisation de la pagination avec un marqueur :

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)

Renomme un répertoire. Cette API prend uniquement en charge le renommage d’un répertoire dans le même partage.

setMetadata(Metadata, DirectorySetMetadataOptions)

Met à jour les métadonnées définies par l’utilisateur pour le répertoire spécifié.

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

setProperties(DirectoryProperties)

Définit les propriétés sur le répertoire.

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

Détails du constructeur

ShareDirectoryClient(string, Credential | TokenCredential, ShareClientOptions)

Crée une instance de DirectoryClient.

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

Paramètres

url

string

Chaîne d’URL pointant vers le répertoire de fichiers stockage Azure, par exemple «https://myaccount.file.core.windows.net/myshare/mydirectory". Vous pouvez ajouter une SAP si vous utilisez AnonymousCredential, par exemple «https://myaccount.file.core.windows.net/myshare/mydirectory?sasString". Cette méthode accepte une URL encodée ou une URL non codée pointant vers un répertoire. La chaîne d’URL encodée ne sera PAS échappée deux fois, seuls les caractères spéciaux dans le chemin d’URL seront échappés. Toutefois, si un nom de répertoire inclut %, le nom du répertoire doit être encodé dans l’URL. Par exemple, un répertoire nommé « mydir%», l’URL doit être «https://myaccount.file.core.windows.net/myshare/mydir%25".

credential

Credential | TokenCredential

Tel que AnonymousCredential ou StorageSharedKeyCredential. Si ce n’est pas spécifié, AnonymousCredential est utilisé.

options
ShareClientOptions

Optional. Options de configuration du pipeline HTTP.

ShareDirectoryClient(string, Pipeline, ShareClientConfig)

Crée une instance de DirectoryClient.

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

Paramètres

url

string

Chaîne d’URL pointant vers le répertoire de fichiers stockage Azure, par exemple «https://myaccount.file.core.windows.net/myshare/mydirectory". Vous pouvez ajouter une SAP si vous utilisez AnonymousCredential, par exemple «https://myaccount.file.core.windows.net/myshare/mydirectory?sasString". Cette méthode accepte une URL encodée ou une URL non codée pointant vers un répertoire. La chaîne d’URL encodée ne sera PAS échappée deux fois, seuls les caractères spéciaux dans le chemin d’URL seront échappés. Toutefois, si un nom de répertoire inclut %, le nom du répertoire doit être encodé dans l’URL. Par exemple, un répertoire nommé « mydir%», l’URL doit être «https://myaccount.file.core.windows.net/myshare/mydir%25".

pipeline
Pipeline

Appelez newPipeline() pour créer un pipeline par défaut ou fournissez un pipeline personnalisé.

Détails de la propriété

name

Nom du répertoire

string name

Valeur de propriété

string

path

Chemin complet du répertoire

string path

Valeur de propriété

string

shareName

Nom du partage correspondant à ce client d’annuaire

string shareName

Valeur de propriété

string

Détails de la propriété héritée

accountName

accountName: string

Valeur de propriété

string

héritée de StorageClient.accountName

url

Valeur de chaîne d’URL.

url: string

Valeur de propriété

string

héritée de StorageClient.url

Détails de la méthode

create(DirectoryCreateOptions)

Crée un répertoire sous le partage ou le répertoire parent spécifié.

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

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

Paramètres

options
DirectoryCreateOptions

Options de création d’annuaire.

Retours

Données de réponse pour l’opération d’annuaire.

createFile(string, number, FileCreateOptions)

Crée un fichier ou remplace un fichier sous ce répertoire. Notez qu’il initialise uniquement le fichier sans contenu.

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

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

Paramètres

fileName

string

size

number

Spécifie la taille maximale en octets du fichier, jusqu’à 4 To.

options
FileCreateOptions

Options d’opération de création de fichier.

Retours

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

Données de réponse de création de fichiers et client de fichiers correspondants.

createIfNotExists(DirectoryCreateOptions)

Crée un répertoire sous le partage ou le répertoire parent spécifié s’il n’existe pas déjà. Si le répertoire existe déjà, il n’est pas modifié.

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

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

Paramètres

Retours

createSubdirectory(string, DirectoryCreateOptions)

Crée un sous-répertoire sous ce répertoire.

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

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

Paramètres

directoryName

string

options
DirectoryCreateOptions

Options de création d’annuaire.

Retours

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

Le répertoire crée des données de réponse et l’instance DirectoryClient correspondante.

delete(DirectoryDeleteOptions)

Supprime le répertoire vide spécifié. Notez que le répertoire doit être vide avant de pouvoir être supprimé.

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

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

Paramètres

options
DirectoryDeleteOptions

Options d’opération de suppression d’annuaire.

Retours

Données de réponse pour l’opération Suppression d’annuaire.

deleteFile(string, FileDeleteOptions)

Supprime le fichier spécifié sous ce répertoire du compte de stockage. Lorsqu’un fichier est supprimé avec succès, il est immédiatement supprimé de l’index du compte de stockage et n’est plus accessible aux clients. Les données du fichier sont supprimées ultérieurement du service pendant le garbage collection.

La suppression du fichier échoue avec le code d’état 409 (conflit) et le code d’erreur SharingViolation si le fichier est ouvert sur un client SMB.

Supprimer le fichier n’est pas pris en charge sur un instantané de partage, qui est une copie en lecture seule d’un partage. Une tentative d’exécution de cette opération sur un instantané de partage échoue avec 400 (InvalidQueryParameterValue)

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

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

Paramètres

fileName

string

Nom du fichier à supprimer

options
FileDeleteOptions

Options d’opération de suppression de fichier.

Retours

Données de réponse de suppression de fichier.

deleteIfExists(DirectoryDeleteOptions)

Supprime le répertoire vide spécifié s’il existe. Notez que le répertoire doit être vide avant de pouvoir être supprimé.

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

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

Paramètres

Retours

deleteSubdirectory(string, DirectoryDeleteOptions)

Supprime le sous-répertoire vide spécifié sous ce répertoire. Notez que le répertoire doit être vide avant de pouvoir être supprimé.

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

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

Paramètres

directoryName

string

options
DirectoryDeleteOptions

Options d’opération de suppression d’annuaire.

Retours

Données de réponse de suppression d’annuaire.

exists(DirectoryExistsOptions)

Retourne true si le répertoire spécifié existe ; false sinon.

REMARQUE : utilisez cette fonction avec soin, car un répertoire existant peut être supprimé par d’autres clients ou applications. Inversement, de nouveaux répertoires peuvent être ajoutés par d’autres clients ou applications une fois cette fonction terminée.

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

Paramètres

options
DirectoryExistsOptions

options pour l’opération Exists.

Retours

Promise<boolean>

forceCloseAllHandles(DirectoryForceCloseHandlesSegmentOptions)

Forcez la fermeture de tous les handles d’un répertoire.

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

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

Paramètres

Retours

Promise<CloseHandlesInfo>

forceCloseHandle(string, DirectoryForceCloseHandlesOptions)

Forcez la fermeture d’un handle spécifique pour un répertoire.

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

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

Paramètres

handleId

string

L’ID de handle spécifique ne peut pas être astérisque « * ». Utilisez forceCloseHandlesSegment() pour fermer tous les handles.

Retours

getDirectoryClient(string)

Crée un objet ShareDirectoryClient pour un sous-répertoire.

function getDirectoryClient(subDirectoryName: string): ShareDirectoryClient

Paramètres

subDirectoryName

string

Nom d’un sous-répertoire

Retours

Objet ShareDirectoryClient pour le nom de sous-répertoire donné.

Exemple d’utilisation :

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)

Crée un objet ShareFileClient.

function getFileClient(fileName: string): ShareFileClient

Paramètres

fileName

string

Nom de fichier.

Retours

Nouvel objet ShareFileClient pour le nom de fichier donné.

Exemple d’utilisation :

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)

Retourne toutes les propriétés système du répertoire spécifié et peut également être utilisée pour vérifier l’existence d’un répertoire. Les données retournées n’incluent pas les fichiers dans le répertoire ou les sous-répertoires.

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

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

Paramètres

options
DirectoryGetPropertiesOptions

Options pour l’opération Obtenir les propriétés du répertoire.

Retours

Données de réponse pour l’opération Obtenir les propriétés du répertoire.

listFilesAndDirectories(DirectoryListFilesAndDirectoriesOptions)

Retourne un itérateur itérable asynchrone pour répertorier tous les fichiers et répertoires sous le compte spécifié.

.byPage() retourne un itérateur itérable asynchrone pour répertorier les fichiers et les répertoires dans les pages.

Exemple utilisant for await syntaxe :

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

Exemple utilisant 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++;
}

Exemple utilisant 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}`);
  }
}

Exemple d’utilisation de la pagination avec un marqueur :

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>

Paramètres

options
DirectoryListFilesAndDirectoriesOptions

Options de liste des fichiers et des répertoires.

Retours

AsyncIterableIterator qui prend en charge la pagination.

listHandles(DirectoryListHandlesOptions)

Retourne un itérateur itérable asynchrone pour répertorier tous les handles. sous le compte spécifié.

.byPage() retourne un itérateur itérable asynchrone pour répertorier les handles dans les pages.

Exemple utilisant for await syntaxe :

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

Exemple utilisant 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());
}

Exemple utilisant 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}`);
  }
}

Exemple d’utilisation de la pagination avec un marqueur :

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>

Paramètres

options
DirectoryListHandlesOptions

Options permettant de répertorier les opérations de gestion.

AsyncIterableIterator qui prend en charge la pagination.

Retours

rename(string, DirectoryRenameOptions)

Renomme un répertoire. Cette API prend uniquement en charge le renommage d’un répertoire dans le même partage.

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

Paramètres

destinationPath

string

Spécifie le chemin d’accès de destination à renommer. Le chemin d’accès est encodé pour entrer une URL pour spécifier la destination.

options
DirectoryRenameOptions

Options de l’opération de changement de nom.

Retours

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

Données de réponse pour l’opération de changement de nom de fichier.

Exemple d’utilisation :

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)

Met à jour les métadonnées définies par l’utilisateur pour le répertoire spécifié.

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

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

Paramètres

metadata
Metadata

Si aucune métadonnées n’est fournie, toutes les métadonnées de répertoire existantes sont supprimées

options
DirectorySetMetadataOptions

Options d’opération de définition de métadonnées du jeu d’annuaires.

Retours

Données de réponse pour l’opération de métadonnées du jeu d’annuaires.

setProperties(DirectoryProperties)

Définit les propriétés sur le répertoire.

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

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

Paramètres

properties
DirectoryProperties

Retours