Biblioteca de clientes do Data Lake dos Arquivos de Armazenamento do Azure para .NET – versão 12.17.0
Versão do servidor: 2021-02-12, 2020-12-06, 2020-10-02, 2020-08-04, 2020-06-12, 2020-04-08, 2020-02-10, 2019-12-12, 2019-07-07 e 2019-02-02
O Azure Data Lake inclui todos os recursos necessários para que seja mais fácil para desenvolvedores, cientistas de dados e analistas armazenar dados de qualquer tamanho, forma ou velocidade, bem como realizar todo tipo de processamento e análise em diferentes plataformas e linguagens. Ele remove as complexidades de ingerir e armazenar todos os seus dados, ao mesmo tempo que acelera a execução de análises interativas, em lote e de streaming.
Código-fonte | Pacote (NuGet) | Documentação | de referência da APIDocumentação | da API RESTDocumentação do produto
Introdução
Instalar o pacote
Instale a biblioteca de clientes do Data Lake dos Arquivos de Armazenamento do Azure para .NET com o NuGet:
dotnet add package Azure.Storage.Files.DataLake
Pré-requisitos
Você precisa de uma assinatura do Azure e uma Conta de Armazenamento para usar esse pacote.
Para criar uma nova Conta de Armazenamento, você pode usar o Portal do Azure, Azure PowerShell ou a CLI do Azure. Aqui, está um exemplo usando a CLI do Azure:
az storage account create --name MyStorageAccount --resource-group MyResourceGroup --location westus --sku Standard_LRS
Principais conceitos
O DataLake Storage Gen2 foi projetado para:
- Serviço vários petabytes de informações enquanto sustenta centenas de gigabits de taxa de transferência
- Permitir que você gerencie facilmente grandes quantidades de dados
Os principais recursos do DataLake Storage Gen2 incluem:
- Acesso compatível com Hadoop
- Um superconjunto de permissões POSIX
- Econômico em termos de capacidade de armazenamento de baixo custo e transações
- Driver otimizado para análise de Big Data
Uma parte fundamental do Data Lake Storage Gen2 é a adição de um namespace hierárquico para armazenamento de Blobs. O namespace hierárquico organiza objetos/arquivos em uma hierarquia de diretórios para acesso eficiente a dados.
No passado, a análise baseada na nuvem tinha que se comprometer em áreas de desempenho, gerenciamento e segurança. O Data Lake Storage Gen2 aborda cada um desses aspectos das seguintes maneiras:
- O desempenho é otimizado porque você não precisa copiar ou transformar dados como um pré-requisito para análise. O namespace hierárquico melhora muito o desempenho das operações de gerenciamento de diretório, o que melhora o desempenho geral do trabalho.
- Gerenciamento é mais fácil porque você pode organizar e manipular arquivos por meio de diretórios e subdiretórios.
- Segurança é aplicável porque você pode definir as permissões POSIX em arquivos individuais ou diretórios.
- A efetividade de custo é possível porque o Data Lake Storage Gen2 é construído sobre o armazenamento de Blob do Azure de baixo custo . Os recursos adicionais reduzem ainda mais o custo total de propriedade para executar a análise de big data no Azure.
Data Lake Storage Gen2 oferece dois tipos de recursos:
- O sistema de arquivos usado por meio de 'DataLakeFileSystemClient'
- O caminho usado por meio de 'DataLakeFileClient' ou 'DataLakeDirectoryClient'
ADLS Gen2 | Blob |
---|---|
Sistema de arquivos | Contêiner |
Caminho (Arquivo ou Diretório) | Blob |
Observação: essa biblioteca de clientes não dá suporte a contas de armazenamento desabilitadas de namespace hierárquico (HNS).
Acesso thread-safe
Garantimos que todos os métodos de instância do cliente sejam thread-safe e independentes uns dos outros (diretriz). Isso garante que a recomendação de reutilize instâncias de cliente seja sempre segura, mesmo entre threads.
Conceitos adicionais
Opções | do clienteAcessando a resposta | Operações de execução prolongada | Tratamento de falhas | Diagnostics | Zombando | Tempo de vida do cliente
Exemplos
Criar um DataLakeServiceClient
StorageSharedKeyCredential sharedKeyCredential = new StorageSharedKeyCredential(storageAccountName, storageAccountKey);
// Create DataLakeServiceClient using StorageSharedKeyCredentials
DataLakeServiceClient serviceClient = new DataLakeServiceClient(serviceUri, sharedKeyCredential);
Criar um DataLakeFileSystemClient
StorageSharedKeyCredential sharedKeyCredential = new StorageSharedKeyCredential(storageAccountName, storageAccountKey);
// Create DataLakeServiceClient using StorageSharedKeyCredentials
DataLakeServiceClient serviceClient = new DataLakeServiceClient(serviceUri, sharedKeyCredential);
// Create a DataLake Filesystem
DataLakeFileSystemClient filesystem = serviceClient.GetFileSystemClient("sample-filesystem");
filesystem.Create();
Criar um DataLakeDirectoryClient
StorageSharedKeyCredential sharedKeyCredential = new StorageSharedKeyCredential(storageAccountName, storageAccountKey);
// Create DataLakeServiceClient using StorageSharedKeyCredentials
DataLakeServiceClient serviceClient = new DataLakeServiceClient(serviceUri, sharedKeyCredential);
// Get a reference to a filesystem named "sample-filesystem-append" and then create it
DataLakeFileSystemClient filesystem = serviceClient.GetFileSystemClient("sample-filesystem-append");
filesystem.Create();
// Create
DataLakeDirectoryClient directory = filesystem.GetDirectoryClient("sample-file");
directory.Create();
Criar um DataLakeFileClient
Criar DataLakeFileClient de um DataLakeDirectoryClient
// Create a DataLake Directory
DataLakeDirectoryClient directory = filesystem.CreateDirectory("sample-directory");
directory.Create();
// Create a DataLake File using a DataLake Directory
DataLakeFileClient file = directory.GetFileClient("sample-file");
file.Create();
Criar DataLakeFileClient de um DataLakeFileSystemClient
// Create a DataLake Filesystem
DataLakeFileSystemClient filesystem = serviceClient.GetFileSystemClient("sample-filesystem");
filesystem.Create();
// Create a DataLake file using a DataLake Filesystem
DataLakeFileClient file = filesystem.GetFileClient("sample-file");
file.Create();
Anexando dados a um arquivo DataLake
// Create a file
DataLakeFileClient file = filesystem.GetFileClient("sample-file");
file.Create();
// Append data to the DataLake File
file.Append(File.OpenRead(sampleFilePath), 0);
file.Flush(SampleFileContent.Length);
Lendo dados de um arquivo DataLake
Response<FileDownloadInfo> fileContents = file.Read();
Listagem/passagem por um sistema de arquivos DataLake
foreach (PathItem pathItem in filesystem.GetPaths())
{
names.Add(pathItem.Name);
}
Definir permissões em um arquivo DataLake
// Create a DataLake file so we can set the Access Controls on the files
DataLakeFileClient fileClient = filesystem.GetFileClient("sample-file");
fileClient.Create();
// Set the Permissions of the file
PathPermissions pathPermissions = PathPermissions.ParseSymbolicPermissions("rwxrwxrwx");
fileClient.SetPermissions(permissions: pathPermissions);
Definir ACLs (controles de acesso) em um arquivo DataLake
// Create a DataLake file so we can set the Access Controls on the files
DataLakeFileClient fileClient = filesystem.GetFileClient("sample-file");
fileClient.Create();
// Set Access Control List
IList<PathAccessControlItem> accessControlList
= PathAccessControlExtensions.ParseAccessControlList("user::rwx,group::r--,mask::rwx,other::---");
fileClient.SetAccessControlList(accessControlList);
Obter ACLs (controles de acesso) em um arquivo DataLake
// Get Access Control List
PathAccessControl accessControlResponse = fileClient.GetAccessControl();
Renomear um arquivo DataLake
DataLakeFileClient renamedFileClient = fileClient.Rename("sample-file2");
Renomear um Diretório DataLake
DataLakeDirectoryClient renamedDirectoryClient = directoryClient.Rename("sample-directory2");
Obter propriedades em um arquivo DataLake
// Get Properties on a File
PathProperties filePathProperties = fileClient.GetProperties();
Obter propriedades em um diretório DataLake
// Get Properties on a Directory
PathProperties directoryPathProperties = directoryClient.GetProperties();
Solução de problemas
Todas as operações de serviço File DataLake lançarão uma RequestFailedException em caso de falha com s úteisErrorCode
. Muitos desses erros são recuperáveis.
Próximas etapas
Introdução aos nossos exemplos do DataLake:
- Olá, Mundo: acrescentar, ler e listar arquivos DataLake (ou de forma assíncrona)
- Autenticação: autentique-se com acesso público, chaves compartilhadas, assinaturas de acesso compartilhado e Azure Active Directory.
Participante
Consulte a CONTRIBUTING.md de Armazenamento para obter detalhes sobre como criar, testar e contribuir para essa biblioteca.
Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um CLA (Contrato de Licença do Colaborador) declarando que você tem o direito de nos conceder, e de fato concede, os direitos de usar sua contribuição. Para obter detalhes, visite cla.microsoft.com.
Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para obter mais informações, confira as Perguntas frequentes sobre o Código de Conduta ou contate opencode@microsoft.com para enviar outras perguntas ou comentários.