ShareDirectoryClient class
Un ShareDirectoryClient représente une URL vers le répertoire stockage Azure qui vous permet de manipuler ses fichiers et répertoires.
- Extends
-
StorageClient
Constructeurs
Share |
Crée une instance de DirectoryClient. |
Share |
Crée une instance de DirectoryClient. |
Propriétés
name | Nom du répertoire |
path | Chemin d’accès complet du répertoire |
share |
Nom de partage correspondant à ce client d’annuaire |
Propriétés héritées
account |
|
url | Valeur de chaîne d’URL. |
Méthodes
create(Directory |
Crée un répertoire sous le partage ou le répertoire parent spécifié. Voir https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory |
create |
Crée un fichier ou remplace un fichier sous ce répertoire. Notez qu’il initialise uniquement le fichier sans contenu. Voir https://docs.microsoft.com/en-us/rest/api/storageservices/create-file |
create |
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://docs.microsoft.com/en-us/rest/api/storageservices/create-directory |
create |
Crée un sous-répertoire sous ce répertoire. Voir https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory |
delete(Directory |
Supprime le répertoire vide spécifié. Le répertoire doit être vide pour que vous puissiez le supprimer. Voir https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory |
delete |
Supprime du compte de stockage le fichier spécifié sous ce répertoire. Quand un fichier est supprimé correctement, il est immédiatement retiré de l'index du compte de stockage et n'est plus accessible aux clients. Les données du fichier sont ensuite supprimées du service lors du nettoyage de la mémoire. 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 un 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://docs.microsoft.com/en-us/rest/api/storageservices/delete-file2 |
delete |
Supprime le répertoire vide spécifié s’il existe. Le répertoire doit être vide pour que vous puissiez le supprimer. Voir https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory |
delete |
Supprime le sous-répertoire vide spécifié sous ce répertoire. Le répertoire doit être vide pour que vous puissiez le supprimer. Voir https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory |
exists(Directory |
Retourne true si le répertoire spécifié existe ; false dans le cas contraire. REMARQUE : utilisez cette fonction avec précaution, 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. |
force |
Forcer la fermeture de tous les handles d’un répertoire. Voir https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles |
force |
Forcer la fermeture d’un handle spécifique pour un répertoire. Voir https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles |
get |
Crée un objet ShareDirectoryClient pour un sous-répertoire. |
get |
Crée un objet ShareFileClient . |
get |
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 renvoyées n'incluent pas les fichiers figurant dans le répertoire ou ses sous-répertoires. Voir https://docs.microsoft.com/en-us/rest/api/storageservices/get-directory-properties |
list |
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 la
Exemple utilisant
Exemple utilisant
Exemple d’utilisation de la pagination avec un marqueur :
|
list |
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 la
Exemple utilisant
Exemple utilisant
Exemple d’utilisation de la pagination avec un marqueur :
|
rename(string, Directory |
Renomme un répertoire. Cette API prend uniquement en charge le renommage d’un répertoire dans le même partage. |
set |
Mises à jour métadonnées définies par l’utilisateur pour le répertoire spécifié. Voir https://docs.microsoft.com/en-us/rest/api/storageservices/set-directory-metadata |
set |
Définit les propriétés du répertoire. Voir https://docs.microsoft.com/en-us/rest/api/storageservices/set-directory-properties |
Détails du constructeur
ShareDirectoryClient(string, Credential_2 | TokenCredential, ShareClientOptions)
Crée une instance de DirectoryClient.
new ShareDirectoryClient(url: string, credential?: Credential_2 | TokenCredential, options?: ShareClientOptions)
Paramètres
- url
-
string
Chaîne d’URL pointant vers le répertoire de fichiers stockage Azure, telle que « https://myaccount.file.core.windows.net/myshare/mydirectory". Vous pouvez ajouter une signature d’accès partagé si vous utilisez AnonymousCredential, par exemple «https://myaccount.file.core.windows.net/myshare/mydirectory?sasString" ; ». Cette méthode accepte une URL encodée ou non codée pointant vers un répertoire. La chaîne d’URL encodée ne fera PAS l’objet d’une séquence d’échappement deux fois, seuls les caractères spéciaux dans le chemin d’accès de l’URL seront placés dans une séquence d’échappement. Toutefois, si un nom de répertoire inclut %, le nom du répertoire doit être encodé dans l’URL. Par exemple, dans un répertoire nommé « mydir% », l’URL doit être «https://myaccount.file.core.windows.net/myshare/mydir%25" ; ».
- credential
Par exemple AnonymousCredential ou StorageSharedKeyCredential. S’il n’est pas spécifié, AnonymousCredential est utilisé.
- options
- ShareClientOptions
Optionnel. 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, telle que « https://myaccount.file.core.windows.net/myshare/mydirectory". Vous pouvez ajouter une signature d’accès partagé si vous utilisez AnonymousCredential, par exemple «https://myaccount.file.core.windows.net/myshare/mydirectory?sasString" ; ». Cette méthode accepte une URL encodée ou non codée pointant vers un répertoire. La chaîne d’URL encodée ne fera PAS l’objet d’une séquence d’échappement deux fois, seuls les caractères spéciaux dans le chemin d’accès de l’URL seront placés dans une séquence d’échappement. Toutefois, si un nom de répertoire inclut %, le nom du répertoire doit être encodé dans l’URL. Par exemple, dans 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é.
- options
- ShareClientConfig
Détails de la propriété
name
Nom du répertoire
string name
Valeur de propriété
string
path
Chemin d’accès complet du répertoire
string path
Valeur de propriété
string
shareName
Nom de 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é de StorageClient.accountName
url
Valeur de chaîne d’URL.
url: string
Valeur de propriété
string
Hérité 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://docs.microsoft.com/en-us/rest/api/storageservices/create-directory
function create(options?: DirectoryCreateOptions): Promise<DirectoryCreateResponse>
Paramètres
- options
- DirectoryCreateOptions
Options de l’opération de création d’annuaire.
Retours
Promise<DirectoryCreateResponse>
Données de réponse pour l’opération 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://docs.microsoft.com/en-us/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 de l’opération de création de fichier.
Retours
Promise<{ fileClient: ShareFileClient, fileCreateResponse: FileCreateResponse }>
Données de réponse de création de fichier et le client de fichier correspondant.
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://docs.microsoft.com/en-us/rest/api/storageservices/create-directory
function createIfNotExists(options?: DirectoryCreateOptions): Promise<DirectoryCreateIfNotExistsResponse>
Paramètres
- options
- DirectoryCreateOptions
Retours
Promise<DirectoryCreateIfNotExistsResponse>
createSubdirectory(string, DirectoryCreateOptions)
Crée un sous-répertoire sous ce répertoire.
Voir https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory
function createSubdirectory(directoryName: string, options?: DirectoryCreateOptions): Promise<{ directoryClient: ShareDirectoryClient, directoryCreateResponse: DirectoryCreateResponse }>
Paramètres
- directoryName
-
string
- options
- DirectoryCreateOptions
Options de l’opération de création d’annuaire.
Retours
Promise<{ directoryClient: ShareDirectoryClient, directoryCreateResponse: DirectoryCreateResponse }>
Créez des données de réponse de répertoire et l’instance DirectoryClient correspondante.
delete(DirectoryDeleteOptions)
Supprime le répertoire vide spécifié. Le répertoire doit être vide pour que vous puissiez le supprimer.
Voir https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory
function delete(options?: DirectoryDeleteOptions): Promise<DirectoryDeleteResponse>
Paramètres
- options
- DirectoryDeleteOptions
Options de l’opération De suppression d’annuaire.
Retours
Promise<DirectoryDeleteResponse>
Données de réponse pour l’opération De suppression d’annuaire.
deleteFile(string, FileDeleteOptions)
Supprime du compte de stockage le fichier spécifié sous ce répertoire. Quand un fichier est supprimé correctement, il est immédiatement retiré de l'index du compte de stockage et n'est plus accessible aux clients. Les données du fichier sont ensuite supprimées du service lors du nettoyage de la mémoire.
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 un 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://docs.microsoft.com/en-us/rest/api/storageservices/delete-file2
function deleteFile(fileName: string, options?: FileDeleteOptions): Promise<FileDeleteResponse>
Paramètres
- fileName
-
string
Nom du fichier à supprimer
- options
- FileDeleteOptions
Options de l’opération de suppression de fichier.
Retours
Promise<FileDeleteResponse>
Données de réponse de suppression de fichier.
deleteIfExists(DirectoryDeleteOptions)
Supprime le répertoire vide spécifié s’il existe. Le répertoire doit être vide pour que vous puissiez le supprimer.
Voir https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory
function deleteIfExists(options?: DirectoryDeleteOptions): Promise<DirectoryDeleteIfExistsResponse>
Paramètres
- options
- DirectoryDeleteOptions
Retours
Promise<DirectoryDeleteIfExistsResponse>
deleteSubdirectory(string, DirectoryDeleteOptions)
Supprime le sous-répertoire vide spécifié sous ce répertoire. Le répertoire doit être vide pour que vous puissiez le supprimer.
Voir https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory
function deleteSubdirectory(directoryName: string, options?: DirectoryDeleteOptions): Promise<DirectoryDeleteResponse>
Paramètres
- directoryName
-
string
- options
- DirectoryDeleteOptions
Options de l’opération De suppression d’annuaire.
Retours
Promise<DirectoryDeleteResponse>
Données de réponse de suppression d’annuaire.
exists(DirectoryExistsOptions)
Retourne true si le répertoire spécifié existe ; false dans le cas contraire.
REMARQUE : utilisez cette fonction avec précaution, 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 de l’opération Exists.
Retours
Promise<boolean>
forceCloseAllHandles(DirectoryForceCloseHandlesSegmentOptions)
Forcer la fermeture de tous les handles d’un répertoire.
Voir https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles
function forceCloseAllHandles(options?: DirectoryForceCloseHandlesSegmentOptions): Promise<CloseHandlesInfo>
Paramètres
Retours
Promise<CloseHandlesInfo>
forceCloseHandle(string, DirectoryForceCloseHandlesOptions)
Forcer la fermeture d’un handle spécifique pour un répertoire.
Voir https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles
function forceCloseHandle(handleId: string, options?: DirectoryForceCloseHandlesOptions): Promise<DirectoryForceCloseHandlesResponse>
Paramètres
- handleId
-
string
ID de handle spécifique, ne peut pas être un astérisque « * ». Utilisez forceCloseHandlesSegment() pour fermer tous les handles.
Retours
Promise<DirectoryForceCloseHandlesResponse>
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 :
const directoryClient = shareClient.getDirectoryClient("<directory name>");
await directoryClient.create();
console.log("Created directory successfully");
getFileClient(string)
Crée un objet ShareFileClient .
function getFileClient(fileName: string): ShareFileClient
Paramètres
- fileName
-
string
Nom d'un fichier.
Retours
Nouvel objet ShareFileClient pour le nom de fichier donné.
Exemple d’utilisation :
const content = "Hello world!"
const fileClient = directoryClient.getFileClient("<file name>");
await fileClient.create(content.length);
console.log("Created file successfully!");
await fileClient.uploadRange(content, 0, content.length);
console.log("Updated file successfully!")
getProperties(DirectoryGetPropertiesOptions)
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 renvoyées n'incluent pas les fichiers figurant dans le répertoire ou ses sous-répertoires.
Voir https://docs.microsoft.com/en-us/rest/api/storageservices/get-directory-properties
function getProperties(options?: DirectoryGetPropertiesOptions): Promise<DirectoryGetPropertiesResponse>
Paramètres
- options
- DirectoryGetPropertiesOptions
Options de l’opération Obtenir les propriétés de l’annuaire.
Retours
Promise<DirectoryGetPropertiesResponse>
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 la for await
syntaxe :
let i = 1;
for await (const entity of directoryClient.listFilesAndDirectories()) {
if (entity.kind === "directory") {
console.log(`${i++} - directory\t: ${entity.name}`);
} else {
console.log(`${i++} - file\t: ${entity.name}`);
}
}
Exemple utilisant iter.next()
:
let i = 1;
let iter = directoryClient.listFilesAndDirectories();
let entity = await iter.next();
while (!entity.done) {
if (entity.value.kind === "directory") {
console.log(`${i++} - directory\t: ${entity.value.name}`);
} else {
console.log(`${i++} - file\t: ${entity.value.name}`);
}
entity = await iter.next();
}
Exemple utilisant byPage()
:
// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of directoryClient
.listFilesAndDirectories()
.byPage({ maxPageSize: 20 })) {
for (const fileItem of response.segment.fileItems) {
console.log(`${i++} - file\t: ${fileItem.name}`);
}
for (const dirItem of response.segment.directoryItems) {
console.log(`${i++} - directory\t: ${dirItem.name}`);
}
}
Exemple d’utilisation de la pagination avec un marqueur :
let i = 1;
let iterator = directoryClient.listFilesAndDirectories().byPage({ maxPageSize: 3 });
let response = (await iterator.next()).value;
// Prints 3 file and directory names
for (const fileItem of response.segment.fileItems) {
console.log(`${i++} - file\t: ${fileItem.name}`);
}
for (const dirItem of response.segment.directoryItems) {
console.log(`${i++} - directory\t: ${dirItem.name}`);
}
// Gets next marker
let dirMarker = response.continuationToken;
// Passing next marker as continuationToken
iterator = directoryClient
.listFilesAndDirectories()
.byPage({ continuationToken: dirMarker, maxPageSize: 4 });
response = (await iterator.next()).value;
// Prints 10 file and directory names
for (const fileItem of response.segment.fileItems) {
console.log(`${i++} - file\t: ${fileItem.name}`);
}
for (const dirItem of response.segment.directoryItems) {
console.log(`${i++} - directory\t: ${dirItem.name}`);
}
function listFilesAndDirectories(options?: DirectoryListFilesAndDirectoriesOptions): PagedAsyncIterableIterator<({ kind: "file" } & FileItem) | ({ kind: "directory" } & DirectoryItem), DirectoryListFilesAndDirectoriesSegmentResponse, PageSettings>
Paramètres
Options d’opération de liste des fichiers et des répertoires.
Retours
PagedAsyncIterableIterator<({ kind: "file" } & FileItem) | ({ kind: "directory" } & DirectoryItem), DirectoryListFilesAndDirectoriesSegmentResponse, PageSettings>
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 la for await
syntaxe :
let i = 1;
let iter = dirClient.listHandles();
for await (const handle of iter) {
console.log(`Handle ${i++}: ${handle.path}, opened time ${handle.openTime}, clientIp ${handle.clientIp}`);
}
Exemple utilisant iter.next()
:
let i = 1;
let iter = dirClient.listHandles();
let handleItem = await iter.next();
while (!handleItem.done) {
console.log(`Handle ${i++}: ${handleItem.value.path}, opened time ${handleItem.value.openTime}, clientIp ${handleItem.value.clientIp}`);
handleItem = await iter.next();
}
Exemple utilisant byPage()
:
// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of dirClient.listHandles({ recursive: true }).byPage({ maxPageSize: 20 })) {
if (response.handleList) {
for (const handle of response.handleList) {
console.log(`Handle ${i++}: ${handle.path}, opened time ${handle.openTime}, clientIp ${handle.clientIp}`);
}
}
}
Exemple d’utilisation de la pagination avec un marqueur :
let i = 1;
let iterator = dirClient.listHandles().byPage({ maxPageSize: 2 });
let response = await iterator.next();
// Prints 2 handles
if (response.value.handleList) {
for (const handle of response.value.handleList) {
console.log(`Handle ${i++}: ${handle.path}, opened time ${handle.openTime}, clientIp ${handle.clientIp}`);
}
}
// Gets next marker
let marker = response.value.continuationToken;
// Passing next marker as continuationToken
console.log(` continuation`);
iterator = dirClient.listHandles().byPage({ continuationToken: marker, maxPageSize: 10 });
response = await iterator.next();
// Prints 2 more handles assuming you have more than four directory/files opened
if (!response.done && response.value.handleList) {
for (const handle of response.value.handleList) {
console.log(`Handle ${i++}: ${handle.path}, opened time ${handle.openTime}, clientIp ${handle.clientIp}`);
}
}
function listHandles(options?: DirectoryListHandlesOptions): PagedAsyncIterableIterator<HandleItem, DirectoryListHandlesResponse, PageSettings>
Paramètres
- options
- DirectoryListHandlesOptions
Options pour répertorier l’opération de handles.
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 sera encodé à placer dans une URL pour spécifier la destination.
- options
- DirectoryRenameOptions
Options pour l’opération de renommage.
Retours
Promise<{ destinationDirectoryClient: ShareDirectoryClient, directoryRenameResponse: DirectoryRenameResponse }>
Données de réponse pour l’opération de renommage de fichier.
Exemple d’utilisation :
// Rename the directory
await diretoryClient.rename(destinationPath);
console.log("Renamed directory successfully!");
setMetadata(Metadata, DirectorySetMetadataOptions)
Mises à jour métadonnées définies par l’utilisateur pour le répertoire spécifié.
Voir https://docs.microsoft.com/en-us/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 d’annuaire existantes sont supprimées
- options
- DirectorySetMetadataOptions
Options de l’opération d’ensemble de métadonnées d’annuaire.
Retours
Promise<DirectorySetMetadataResponse>
Données de réponse pour l’opération de métadonnées d’ensemble d’annuaires.
setProperties(DirectoryProperties)
Définit les propriétés du répertoire.
Voir https://docs.microsoft.com/en-us/rest/api/storageservices/set-directory-properties
function setProperties(properties?: DirectoryProperties): Promise<DirectorySetPropertiesResponse>
Paramètres
- properties
- DirectoryProperties
Retours
Promise<DirectorySetPropertiesResponse>