Freigeben über


ShareDirectoryClient class

Ein ShareDirectoryClient stellt eine URL zum Azure Storage-Verzeichnis dar, mit der Sie seine Dateien und Verzeichnisse bearbeiten können.

Extends

Konstruktoren

ShareDirectoryClient(string, Credential_2, StoragePipelineOptions)

Erstellt eine Instanz von DirectoryClient.

ShareDirectoryClient(string, Pipeline)

Erstellt eine Instanz von DirectoryClient.

Eigenschaften

name

Der Name des Verzeichnisses

path

Der vollständige Pfad des Verzeichnisses

shareName

Der Freigabename, der diesem Verzeichnisclient entspricht

Geerbte Eigenschaften

accountName
url

URL-Zeichenfolgenwert.

Methoden

create(DirectoryCreateOptions)

Erstellt ein neues Verzeichnis unter dem angegebenen Freigabe- oder übergeordneten Verzeichnis.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory.

createFile(string, number, FileCreateOptions)

Erstellt eine neue Datei oder ersetzt eine Datei unter diesem Verzeichnis. Beachten Sie, dass die Datei nur ohne Inhalt initialisiert wird.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/create-file

createIfNotExists(DirectoryCreateOptions)

Erstellt ein neues Verzeichnis unter der angegebenen Freigabe oder dem angegebenen übergeordneten Verzeichnis, sofern es noch nicht vorhanden ist. Wenn das Verzeichnis bereits vorhanden ist, wird es nicht geändert.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory.

createSubdirectory(string, DirectoryCreateOptions)

Erstellt ein neues Unterverzeichnis unter diesem Verzeichnis.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory.

delete(DirectoryDeleteOptions)

Entfernt das angegebene leere Verzeichnis. Beachten Sie, dass das Verzeichnis leer sein muss, es kann sonst nicht gelöscht werden.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory.

deleteFile(string, FileDeleteOptions)

Entfernt die angegebene Datei unter diesem Verzeichnis aus dem Speicherkonto. Beim erfolgreichen Löschen einer Datei wird diese sofort aus dem Index des Speicherkontos entfernt, und Clients haben keinen Zugriff mehr darauf. Die Daten der Datei werden später während der automatischen Speicherbereinigung aus dem Dienst entfernt. Datei löschen schlägt mit dem Statuscode 409 (Konflikt) und dem Fehlercode SharingViolation fehl, wenn die Datei auf einem SMB-Client geöffnet ist.

Datei löschen wird für eine Freigabemomentaufnahme, die eine schreibgeschützte Kopie einer Freigabe ist, nicht unterstützt. Ein Versuch, diesen Vorgang für eine Freigabemomentaufnahme auszuführen, schlägt mit 400 fehl (InvalidQueryParameterValue).

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/delete-file2.

deleteIfExists(DirectoryDeleteOptions)

Entfernt das angegebene leere Verzeichnis, sofern vorhanden. Beachten Sie, dass das Verzeichnis leer sein muss, es kann sonst nicht gelöscht werden.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory.

deleteSubdirectory(string, DirectoryDeleteOptions)

Entfernt das angegebene leere Unterverzeichnis unter diesem Verzeichnis. Beachten Sie, dass das Verzeichnis leer sein muss, es kann sonst nicht gelöscht werden.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory.

exists(DirectoryExistsOptions)

Gibt true zurück, wenn das angegebene Verzeichnis vorhanden ist. false andernfalls. HINWEIS: Verwenden Sie diese Funktion mit Sorgfalt, da ein vorhandenes Verzeichnis möglicherweise von anderen Clients oder Anwendungen gelöscht wird. Umgekehrt können neue Verzeichnisse von anderen Clients oder Anwendungen hinzugefügt werden, nachdem diese Funktion abgeschlossen ist.

forceCloseAllHandles(DirectoryForceCloseHandlesSegmentOptions)

