ShareDirectoryClient class
Um ShareDirectoryClient representa um URL para o diretório do Armazenamento do Azure, permitindo-lhe manipular os respetivos ficheiros e diretórios.
- Extends
Construtores
Share |
Cria uma instância do DirectoryClient. |
Share |
Cria uma instância do DirectoryClient. |
Propriedades
name | O nome do diretório |
path | O caminho completo do diretório |
share |
O nome da partilha correspondente a este cliente de diretório |
Propriedades Herdadas
account |
|
url | Valor da cadeia de URL. |
Métodos
create(Directory |
Cria um novo diretório no diretório de partilha ou principal especificado. Veja https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory |
create |
Cria um novo ficheiro ou substitui um ficheiro neste diretório. Tenha em atenção que apenas inicializa o ficheiro sem conteúdo. Veja https://docs.microsoft.com/en-us/rest/api/storageservices/create-file |
create |
Cria um novo diretório no diretório de partilha ou principal especificado se ainda não existir. Se o diretório já existir, não será modificado. Veja https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory |
create |
Cria um novo subdiretório neste diretório. Veja https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory |
delete(Directory |
Remove o diretório vazio especificado. Tenha em atenção que o diretório tem de estar vazio antes de poder ser eliminado. Veja https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory |
delete |
Remove o ficheiro especificado neste diretório da conta de armazenamento. Quando um ficheiro é eliminado com êxito, é imediatamente removido do índice da conta de armazenamento e já não está acessível aos clientes. Os dados do ficheiro são posteriormente removidos do serviço durante a recolha do lixo. Eliminar Ficheiro falhará com o código de estado 409 (Conflito) e o código de erro SharingViolation se o ficheiro estiver aberto num cliente SMB. Eliminar Ficheiro não é suportado num instantâneo de partilha, que é uma cópia só de leitura de uma partilha. Uma tentativa de executar esta operação num instantâneo de partilha falhará com 400 (InvalidQueryParameterValue) Veja https://docs.microsoft.com/en-us/rest/api/storageservices/delete-file2 |
delete |
Remove o diretório vazio especificado se existir. Tenha em atenção que o diretório tem de estar vazio antes de poder ser eliminado. Veja https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory |
delete |
Remove o subdiretório vazio especificado neste diretório. Tenha em atenção que o diretório tem de estar vazio antes de poder ser eliminado. Veja https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory |
exists(Directory |
Devolve verdadeiro se o diretório especificado existir; falso de outra forma. NOTA: utilize esta função com cuidado, uma vez que um diretório existente pode ser eliminado por outros clientes ou aplicações. Os novos diretórios vice-versa podem ser adicionados por outros clientes ou aplicações após a conclusão desta função. |
force |
Forçar fechar todas as alças de um diretório. Veja https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles |
force |
Forçar a fecho de uma alça específica para um diretório. Veja https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles |
get |
Cria um objeto ShareDirectoryClient para um subdiretório. |
get |
Cria um ShareFileClient objeto. |
get |
Devolve todas as propriedades do sistema para o diretório especificado e também pode ser utilizado para verificar a existência de um diretório. Os dados devolvidos não incluem os ficheiros no diretório ou subdiretórios. Veja https://docs.microsoft.com/en-us/rest/api/storageservices/get-directory-properties |
list |
Devolve um iterador iterável assíncrono para listar todos os ficheiros e diretórios na conta especificada. .byPage() devolve um iterador iterável assíncrono para listar os ficheiros e diretórios em páginas. Exemplo com
Exemplo com
Exemplo com
Exemplo a utilizar a paginação com um marcador:
|
list |
Devolve um iterador iterável assíncrono para listar todos os identificadores. na conta especificada. .byPage() devolve um iterador iterável assíncrono para listar os identificadores nas páginas. Exemplo com
Exemplo com
Exemplo com
Exemplo a utilizar a paginação com um marcador:
|
rename(string, Directory |
Muda o nome de um diretório. Esta API só suporta mudar o nome de um diretório na mesma partilha. |
set |
Atualizações metadados definidos pelo utilizador para o diretório especificado. Veja https://docs.microsoft.com/en-us/rest/api/storageservices/set-directory-metadata |
set |
Define as propriedades no diretório. Veja https://docs.microsoft.com/en-us/rest/api/storageservices/set-directory-properties |
Detalhes do Construtor
ShareDirectoryClient(string, Credential_2, StoragePipelineOptions)
Cria uma instância do DirectoryClient.
new ShareDirectoryClient(url: string, credential?: Credential_2, options?: StoragePipelineOptions)
Parâmetros
- url
-
string
Uma cadeia de URL a apontar para o diretório de ficheiros do Armazenamento do Azure, como "https://myaccount.file.core.windows.net/myshare/mydirectory". Pode acrescentar uma SAS se utilizar AnonymousCredential, como "https://myaccount.file.core.windows.net/myshare/mydirectory?sasString". Este método aceita um URL codificado ou um URL não codificado que aponta para um diretório. A cadeia de URL codificada NÃO será escapada duas vezes, apenas os carateres especiais no caminho do URL serão escapados. No entanto, se um nome de diretório incluir %, o nome do diretório tem de ser codificado no URL. Tal como um diretório com o nome "mydir%", o URL deve ser "https://myaccount.file.core.windows.net/myshare/mydir%25".
- credential
- Credential_2
Como AnonymousCredential ou StorageSharedKeyCredential. Se não for especificado, é utilizado AnonymousCredential.
- options
- StoragePipelineOptions
Opcional. Opções para configurar o pipeline HTTP.
ShareDirectoryClient(string, Pipeline)
Cria uma instância do DirectoryClient.
new ShareDirectoryClient(url: string, pipeline: Pipeline)
Parâmetros
- url
-
string
Uma cadeia de URL a apontar para o diretório de ficheiros do Armazenamento do Azure, como "https://myaccount.file.core.windows.net/myshare/mydirectory". Pode acrescentar uma SAS se utilizar AnonymousCredential, como "https://myaccount.file.core.windows.net/myshare/mydirectory?sasString". Este método aceita um URL codificado ou um URL não codificado que aponta para um diretório. A cadeia de URL codificada NÃO será escapada duas vezes, apenas os carateres especiais no caminho do URL serão escapados. No entanto, se um nome de diretório incluir %, o nome do diretório tem de ser codificado no URL. Tal como um diretório com o nome "mydir%", o URL deve ser "https://myaccount.file.core.windows.net/myshare/mydir%25".
- pipeline
- Pipeline
Chame newPipeline() para criar um pipeline predefinido ou forneça um pipeline personalizado.
Detalhes de Propriedade
name
O nome do diretório
string name
Valor de Propriedade
string
path
O caminho completo do diretório
string path
Valor de Propriedade
string
shareName
O nome da partilha correspondente a este cliente de diretório
string shareName
Valor de Propriedade
string
Detalhes da Propriedade Herdada
accountName
url
Detalhes de Método
create(DirectoryCreateOptions)
Cria um novo diretório no diretório de partilha ou principal especificado.
Veja https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory
function create(options?: DirectoryCreateOptions): Promise<DirectoryCreateResponse>
Parâmetros
- options
- DirectoryCreateOptions
Opções para a operação de Criação de Diretórios.
Devoluções
Promise<DirectoryCreateResponse>
Dados de resposta para a operação diretório.
createFile(string, number, FileCreateOptions)
Cria um novo ficheiro ou substitui um ficheiro neste diretório. Tenha em atenção que apenas inicializa o ficheiro sem conteúdo.
Veja https://docs.microsoft.com/en-us/rest/api/storageservices/create-file
function createFile(fileName: string, size: number, options?: FileCreateOptions): Promise<{ fileClient: ShareFileClient, fileCreateResponse: FileCreateResponse }>
Parâmetros
- fileName
-
string
- size
-
number
Especifica o tamanho máximo em bytes para o ficheiro, até 4 TB.
- options
- FileCreateOptions
Opções para a operação de Criação de Ficheiros.
Devoluções
Promise<{ fileClient: ShareFileClient, fileCreateResponse: FileCreateResponse }>
Dados de resposta de criação de ficheiros e o cliente de ficheiro correspondente.
createIfNotExists(DirectoryCreateOptions)
Cria um novo diretório no diretório de partilha ou principal especificado se ainda não existir. Se o diretório já existir, não será modificado.
Veja https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory
function createIfNotExists(options?: DirectoryCreateOptions): Promise<DirectoryCreateIfNotExistsResponse>
Parâmetros
- options
- DirectoryCreateOptions
Devoluções
Promise<DirectoryCreateIfNotExistsResponse>
createSubdirectory(string, DirectoryCreateOptions)
Cria um novo subdiretório neste diretório.
Veja https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory
function createSubdirectory(directoryName: string, options?: DirectoryCreateOptions): Promise<{ directoryClient: ShareDirectoryClient, directoryCreateResponse: DirectoryCreateResponse }>
Parâmetros
- directoryName
-
string
- options
- DirectoryCreateOptions
Opções para a operação de Criação de Diretórios.
Devoluções
Promise<{ directoryClient: ShareDirectoryClient, directoryCreateResponse: DirectoryCreateResponse }>
O diretório cria dados de resposta e a instância directoryClient correspondente.
delete(DirectoryDeleteOptions)
Remove o diretório vazio especificado. Tenha em atenção que o diretório tem de estar vazio antes de poder ser eliminado.
Veja https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory
function delete(options?: DirectoryDeleteOptions): Promise<DirectoryDeleteResponse>
Parâmetros
- options
- DirectoryDeleteOptions
Opções para a operação de Eliminação de Diretórios.
Devoluções
Promise<DirectoryDeleteResponse>
Dados de resposta para a operação Eliminação de Diretórios.
deleteFile(string, FileDeleteOptions)
Remove o ficheiro especificado neste diretório da conta de armazenamento. Quando um ficheiro é eliminado com êxito, é imediatamente removido do índice da conta de armazenamento e já não está acessível aos clientes. Os dados do ficheiro são posteriormente removidos do serviço durante a recolha do lixo. Eliminar Ficheiro falhará com o código de estado 409 (Conflito) e o código de erro SharingViolation se o ficheiro estiver aberto num cliente SMB.
Eliminar Ficheiro não é suportado num instantâneo de partilha, que é uma cópia só de leitura de uma partilha. Uma tentativa de executar esta operação num instantâneo de partilha falhará com 400 (InvalidQueryParameterValue)
Veja https://docs.microsoft.com/en-us/rest/api/storageservices/delete-file2
function deleteFile(fileName: string, options?: FileDeleteOptions): Promise<FileDeleteResponse>
Parâmetros
- fileName
-
string
Nome do ficheiro a eliminar
- options
- FileDeleteOptions
Opções para a operação de Eliminação de Ficheiros.
Devoluções
Promise<FileDeleteResponse>
Dados de resposta de eliminação de ficheiros.
deleteIfExists(DirectoryDeleteOptions)
Remove o diretório vazio especificado se existir. Tenha em atenção que o diretório tem de estar vazio antes de poder ser eliminado.
Veja https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory
function deleteIfExists(options?: DirectoryDeleteOptions): Promise<DirectoryDeleteIfExistsResponse>
Parâmetros
- options
- DirectoryDeleteOptions
Devoluções
Promise<DirectoryDeleteIfExistsResponse>
deleteSubdirectory(string, DirectoryDeleteOptions)
Remove o subdiretório vazio especificado neste diretório. Tenha em atenção que o diretório tem de estar vazio antes de poder ser eliminado.
Veja https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory
function deleteSubdirectory(directoryName: string, options?: DirectoryDeleteOptions): Promise<DirectoryDeleteResponse>
Parâmetros
- directoryName
-
string
- options
- DirectoryDeleteOptions
Opções para a operação de Eliminação de Diretórios.
Devoluções
Promise<DirectoryDeleteResponse>
Dados de resposta de eliminação de diretórios.
exists(DirectoryExistsOptions)
Devolve verdadeiro se o diretório especificado existir; falso de outra forma. NOTA: utilize esta função com cuidado, uma vez que um diretório existente pode ser eliminado por outros clientes ou aplicações. Os novos diretórios vice-versa podem ser adicionados por outros clientes ou aplicações após a conclusão desta função.
function exists(options?: DirectoryExistsOptions): Promise<boolean>
Parâmetros
- options
- DirectoryExistsOptions
opções para a operação Existe.
Devoluções
Promise<boolean>
forceCloseAllHandles(DirectoryForceCloseHandlesSegmentOptions)
Forçar fechar todas as alças de um diretório.
Veja https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles
function forceCloseAllHandles(options?: DirectoryForceCloseHandlesSegmentOptions): Promise<CloseHandlesInfo>
Parâmetros
Devoluções
Promise<CloseHandlesInfo>
forceCloseHandle(string, DirectoryForceCloseHandlesOptions)
Forçar a fecho de uma alça específica para um diretório.
Veja https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles
function forceCloseHandle(handleId: string, options?: DirectoryForceCloseHandlesOptions): Promise<DirectoryForceCloseHandlesResponse>
Parâmetros
- handleId
-
string
ID de identificador específico, não pode ser asterisco "*". Utilize forceCloseHandlesSegment() para fechar todas as alças.
Devoluções
Promise<DirectoryForceCloseHandlesResponse>
getDirectoryClient(string)
Cria um objeto ShareDirectoryClient para um subdiretório.
function getDirectoryClient(subDirectoryName: string): ShareDirectoryClient
Parâmetros
- subDirectoryName
-
string
Um nome de subdiretório
Devoluções
O objeto ShareDirectoryClient para o nome do subdiretório especificado.
Utilização de exemplo:
const directoryClient = shareClient.getDirectoryClient("<directory name>");
await directoryClient.create();
console.log("Created directory successfully");
getFileClient(string)
Cria um ShareFileClient objeto.
function getFileClient(fileName: string): ShareFileClient
Parâmetros
- fileName
-
string
Um nome de ficheiro.
Devoluções
Um novo objeto ShareFileClient para o nome de ficheiro especificado.
Utilização de exemplo:
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)
Devolve todas as propriedades do sistema para o diretório especificado e também pode ser utilizado para verificar a existência de um diretório. Os dados devolvidos não incluem os ficheiros no diretório ou subdiretórios.
Veja https://docs.microsoft.com/en-us/rest/api/storageservices/get-directory-properties
function getProperties(options?: DirectoryGetPropertiesOptions): Promise<DirectoryGetPropertiesResponse>
Parâmetros
- options
- DirectoryGetPropertiesOptions
Opções para a operação Obter Propriedades do Diretório.
Devoluções
Promise<DirectoryGetPropertiesResponse>
Dados de resposta para a operação Obter Propriedades do Diretório.
listFilesAndDirectories(DirectoryListFilesAndDirectoriesOptions)
Devolve um iterador iterável assíncrono para listar todos os ficheiros e diretórios na conta especificada. .byPage() devolve um iterador iterável assíncrono para listar os ficheiros e diretórios em páginas.
Exemplo com for await
sintaxe:
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}`);
}
}
Exemplo com 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();
}
Exemplo com 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}`);
}
}
Exemplo a utilizar a paginação com um marcador:
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>
Parâmetros
Opções para listar ficheiros e operações de diretórios.
Devoluções
PagedAsyncIterableIterator<({ kind: "file" } & FileItem) | ({ kind: "directory" } & DirectoryItem), DirectoryListFilesAndDirectoriesSegmentResponse>
Um asyncIterableIterator que suporta paginação.
listHandles(DirectoryListHandlesOptions)
Devolve um iterador iterável assíncrono para listar todos os identificadores. na conta especificada. .byPage() devolve um iterador iterável assíncrono para listar os identificadores nas páginas.
Exemplo com for await
sintaxe:
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}`);
}
Exemplo com 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();
}
Exemplo com 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}`);
}
}
}
Exemplo a utilizar a paginação com um marcador:
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>
Parâmetros
- options
- DirectoryListHandlesOptions
Opções para listar processa a operação.
Um asyncIterableIterator que suporta paginação.
Devoluções
PagedAsyncIterableIterator<HandleItem, DirectoryListHandlesResponse>
rename(string, DirectoryRenameOptions)
Muda o nome de um diretório. Esta API só suporta mudar o nome de um diretório na mesma partilha.
function rename(destinationPath: string, options?: DirectoryRenameOptions): Promise<{ destinationDirectoryClient: ShareDirectoryClient, directoryRenameResponse: DirectoryRenameResponse }>
Parâmetros
- destinationPath
-
string
Especifica o caminho de destino para o qual mudar o nome. O caminho será codificado para ser colocado num URL para especificar o destino.
- options
- DirectoryRenameOptions
Opções para a operação de mudança de nome.
Devoluções
Promise<{ destinationDirectoryClient: ShareDirectoryClient, directoryRenameResponse: DirectoryRenameResponse }>
Dados de resposta para a operação de mudança de nome do ficheiro.
Utilização de exemplo:
// Rename the directory
await diretoryClient.rename(destinationPath);
console.log("Renamed directory successfully!");
setMetadata(Metadata, DirectorySetMetadataOptions)
Atualizações metadados definidos pelo utilizador para o diretório especificado.
Veja https://docs.microsoft.com/en-us/rest/api/storageservices/set-directory-metadata
function setMetadata(metadata?: Metadata, options?: DirectorySetMetadataOptions): Promise<DirectorySetMetadataResponse>
Parâmetros
- metadata
- Metadata
Se não forem fornecidos metadados, todos os metadados de diretório existentes serão removidos
- options
- DirectorySetMetadataOptions
Opções para a operação Definir Metadados do Conjunto de Diretórios.
Devoluções
Promise<DirectorySetMetadataResponse>
Dados de resposta para a operação de Metadados do Conjunto de Diretórios.
setProperties(DirectoryProperties)
Define as propriedades no diretório.
Veja https://docs.microsoft.com/en-us/rest/api/storageservices/set-directory-properties
function setProperties(properties?: DirectoryProperties): Promise<DirectorySetPropertiesResponse>
Parâmetros
- properties
- DirectoryProperties
Devoluções
Promise<DirectorySetPropertiesResponse>