ShareDirectoryClient class
Um ShareDirectoryClient representa uma URL para o diretório de Armazenamento do Azure, permitindo que você manipule seus arquivos e diretórios.
- Extends
-
StorageClient
Construtores
Share |
Cria uma instância de DirectoryClient. |
Share |
Cria uma instância de DirectoryClient. |
Propriedades
name | O nome do diretório |
path | O caminho completo do diretório |
share |
O nome do compartilhamento correspondente a este cliente de diretório |
Propriedades Herdadas
account |
|
url | Valor da cadeia de caracteres de URL. |
Métodos
create(Directory |
Cria um novo diretório sob o compartilhamento especificado ou diretório pai. Visualizar https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory |
create |
Cria um novo arquivo ou substitui um arquivo neste diretório. Observe que ele apenas inicializa o arquivo sem conteúdo. Visualizar https://docs.microsoft.com/en-us/rest/api/storageservices/create-file |
create |
Cria um novo diretório sob o compartilhamento especificado ou diretório pai, se ele ainda não existir. Se o diretório já existir, ele não será modificado. Visualizar https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory |
create |
Cria um novo subdiretório sob este diretório. Visualizar https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory |
delete(Directory |
Remove o diretório vazio especificado. Observe que o diretório deve estar vazio antes de poder ser excluído. Visualizar https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory |
delete |
Remove o arquivo especificado neste diretório da conta de armazenamento. Quando um arquivo é excluído com êxito, ele é imediatamente removido do índice da conta de armazenamento e não está mais acessível aos clientes. Os dados do arquivo são posteriormente removidos do serviço durante a coleta de lixo. Excluir arquivo falhará com o código de status 409 (Conflito) e o código de erro SharingViolation se o arquivo estiver aberto em um cliente SMB. Não há suporte para Excluir arquivo em um instantâneo de compartilhamento, que é uma cópia somente leitura de um compartilhamento. Uma tentativa de executar essa operação em um instantâneo de compartilhamento falhará com 400 (InvalidQueryParameterValue) Visualizar https://docs.microsoft.com/en-us/rest/api/storageservices/delete-file2 |
delete |
Remove o diretório vazio especificado, se ele existir. Observe que o diretório deve estar vazio antes de poder ser excluído. Visualizar https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory |
delete |
Remove o subdiretório vazio especificado neste diretório. Observe que o diretório deve estar vazio antes de poder ser excluído. Visualizar https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory |
exists(Directory |
Retorna true se o diretório especificado existir; falso caso contrário. NOTA: utilize esta função com cuidado, uma vez que um diretório existente pode ser eliminado por outros clientes ou aplicações. Vice-versa, novos diretórios podem ser adicionados por outros clientes ou aplicativos após a conclusão dessa função. |
force |
Força o fechamento de todas as alças de um diretório. Visualizar https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles |
force |
Forçar o fechamento de um identificador específico para um diretório. Visualizar 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 |
Retorna todas as propriedades do sistema para o diretório especificado e também pode ser usado para verificar a existência de um diretório. Os dados retornados não incluem os arquivos no diretório ou quaisquer subdiretórios. Visualizar https://docs.microsoft.com/en-us/rest/api/storageservices/get-directory-properties |
list |
Retorna um iterador iterável assíncrono para listar todos os arquivos e diretórios na conta especificada. .byPage() retorna um iterador iterável assíncrono para listar os arquivos e diretórios nas páginas. Exemplo usando sintaxe
Exemplo usando
Exemplo usando
Exemplo de utilização da paginação com um marcador:
|
list |
Retorna um iterador iterável assíncrono para listar todos os identificadores. na conta especificada. .byPage() retorna um iterador iterável assíncrono para listar os identificadores nas páginas. Exemplo usando sintaxe
Exemplo usando
Exemplo usando
Exemplo de utilização da paginação com um marcador:
|
rename(string, Directory |
Renomeia um diretório. Esta API suporta apenas a renomeação de um diretório no mesmo compartilhamento. |
set |
Atualiza os metadados definidos pelo usuário para o diretório especificado. Visualizar https://docs.microsoft.com/en-us/rest/api/storageservices/set-directory-metadata |
set |
Define propriedades no diretório. Visualizar https://docs.microsoft.com/en-us/rest/api/storageservices/set-directory-properties |
Detalhes do Construtor
ShareDirectoryClient(string, Credential_2 | TokenCredential, ShareClientOptions)
Cria uma instância de DirectoryClient.
new ShareDirectoryClient(url: string, credential?: Credential_2 | TokenCredential, options?: ShareClientOptions)
Parâmetros
- url
-
string
Uma cadeia de caracteres de URL apontando para o diretório de arquivos do Armazenamento do Azure, como "https://myaccount.file.core.windows.net/myshare/mydirectory". Você pode acrescentar uma SAS se estiver usando AnonymousCredential, como "https://myaccount.file.core.windows.net/myshare/mydirectory?sasString". Esse método aceita uma URL codificada ou uma URL não codificada apontando para um diretório. A cadeia de caracteres de URL codificada NÃO será escapada duas vezes, apenas caracteres especiais no caminho da URL serão escapados. No entanto, se um nome de diretório incluir %, o nome do diretório deve ser codificado na URL. Como um diretório chamado "mydir%", o URL deve ser "https://myaccount.file.core.windows.net/myshare/mydir%25".
- credential
Como AnonymousCredential ou StorageSharedKeyCredential. Se não for especificado, AnonymousCredential será usado.
- options
- ShareClientOptions
Opcional. Opções para configurar o pipeline HTTP.
ShareDirectoryClient(string, Pipeline, ShareClientConfig)
Cria uma instância de DirectoryClient.
new ShareDirectoryClient(url: string, pipeline: Pipeline, options?: ShareClientConfig)
Parâmetros
- url
-
string
Uma cadeia de caracteres de URL apontando para o diretório de arquivos do Armazenamento do Azure, como "https://myaccount.file.core.windows.net/myshare/mydirectory". Você pode acrescentar uma SAS se estiver usando AnonymousCredential, como "https://myaccount.file.core.windows.net/myshare/mydirectory?sasString". Esse método aceita uma URL codificada ou uma URL não codificada apontando para um diretório. A cadeia de caracteres de URL codificada NÃO será escapada duas vezes, apenas caracteres especiais no caminho da URL serão escapados. No entanto, se um nome de diretório incluir %, o nome do diretório deve ser codificado na URL. Como um diretório chamado "mydir%", o URL deve ser "https://myaccount.file.core.windows.net/myshare/mydir%25".
- pipeline
- Pipeline
Chame newPipeline() para criar um pipeline padrão ou forneça um pipeline personalizado.
- options
- ShareClientConfig
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 do compartilhamento correspondente a este cliente de diretório
string shareName
Valor de Propriedade
string
Detalhes da Propriedade Herdada
accountName
accountName: string
Valor de Propriedade
string
herdado de StorageClient.accountName
url
Valor da cadeia de caracteres de URL.
url: string
Valor de Propriedade
string
herdado de StorageClient.url
Detalhes de Método
create(DirectoryCreateOptions)
Cria um novo diretório sob o compartilhamento especificado ou diretório pai.
Visualizar 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ório.
Devoluções
Promise<DirectoryCreateResponse>
Dados de resposta para a operação Directory.
createFile(string, number, FileCreateOptions)
Cria um novo arquivo ou substitui um arquivo neste diretório. Observe que ele apenas inicializa o arquivo sem conteúdo.
Visualizar 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 arquivo, até 4 TB.
- options
- FileCreateOptions
Opções para a operação de criação de arquivo.
Devoluções
Promise<{ fileClient: ShareFileClient, fileCreateResponse: FileCreateResponse }>
Dados de resposta de criação de arquivo e o cliente de arquivo correspondente.
createIfNotExists(DirectoryCreateOptions)
Cria um novo diretório sob o compartilhamento especificado ou diretório pai, se ele ainda não existir. Se o diretório já existir, ele não será modificado.
Visualizar 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 sob este diretório.
Visualizar 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ório.
Devoluções
Promise<{ directoryClient: ShareDirectoryClient, directoryCreateResponse: DirectoryCreateResponse }>
Dados de resposta de criação de diretório e a instância DirectoryClient correspondente.
delete(DirectoryDeleteOptions)
Remove o diretório vazio especificado. Observe que o diretório deve estar vazio antes de poder ser excluído.
Visualizar 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 Directory Delete.
Devoluções
Promise<DirectoryDeleteResponse>
Dados de resposta para a operação Directory Delete.
deleteFile(string, FileDeleteOptions)
Remove o arquivo especificado neste diretório da conta de armazenamento. Quando um arquivo é excluído com êxito, ele é imediatamente removido do índice da conta de armazenamento e não está mais acessível aos clientes. Os dados do arquivo são posteriormente removidos do serviço durante a coleta de lixo.
Excluir arquivo falhará com o código de status 409 (Conflito) e o código de erro SharingViolation se o arquivo estiver aberto em um cliente SMB.
Não há suporte para Excluir arquivo em um instantâneo de compartilhamento, que é uma cópia somente leitura de um compartilhamento. Uma tentativa de executar essa operação em um instantâneo de compartilhamento falhará com 400 (InvalidQueryParameterValue)
Visualizar 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 File Delete.
Devoluções
Promise<FileDeleteResponse>
Dados de resposta de exclusão de arquivo.
deleteIfExists(DirectoryDeleteOptions)
Remove o diretório vazio especificado, se ele existir. Observe que o diretório deve estar vazio antes de poder ser excluído.
Visualizar 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. Observe que o diretório deve estar vazio antes de poder ser excluído.
Visualizar 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 Directory Delete.
Devoluções
Promise<DirectoryDeleteResponse>
Dados de resposta de exclusão de diretório.
exists(DirectoryExistsOptions)
Retorna true se o diretório especificado existir; falso caso contrário.
NOTA: utilize esta função com cuidado, uma vez que um diretório existente pode ser eliminado por outros clientes ou aplicações. Vice-versa, novos diretórios podem ser adicionados por outros clientes ou aplicativos após a conclusão dessa 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ça o fechamento de todas as alças de um diretório.
Visualizar 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 o fechamento de um identificador específico para um diretório.
Visualizar 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 do identificador específico, não pode ser asterisco "*". Use 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 fornecido.
Exemplo de uso:
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 arquivo.
Devoluções
Um novo objeto ShareFileClient para o nome de arquivo fornecido.
Exemplo de uso:
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)
Retorna todas as propriedades do sistema para o diretório especificado e também pode ser usado para verificar a existência de um diretório. Os dados retornados não incluem os arquivos no diretório ou quaisquer subdiretórios.
Visualizar 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 Directory Get Properties.
Devoluções
Promise<DirectoryGetPropertiesResponse>
Dados de resposta para a operação Directory Get Properties.
listFilesAndDirectories(DirectoryListFilesAndDirectoriesOptions)
Retorna um iterador iterável assíncrono para listar todos os arquivos e diretórios na conta especificada.
.byPage() retorna um iterador iterável assíncrono para listar os arquivos e diretórios nas páginas.
Exemplo usando sintaxe for await
:
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 usando 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 usando 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 de utilização da 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, PageSettings>
Parâmetros
Opções para listar arquivos e operação de diretórios.
Devoluções
PagedAsyncIterableIterator<({ kind: "file" } & FileItem) | ({ kind: "directory" } & DirectoryItem), DirectoryListFilesAndDirectoriesSegmentResponse, PageSettings>
Um asyncIterableIterator que suporta paginação.
listHandles(DirectoryListHandlesOptions)
Retorna um iterador iterável assíncrono para listar todos os identificadores. na conta especificada.
.byPage() retorna um iterador iterável assíncrono para listar os identificadores nas páginas.
Exemplo usando sintaxe for await
:
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 usando 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 usando 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 de utilização da 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, PageSettings>
Parâmetros
- options
- DirectoryListHandlesOptions
Opções para listar manipula a operação.
Um asyncIterableIterator que suporta paginação.
Devoluções
rename(string, DirectoryRenameOptions)
Renomeia um diretório. Esta API suporta apenas a renomeação de um diretório no mesmo compartilhamento.
function rename(destinationPath: string, options?: DirectoryRenameOptions): Promise<{ destinationDirectoryClient: ShareDirectoryClient, directoryRenameResponse: DirectoryRenameResponse }>
Parâmetros
- destinationPath
-
string
Especifica o caminho de destino para o qual renomear. O caminho será codificado para colocar em uma URL para especificar o destino.
- options
- DirectoryRenameOptions
Opções para a operação de renomeação.
Devoluções
Promise<{ destinationDirectoryClient: ShareDirectoryClient, directoryRenameResponse: DirectoryRenameResponse }>
Dados de resposta para a operação de renomeação de arquivo.
Exemplo de uso:
// Rename the directory
await diretoryClient.rename(destinationPath);
console.log("Renamed directory successfully!");
setMetadata(Metadata, DirectorySetMetadataOptions)
Atualiza os metadados definidos pelo usuário para o diretório especificado.
Visualizar 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 operação de Metadados de Conjunto de Diretório.
Devoluções
Promise<DirectorySetMetadataResponse>
Dados de resposta para a operação Directory set Metadata.
setProperties(DirectoryProperties)
Define propriedades no diretório.
Visualizar 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>