Erzwingen Sie das Schließen aller Handles für ein Verzeichnis.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles.

forceCloseHandle(string, DirectoryForceCloseHandlesOptions)

Erzwingen Sie das Schließen eines bestimmten Handles für ein Verzeichnis.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles.

getDirectoryClient(string)

Erstellt ein ShareDirectoryClient-Objekt für ein Unterverzeichnis.

getFileClient(string)

Erstellt ein ShareFileClient-Objekt.

getProperties(DirectoryGetPropertiesOptions)

Gibt alle Systemeigenschaften für das angegebene Verzeichnis zurück und kann auch verwendet werden, um das Vorhandensein eines Verzeichnisses zu überprüfen. Die zurückgegebenen Daten enthalten keine Dateien aus dem Verzeichnis oder den Unterverzeichnissen.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/get-directory-properties.

listFilesAndDirectories(DirectoryListFilesAndDirectoriesOptions)

Gibt einen asynchronen iterierbaren Iterator zurück, um alle Dateien und Verzeichnisse unter dem angegebenen Konto aufzulisten. .byPage() gibt einen asynchronen iterierbaren Iterator zurück, um die Dateien und Verzeichnisse auf Seiten aufzulisten.

Beispiel für die Verwendung von for await Syntax:

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

Beispiel für die Verwendung von 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();
}

Beispiel für die Verwendung von 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}`);
  }
}

Beispiel für die Verwendung von Paging mit einem Marker:

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

Gibt einen asynchronen iterierbaren Iterator zurück, um alle Handles aufzulisten. unter dem angegebenen Konto. .byPage() gibt einen asynchronen iterierbaren Iterator zurück, um die Handles in Seiten aufzulisten.

Beispiel für die Verwendung von for await Syntax:

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

Beispiel für die Verwendung von 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();
}

Beispiel für die Verwendung von 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}`);
    }
  }
}

Beispiel für die Verwendung von Paging mit einem Marker:

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

Benennt ein Verzeichnis um. Diese API unterstützt nur das Umbenennen eines Verzeichnisses in derselben Freigabe.

setMetadata(Metadata, DirectorySetMetadataOptions)

Aktualisierungen benutzerdefinierte Metadaten für das angegebene Verzeichnis.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/set-directory-metadata.

setProperties(DirectoryProperties)

Legt Eigenschaften für das Verzeichnis fest.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/set-directory-properties.

Details zum Konstruktor

ShareDirectoryClient(string, Credential_2, StoragePipelineOptions)

Erstellt eine Instanz von DirectoryClient.

new ShareDirectoryClient(url: string, credential?: Credential_2, options?: StoragePipelineOptions)

Parameter

url

string

Eine URL-Zeichenfolge, die auf das Azure Storage-Dateiverzeichnis verweist, z. B. "https://myaccount.file.core.windows.net/myshare/mydirectory"". Sie können eine SAS anfügen, wenn Sie AnonymousCredential verwenden, z. B. "https://myaccount.file.core.windows.net/myshare/mydirectory?sasString"". Diese Methode akzeptiert eine codierte URL oder nicht codierte URL, die auf ein Verzeichnis verweist. Die codierte URL-Zeichenfolge wird NICHT zweimal escaped, nur Sonderzeichen im URL-Pfad werden mit Escapezeichen versehen. Wenn ein Verzeichnisname jedoch %enthält, muss der Verzeichnisname in der URL codiert werden. Beispielsweise in einem Verzeichnis mit dem Namen "mydir%", sollte die URL "https://myaccount.file.core.windows.net/myshare/mydir%25"" sein.

credential
Credential_2

Z. B. AnonymousCredential oder StorageSharedKeyCredential. Falls nicht angegeben, wird AnonymousCredential verwendet.

options
StoragePipelineOptions

Dies ist optional. Optionen zum Konfigurieren der HTTP-Pipeline.

ShareDirectoryClient(string, Pipeline)

Erstellt eine Instanz von DirectoryClient.

