Клиентская библиотека Data Lake службы хранилища Azure для .NET версии 12.13.1
Версия сервера: 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 и 2019-02-02
Azure Data Lake предоставляет разработчикам, специалистам по обработке данных и аналитикам возможности, которые позволяют быстро сохранять данные независимо от объема, формы и скорости, а также выполнять их обработку и анализ на разных платформах и языках. Azure Data Lake упрощает получение и хранение всех ваших данных, одновременно ускоряя работу пакетной, потоковой и интерактивной аналитики.
Исходный код | Пакет (NuGet) | Справочная документация по | API Документация по | REST API Документация по продукту
Начало работы
Установка пакета
Установите клиентную библиотеку Data Lake службы хранилища Azure для .NET с помощью NuGet:
dotnet add package Azure.Storage.Files.DataLake
Предварительные требования
Для использования этого пакета вам потребуется подписка Azure и учетная запись хранения .
Чтобы создать учетную запись хранения, можно использовать портал Azure, Azure PowerShell или Azure CLI. Ниже приведен пример с использованием Azure CLI:
az storage account create --name MyStorageAccount --resource-group MyResourceGroup --location westus --sku Standard_LRS
Основные понятия
Хранилище DataLake 2-го поколения предназначено для:
- Обслуживание нескольких петабайтов информации с поддержкой сотен гигабит пропускной способности
- Позволяет легко управлять большими объемами данных
Основные функции DataLake Storage 2-го поколения:
- Доступ, совместимый с Hadoop
- Надмножество разрешений POSIX
- Экономичность с точки зрения недорогой емкости хранилища и транзакций
- Оптимизированный драйвер для аналитики больших данных
Основная часть Data Lake Storage 2-го поколения — это добавление иерархического пространства имен в хранилище BLOB-объектов. Иерархическое пространство имен позволяет упорядочивать объекты и файлы в иерархии каталогов для эффективного доступа к данным.
Раньше облачная аналитика влияла на производительность, возможности управления и безопасность. В Data Lake Storage Gen2 все эти проблемы устранены:
- Производительность оптимизирована, так как больше не нужно копировать или передавать данные, чтобы проанализировать их. Иерархическое пространство имен значительно ускоряет выполнение операций управления каталогом, что повышает общую производительность задания.
- Управление стало проще, так как вы можете упорядочивать файлы в каталогах и подкаталогах и так с ними работать.
- Безопасность соблюдается неукоснительно, поскольку можно определить разрешения POSIX для каталогов или отдельных файлов.
- Экономичность достигается за счет того, что хранилище Data Lake Storage Gen2 создано на основе недорогого хранилища BLOB-объектов Azure. Дополнительные функции еще более снижают совокупную стоимость владения при выполнении аналитики больших данных в Azure.
Data Lake Storage 2-го поколения предлагает два типа ресурсов:
- Файловая система, используемая через "DataLakeFileSystemClient"
- Путь, используемый через "DataLakeFileClient" или "DataLakeDirectoryClient"
ADLS 2-го поколения | BLOB-объект |
---|---|
Файловая система | Контейнер |
Путь (файл или каталог) | BLOB-объект |
Примечание. Эта клиентская библиотека не поддерживает отключенные учетные записи хранения в иерархическом пространстве имен (HNS).
Потокобезопасность
Мы гарантируем, что все методы экземпляра клиента являются потокобезопасны и независимы друг от друга (руководство). Это гарантирует, что рекомендации по повторному использованию экземпляров клиента всегда будут безопасными, даже в разных потоках.
Дополнительные понятия
Параметры | клиента Доступ к ответу | Длительные операции | Обработка сбоев | Диагностики | Насмешливый | Время существования клиента
Примеры
Создание DataLakeServiceClient
StorageSharedKeyCredential sharedKeyCredential = new StorageSharedKeyCredential(storageAccountName, storageAccountKey);
// Create DataLakeServiceClient using StorageSharedKeyCredentials
DataLakeServiceClient serviceClient = new DataLakeServiceClient(serviceUri, sharedKeyCredential);
Создание 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(Randomize("sample-filesystem"));
filesystem.Create();
Создание 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(Randomize("sample-filesystem-append"));
filesystem.Create();
// Create
DataLakeDirectoryClient directory = filesystem.GetDirectoryClient(Randomize("sample-file"));
directory.Create();
Создание DataLakeFileClient
Создание DataLakeFileClient из DataLakeDirectoryClient
// Create a DataLake Directory
DataLakeDirectoryClient directory = filesystem.CreateDirectory(Randomize("sample-directory"));
directory.Create();
// Create a DataLake File using a DataLake Directory
DataLakeFileClient file = directory.GetFileClient(Randomize("sample-file"));
file.Create();
Создание DataLakeFileClient из DataLakeFileSystemClient
// Create a DataLake Filesystem
DataLakeFileSystemClient filesystem = serviceClient.GetFileSystemClient(Randomize("sample-filesystem"));
filesystem.Create();
// Create a DataLake file using a DataLake Filesystem
DataLakeFileClient file = filesystem.GetFileClient(Randomize("sample-file"));
file.Create();
Добавление данных в файл DataLake
// Create a file
DataLakeFileClient file = filesystem.GetFileClient(Randomize("sample-file"));
file.Create();
// Append data to the DataLake File
file.Append(File.OpenRead(sampleFilePath), 0);
file.Flush(SampleFileContent.Length);
Чтение данных из файла DataLake
Response<FileDownloadInfo> fileContents = file.Read();
Перечисление или обход файловой системы DataLake
foreach (PathItem pathItem in filesystem.GetPaths())
{
names.Add(pathItem.Name);
}
Настройка разрешений для файла DataLake
// Create a DataLake file so we can set the Access Controls on the files
DataLakeFileClient fileClient = filesystem.GetFileClient(Randomize("sample-file"));
fileClient.Create();
// Set the Permissions of the file
PathPermissions pathPermissions = PathPermissions.ParseSymbolicPermissions("rwxrwxrwx");
fileClient.SetPermissions(permissions: pathPermissions);
Настройка элементов управления доступом (ACL) в файле DataLake
// Create a DataLake file so we can set the Access Controls on the files
DataLakeFileClient fileClient = filesystem.GetFileClient(Randomize("sample-file"));
fileClient.Create();
// Set Access Control List
IList<PathAccessControlItem> accessControlList
= PathAccessControlExtensions.ParseAccessControlList("user::rwx,group::r--,mask::rwx,other::---");
fileClient.SetAccessControlList(accessControlList);
Получение элементов управления доступом (ACL) в файле DataLake
// Get Access Control List
PathAccessControl accessControlResponse = fileClient.GetAccessControl();
Переименование файла DataLake
DataLakeFileClient renamedFileClient = fileClient.Rename("sample-file2");
Переименование каталога DataLake
DataLakeDirectoryClient renamedDirectoryClient = directoryClient.Rename("sample-directory2");
Получение свойств для файла DataLake
// Get Properties on a File
PathProperties filePathProperties = fileClient.GetProperties();
Получение свойств в каталоге DataLake
// Get Properties on a Directory
PathProperties directoryPathProperties = directoryClient.GetProperties();
Устранение неполадок
Все операции службы File DataLake будут вызывать исключение RequestFailedException при сбое с полезнымиErrorCode
s. Многие из этих ошибок можно исправить.
Дальнейшие действия
Начало работы с примерами DataLake:
- Hello World: добавление, чтение и перечисление файлов DataLake (или асинхронно)
- Проверка подлинности. Проверка подлинности с помощью открытого доступа, общих ключей, подписанных URL-адресов и Azure Active Directory.
Участие
Дополнительные сведения о создании, тестировании и участии в этой библиотеке см. в CONTRIBUTING.md хранилища.
На этом проекте приветствуются публикации и предложения. Для участия в большинстве процессов по разработке документации необходимо принять лицензионное соглашение участника (CLA), в котором указывается, что вы предоставляете нам права на использование ваших публикаций. Дополнительные сведения см . на странице cla.microsoft.com.
В рамках этого проекта действуют правила поведения в отношении продуктов с открытым исходным кодом Майкрософт. Дополнительные сведения см. в разделе часто задаваемых вопросов о правилах поведения или обратитесь к opencode@microsoft.com с любыми дополнительными вопросами или комментариями.