ShareDirectoryClient class
Um ShareDirectoryClient representa uma URL para o diretório do 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 no compartilhamento especificado ou no diretório pai. Veja https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory |
create |
Cria um novo arquivo ou substitui um arquivo nesse diretório. Observe que ele inicializa apenas o arquivo sem conteúdo. Veja https://docs.microsoft.com/en-us/rest/api/storageservices/create-file |
create |
Cria um novo diretório no compartilhamento especificado ou no diretório pai se ele ainda não existir. Se o diretório já existir, ele não será modificado. Veja https://docs.microsoft.com/en-us/rest/api/storageservices/create-directory |
create |
Cria um novo subdiretório nesse diretório. Veja 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 que possa ser excluído. Veja https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory |
delete |
Remove o arquivo especificado nesse diretório da conta de armazenamento. Quando um arquivo é excluído com êxito, ele é removido imediatamente do índice da conta de armazenamento e se torna inacessível aos clientes. Os dados do arquivo são removidos posteriormente 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) Veja 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 que possa ser excluído. Veja https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory |
delete |
Remove o subdiretório vazio especificado nesse diretório. Observe que o diretório deve estar vazio antes que possa ser excluído. Veja https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory |
exists(Directory |
Retornará true se o diretório especificado existir; caso contrário, false. OBSERVAÇÃO: use essa função com cuidado, pois um diretório existente pode ser excluído por outros clientes ou aplicativos. Vice-versa, novos diretórios podem ser adicionados por outros clientes ou aplicativos após a conclusão dessa função. |
force |
Forçar o fechamento de todos os identificadores de um diretório. Veja 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. 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 objeto ShareFileClient . |
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 em todos os subdiretórios. Veja 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 em páginas. Exemplo usando
Exemplo usando
Exemplo usando
Exemplo usando 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
Exemplo usando
Exemplo usando
Exemplo usando paginação com um marcador:
|
rename(string, Directory |
Renomeia um diretório. Essa API dá suporte apenas à renomeação de um diretório no mesmo compartilhamento. |
set |
Atualizações metadados definidos pelo usuário 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 | 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 terá escape duas vezes, somente caracteres especiais no caminho da URL serão escapados. No entanto, se um nome de diretório incluir %, o nome do diretório deverá ser codificado na URL. Como um diretório chamado "mydir%", a 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 terá escape duas vezes, somente caracteres especiais no caminho da URL serão escapados. No entanto, se um nome de diretório incluir %, o nome do diretório deverá ser codificado na URL. Como um diretório chamado "mydir%", a 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 da propriedade
name
O nome do diretório
string name
Valor da propriedade
string
path
O caminho completo do diretório
string path
Valor da propriedade
string
shareName
O nome do compartilhamento correspondente a este cliente de diretório
string shareName
Valor da propriedade
string
Detalhes das propriedades herdadas
accountName
accountName: string
Valor da propriedade
string
Herdado de StorageClient.accountName
url
Valor da cadeia de caracteres de URL.
url: string
Valor da propriedade
string
Herdado de StorageClient.url
Detalhes do método
create(DirectoryCreateOptions)
Cria um novo diretório no compartilhamento especificado ou no diretório pai.
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 Criar diretório.
Retornos
Promise<DirectoryCreateResponse>
Dados de resposta para a operação diretório.
createFile(string, number, FileCreateOptions)
Cria um novo arquivo ou substitui um arquivo nesse diretório. Observe que ele inicializa apenas o arquivo 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 arquivo, até 4 TB.
- options
- FileCreateOptions
Opções para a operação Criação de Arquivo.
Retornos
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 no compartilhamento especificado ou no diretório pai se ele ainda não existir. Se o diretório já existir, ele 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
Retornos
Promise<DirectoryCreateIfNotExistsResponse>
createSubdirectory(string, DirectoryCreateOptions)
Cria um novo subdiretório nesse 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 Criar diretório.
Retornos
Promise<{ directoryClient: ShareDirectoryClient, directoryCreateResponse: DirectoryCreateResponse }>
O diretório cria dados de resposta e a instância do DirectoryClient correspondente.
delete(DirectoryDeleteOptions)
Remove o diretório vazio especificado. Observe que o diretório deve estar vazio antes que possa ser excluído.
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 exclusão de diretório.
Retornos
Promise<DirectoryDeleteResponse>
Dados de resposta para a operação De exclusão de diretório.
deleteFile(string, FileDeleteOptions)
Remove o arquivo especificado nesse diretório da conta de armazenamento. Quando um arquivo é excluído com êxito, ele é removido imediatamente do índice da conta de armazenamento e se torna inacessível aos clientes. Os dados do arquivo são removidos posteriormente 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)
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 arquivo a ser excluído
- options
- FileDeleteOptions
Opções para a operação De exclusão de arquivo.
Retornos
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 que possa ser excluído.
Veja https://docs.microsoft.com/en-us/rest/api/storageservices/delete-directory
function deleteIfExists(options?: DirectoryDeleteOptions): Promise<DirectoryDeleteIfExistsResponse>
Parâmetros
- options
- DirectoryDeleteOptions
Retornos
Promise<DirectoryDeleteIfExistsResponse>
deleteSubdirectory(string, DirectoryDeleteOptions)
Remove o subdiretório vazio especificado nesse diretório. Observe que o diretório deve estar vazio antes que possa ser excluído.
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 exclusão de diretório.
Retornos
Promise<DirectoryDeleteResponse>
Dados de resposta de exclusão de diretório.
exists(DirectoryExistsOptions)
Retornará true se o diretório especificado existir; caso contrário, false.
OBSERVAÇÃO: use essa função com cuidado, pois um diretório existente pode ser excluído por outros clientes ou aplicativos. 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 Exists.
Retornos
Promise<boolean>
forceCloseAllHandles(DirectoryForceCloseHandlesSegmentOptions)
Forçar o fechamento de todos os identificadores 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
Retornos
Promise<CloseHandlesInfo>
forceCloseHandle(string, DirectoryForceCloseHandlesOptions)
Forçar o fechamento de um identificador específico 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 do identificador específico, não pode ser asterisco "*". Use forceCloseHandlesSegment() para fechar todos os identificadores.
Retornos
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
Retornos
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 objeto ShareFileClient .
function getFileClient(fileName: string): ShareFileClient
Parâmetros
- fileName
-
string
Um nome de arquivo.
Retornos
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 em todos os 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.
Retornos
Promise<DirectoryGetPropertiesResponse>
Dados de resposta para a operação Obter Propriedades do Diretório.
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 em páginas.
Exemplo usando for await
a 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 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 usando 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ções de diretórios.
Retornos
PagedAsyncIterableIterator<({ kind: "file" } & FileItem) | ({ kind: "directory" } & DirectoryItem), DirectoryListFilesAndDirectoriesSegmentResponse, PageSettings>
Um asyncIterableIterator que dá suporte à 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 for await
a 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 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 usando 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 a operação de identificadores.
Um asyncIterableIterator que dá suporte à paginação.
Retornos
rename(string, DirectoryRenameOptions)
Renomeia um diretório. Essa API dá suporte apenas à 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.
Retornos
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ções metadados definidos pelo usuário 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 nenhum metadado for fornecido, todos os metadados de diretório existentes serão removidos
- options
- DirectorySetMetadataOptions
Opções para a operação Definir Metadados de Diretório.
Retornos
Promise<DirectorySetMetadataResponse>
Dados de resposta para a operação Definir Metadados de Diretório.
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
Retornos
Promise<DirectorySetPropertiesResponse>