new ShareDirectoryClient(url: string, pipeline: Pipeline)

Parameter

url

string

Eine URL-Zeichenfolge, die auf das Azure Storage-Dateiverzeichnis verweist, z. B. "https://myaccount.file.core.windows.net/myshare/mydirectory"". Sie können eine SAS anfügen, wenn Sie AnonymousCredential verwenden, z. B. "https://myaccount.file.core.windows.net/myshare/mydirectory?sasString"". Diese Methode akzeptiert eine codierte URL oder nicht codierte URL, die auf ein Verzeichnis verweist. Die codierte URL-Zeichenfolge wird NICHT zweimal escaped, nur Sonderzeichen im URL-Pfad werden mit Escapezeichen versehen. Wenn ein Verzeichnisname jedoch %enthält, muss der Verzeichnisname in der URL codiert werden. Beispielsweise in einem Verzeichnis mit dem Namen "mydir%", sollte die URL "https://myaccount.file.core.windows.net/myshare/mydir%25"" sein.

pipeline
Pipeline

Rufen Sie newPipeline() auf, um eine Standardpipeline zu erstellen oder eine angepasste Pipeline bereitzustellen.

Details zur Eigenschaft

name

Der Name des Verzeichnisses

string name

Eigenschaftswert

string

path

Der vollständige Pfad des Verzeichnisses

string path

Eigenschaftswert

string

shareName

Der Freigabename, der diesem Verzeichnisclient entspricht

string shareName

Eigenschaftswert

string

Geerbte Eigenschaftsdetails

accountName

accountName: string

Eigenschaftswert

string

Geerbt vonStorageClient.accountName

url

URL-Zeichenfolgenwert.

url: string

Eigenschaftswert

string

Geerbt vonStorageClient.url

Details zur Methode

create(DirectoryCreateOptions)

Erstellt ein neues Verzeichnis unter dem angegebenen Freigabe- oder übergeordneten Verzeichnis.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory.

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

Parameter

options
DirectoryCreateOptions

Optionen zum Verzeichniserstellungsvorgang.

Gibt zurück

Antwortdaten für den Verzeichnisvorgang.

createFile(string, number, FileCreateOptions)

Erstellt eine neue Datei oder ersetzt eine Datei unter diesem Verzeichnis. Beachten Sie, dass die Datei nur ohne Inhalt initialisiert wird.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/create-file

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

Parameter

fileName

string

size

number

Gibt die maximale Größe in Bytes für die Datei an, bis zu 4 TB.

options
FileCreateOptions

Optionen zum Dateierstellungsvorgang.

Gibt zurück

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

Antwortdaten zur Dateierstellung und den entsprechenden Dateiclient.

createIfNotExists(DirectoryCreateOptions)

Erstellt ein neues Verzeichnis unter der angegebenen Freigabe oder dem angegebenen übergeordneten Verzeichnis, sofern es noch nicht vorhanden ist. Wenn das Verzeichnis bereits vorhanden ist, wird es nicht geändert.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory.

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

Parameter

Gibt zurück

createSubdirectory(string, DirectoryCreateOptions)

Erstellt ein neues Unterverzeichnis unter diesem Verzeichnis.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory.

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

Parameter

directoryName

string

options
DirectoryCreateOptions

Optionen zum Verzeichniserstellungsvorgang.

Gibt zurück

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

Verzeichnis erstellt Antwortdaten und die entsprechende DirectoryClient-Instanz.

delete(DirectoryDeleteOptions)

Entfernt das angegebene leere Verzeichnis. Beachten Sie, dass das Verzeichnis leer sein muss, es kann sonst nicht gelöscht werden.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory.

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

Parameter

options
DirectoryDeleteOptions

Optionen zum Verzeichnislöschvorgang.

Gibt zurück

Antwortdaten für den Verzeichnislöschvorgang.

deleteFile(string, FileDeleteOptions)

Entfernt die angegebene Datei unter diesem Verzeichnis aus dem Speicherkonto. Beim erfolgreichen Löschen einer Datei wird diese sofort aus dem Index des Speicherkontos entfernt, und Clients haben keinen Zugriff mehr darauf. Die Daten der Datei werden später während der automatischen Speicherbereinigung aus dem Dienst entfernt. Datei löschen schlägt mit dem Statuscode 409 (Konflikt) und dem Fehlercode SharingViolation fehl, wenn die Datei auf einem SMB-Client geöffnet ist.

Datei löschen wird für eine Freigabemomentaufnahme, die eine schreibgeschützte Kopie einer Freigabe ist, nicht unterstützt. Ein Versuch, diesen Vorgang für eine Freigabemomentaufnahme auszuführen, schlägt mit 400 fehl (InvalidQueryParameterValue).

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/delete-file2.

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

Parameter

fileName

string

Name der zu löschenden Datei

options
FileDeleteOptions

Optionen zum Dateilöschvorgang.

Gibt zurück

Antwortdaten zum Löschen von Dateien.

deleteIfExists(DirectoryDeleteOptions)

Entfernt das angegebene leere Verzeichnis, sofern vorhanden. Beachten Sie, dass das Verzeichnis leer sein muss, es kann sonst nicht gelöscht werden.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory.

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

Parameter

Gibt zurück

deleteSubdirectory(string, DirectoryDeleteOptions)

Entfernt das angegebene leere Unterverzeichnis unter diesem Verzeichnis. Beachten Sie, dass das Verzeichnis leer sein muss, es kann sonst nicht gelöscht werden.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory.

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

Parameter

directoryName

string

options
DirectoryDeleteOptions

Optionen zum Verzeichnislöschvorgang.

Gibt zurück

Antwortdaten zum Löschen von Verzeichnissen.

exists(DirectoryExistsOptions)

Gibt true zurück, wenn das angegebene Verzeichnis vorhanden ist. false andernfalls. HINWEIS: Verwenden Sie diese Funktion mit Sorgfalt, da ein vorhandenes Verzeichnis möglicherweise von anderen Clients oder Anwendungen gelöscht wird. Umgekehrt können neue Verzeichnisse von anderen Clients oder Anwendungen hinzugefügt werden, nachdem diese Funktion abgeschlossen ist.

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

Parameter

options
DirectoryExistsOptions

Options to Exists-Vorgang.

Gibt zurück

Promise<boolean>

forceCloseAllHandles(DirectoryForceCloseHandlesSegmentOptions)

Erzwingen Sie das Schließen aller Handles für ein Verzeichnis.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles.

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

Parameter

Gibt zurück

Promise<CloseHandlesInfo>

forceCloseHandle(string, DirectoryForceCloseHandlesOptions)

Erzwingen Sie das Schließen eines bestimmten Handles für ein Verzeichnis.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles.

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

Parameter

handleId

string

Die spezifische Handle-ID darf kein Sternchen "*" sein. Verwenden Sie forceCloseHandlesSegment(), um alle Handles zu schließen.

Gibt zurück

getDirectoryClient(string)

Erstellt ein ShareDirectoryClient-Objekt für ein Unterverzeichnis.

function getDirectoryClient(subDirectoryName: string): ShareDirectoryClient

Parameter

subDirectoryName

string

Ein Unterverzeichnisname

Gibt zurück

Das ShareDirectoryClient-Objekt für den angegebenen Unterverzeichnisnamen.

Beispielverwendung:

const directoryClient = shareClient.getDirectoryClient("<directory name>");
await directoryClient.create();
console.log("Created directory successfully");

getFileClient(string)

Erstellt ein ShareFileClient-Objekt.

function getFileClient(fileName: string): ShareFileClient

Parameter

fileName

string

Ein Dateiname.

Gibt zurück

Ein neues ShareFileClient-Objekt für den angegebenen Dateinamen.

Beispielverwendung:

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)

Gibt alle Systemeigenschaften für das angegebene Verzeichnis zurück und kann auch verwendet werden, um das Vorhandensein eines Verzeichnisses zu überprüfen. Die zurückgegebenen Daten enthalten keine Dateien aus dem Verzeichnis oder den Unterverzeichnissen.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/get-directory-properties.

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

Parameter

options
DirectoryGetPropertiesOptions

Optionen für den Vorgang "Verzeichniseigenschaften abrufen".

Gibt zurück

Antwortdaten für den Vorgang Verzeichniseigenschaften abrufen.

listFilesAndDirectories(DirectoryListFilesAndDirectoriesOptions)

Gibt einen asynchronen iterierbaren Iterator zurück, um alle Dateien und Verzeichnisse unter dem angegebenen Konto aufzulisten. .byPage() gibt einen asynchronen iterierbaren Iterator zurück, um die Dateien und Verzeichnisse auf Seiten aufzulisten.

Beispiel für die Verwendung von for await Syntax:

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

Beispiel für die Verwendung von 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();
}

Beispiel für die Verwendung von 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}`);
  }
}

Beispiel für die Verwendung von Paging mit einem Marker:

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>

Parameter

options
DirectoryListFilesAndDirectoriesOptions

Optionen zum Auflisten von Dateien und Verzeichnissen.

Gibt zurück

PagedAsyncIterableIterator<({ kind: "file" } & FileItem) | ({ kind: "directory" } & DirectoryItem), DirectoryListFilesAndDirectoriesSegmentResponse>

Ein asyncIterableIterator, der Paging unterstützt.

listHandles(DirectoryListHandlesOptions)

Gibt einen asynchronen iterierbaren Iterator zurück, um alle Handles aufzulisten. unter dem angegebenen Konto. .byPage() gibt einen asynchronen iterierbaren Iterator zurück, um die Handles in Seiten aufzulisten.

Beispiel für die Verwendung von for await Syntax:

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

Beispiel für die Verwendung von 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();
}

Beispiel für die Verwendung von 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}`);
    }
  }
}

Beispiel für die Verwendung von Paging mit einem Marker:

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>

Parameter

options
DirectoryListHandlesOptions

Optionen zum Auflisten des Handles-Vorgangs.

Ein asyncIterableIterator, der Paging unterstützt.

Gibt zurück

PagedAsyncIterableIterator<HandleItem, DirectoryListHandlesResponse>

rename(string, DirectoryRenameOptions)

Benennt ein Verzeichnis um. Diese API unterstützt nur das Umbenennen eines Verzeichnisses in derselben Freigabe.

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

Parameter

destinationPath

string

Gibt den Zielpfad an, in den umbenannt werden soll. Der Pfad wird so codiert, dass er in eine URL eingefügt wird, um das Ziel anzugeben.

options
DirectoryRenameOptions

Optionen für den Umbenennungsvorgang.

Gibt zurück

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

Antwortdaten für den Dateiumbenennungsvorgang.

Beispielverwendung:


// Rename the directory
await diretoryClient.rename(destinationPath);
console.log("Renamed directory successfully!");

setMetadata(Metadata, DirectorySetMetadataOptions)

Aktualisierungen benutzerdefinierte Metadaten für das angegebene Verzeichnis.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/set-directory-metadata.

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

Parameter

metadata
Metadata

Wenn keine Metadaten angegeben werden, werden alle vorhandenen Verzeichnismetadaten entfernt.

options
DirectorySetMetadataOptions

Optionen zum Verzeichnissatzmetadatenvorgang.

Gibt zurück

Antwortdaten für den Vorgang Verzeichnissatzmetadaten.

setProperties(DirectoryProperties)

Legt Eigenschaften für das Verzeichnis fest.

Siehe https://docs.microsoft.com/en-us/rest/api/storageservices/set-directory-properties.

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

Parameter

properties
DirectoryProperties

Gibt zurück