Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описываются известные проблемы и ограничения Azure Data Lake Storage для учетных записей с включенным функцией иерархического пространства имен. Используйте эти сведения для управления рабочими процессами данных и избежать потенциальных ошибок при использовании различных API и интеграции.
Примечание.
Некоторые функции, описанные в этой статье, могут не поддерживаться в учетных записях с поддержкой NFS 3.0. Чтобы просмотреть таблицу, в которой показано влияние поддержки функций при включении различных возможностей, см. статью Поддержка функций хранилища BLOB-объектов в учетных записях хранения Azure.
Поддержка функций, служб и платформ
Большинство функций хранилища BLOB-объектов, интеграции служб Azure и платформ с открытым кодом поддерживаются в учетных записях с иерархическим пространством имен. Полные списки см. в статье:
- функции Хранилище BLOB-объектов, доступные в Azure Data Lake Storage
- Службы Azure, поддерживающие Azure Data Lake Storage
- Платформы с открытым кодом, поддерживающие Azure Data Lake Storage
API хранилища BLOB-объектов
API Data Lake Storage, NFS 3.0 и API Blob могут работать с одними и теми же данными.
В этом разделе описываются проблемы и ограничения использования API BLOB-объектов, API NFS 3.0 и Data Lake Storage для работы с теми же данными.
Нельзя использовать API BLOB, NFS 3.0 и API Data Lake Storage для записи в один и тот же экземпляр файла. Если вы записываете данные в файл с помощью API Data Lake Storage или NFS 3.0, то блоки этого файла не видны при вызовах BLOB API Get Block List. Единственное исключение — когда вы перезаписываете. Вы можете перезаписать файл или объект BLOB либо с помощью API, либо с помощью NFS 3.0 с параметром усечения до нуля (операция в стиле POSIX, при которой файл усекается до нуля байтов перед записью).
Невозможно перезаписать BLOB-объекты, созданные с помощью операции Data Lake Storage, такой как Path - Create, с помощью операций PutBlock или PutBlockList. Однако эти большие двоичные объекты можно перезаписать с помощью операции PutBlob , при условии максимального допустимого размера большого двоичного объекта, введенного соответствующей версией API, используемой PutBlob.
При использовании операции "Список БОЛЬШИХ двоичных объектов" без указания разделителя результаты включают как каталоги, так и большие двоичные объекты. Если вы хотите указать разделитель, используйте только прямую косую черту (
/). Это единственный поддерживаемый разделитель.Если вы используете API удаления BLOB-объектов для удаления каталога, каталог удаляется только в том случае, если он пуст. Это условие означает, что вы не можете использовать Blob API для рекурсивного удаления каталогов.
Следующие REST API BLOB не поддерживаются:
- Помещение BLOB-объекта (страница)
- Установить страницу
- Получить диапазоны страниц
- Incremental Copy Blob
- Поместить страницу по URL-адресу
- Запечатать добавочный BLOB-объект
Неуправляемые диски виртуальных машин не поддерживаются в учетных записях с иерархическим пространством имен. Если вы хотите использовать в учетной записи хранения иерархические пространства имен, разместите неуправляемые диски виртуальных машин в другой учетной записи хранения, для которой не включена функция иерархического пространства имен.
Поддержка настройки списков управления доступом (ACL) рекурсивно в Azure Data Lake Storage
Возможность рекурсивно применять изменения ACL из родительского каталога к дочерним элементам является общедоступной. В текущей версии этой функции можно вносить изменения в ACL с помощью Обозреватель службы хранилища Azure, PowerShell, Azure CLI, а также пакетов SDK для .NET, Java, Python и Node.js. Поддержка пока недоступна для портала Azure.
Списки управления доступом (ACL) и анонимный доступ на чтение
Если анонимный доступ на чтение предоставляется контейнеру, списки ACL не влияют на этот контейнер или файлы в этом контейнере. Это ограничение влияет только на запросы на чтение. Запросы на запись по-прежнему учитывают списки управления доступом. Требовать авторизацию для всех запросов к большим двоичным объектам.
Частные конечные точки для Azure Data Lake Storage
Если вы используете частные конечные точки для доступа к Azure Data Lake Storage (учетной записи хранения с включенным иерархическим пространством имен), необходимо создать конечные точки для обоих подресурсов: blob и dfs. Операции, направленные к конечной точке Data Lake Storage (dfs), можно перенаправить на конечную точку Blob, а для некоторых операций (например, управления ACL, создания каталогов и удаления каталогов) требуется частная конечная точка DFS. Создание приватных конечных точек для обоих подресурсов гарантирует успешное выполнение всех операций. Дополнительные сведения см. в разделе Использование частных конечных точек для служба хранилища Azure.
AzCopy с Azure Data Lake Storage
Если вы используете AzCopy с учетными записями с включенным иерархическим пространством имен, то только AzCopy версии 10 поддерживает необходимые API Data Lake Storage. Всегда используйте только последнюю версию AzCopy (AzCopy 10). Более ранние версии, например AzCopy версии 8.1, не поддерживаются.
Обозреватель службы хранилища Azure с Azure Data Lake Storage
При использовании Обозреватель службы хранилища Azure с учетными записями хранения, для которых включено иерархическое пространство имен, используйте только версии 1.6.0 или более поздние. Более ранние версии не поддерживают API иерархического пространства имен, необходимые для управления файлами и каталогами.
Браузер хранилища на портале Azure
В браузере хранилища, который открывается в портале Azure, нельзя получить доступ к файлу или папке, указав путь. Вместо этого необходимо просмотреть папки, чтобы получить доступ к файлу. Таким образом, если ACL предоставляет пользователю доступ на чтение к файлу, но не доступ на чтение ко всем папкам, ведущим к файлу, этот пользователь не может просматривать файл в браузере хранилища.
Приложения третьих лиц
Сторонние приложения, использующие REST API для работы, продолжают работать, если они используются с Data Lake Storage. Приложения, использующие Blob API, скорее всего, будут работать.
Драйвер Windows служба хранилища Azure Blob (WASB)
В настоящее время драйвер WASB, который создавался только для работы с API больших двоичных объектов, вызывает ряд проблем в некоторых типовых сценариях, В частности, если это клиент, подключающийся к учетной записи хранения с включенным иерархическим пространством имен. Многопротокольный доступ к Data Lake Storage не устраняет эти проблемы.
Использование драйвера WASB в качестве клиента для учетной записи хранения с включенным иерархическим пространством имен не поддерживается. Вместо этого используйте драйвер Файловой системы BLOB-объектов Azure (ABFS) в среде Hadoop. Если вы пытаетесь перейти с локальной среды Hadoop версии ниже ветки Hadoop 3, создайте обращение в службу поддержки Azure, чтобы определить оптимальный дальнейший план действий для вашей организации.
Обратимое удаление больших двоичных объектов в Azure Data Lake Storage
В учетных записях хранения с иерархическим пространством имен при переименовании родительских каталогов для обратимо удаленных файлов или каталогов портал Azure может не отображать обратимо удаленные элементы. В таких случаях используйте PowerShell или Azure CLI для перечисления и восстановления обратимо удаленных элементов.
Подписки на события в Azure Data Lake Storage
В учетных записях хранилища с иерархическим пространством имен, если для вашей учетной записи настроена подписка на события, операции чтения через вторичную конечную точку (реплика, доступная только для чтения, в геоизбыточных учетных записях хранилища) приводят к ошибке. Чтобы устранить эту проблему, удалите подписки на события. Использование конечного URL-адреса Data Lake Storage (abfss://URI) для учетных записей, в которых не включено иерархическое пространство имен, не приводит к созданию событий, а конечный URL-адрес blob (wasb:// URI) приводит к их созданию.
Совет
Доступ на чтение к дополнительной конечной точке доступен только при включении геоизбыточного хранилища с доступом на чтение (RA-GRS) или геозонально-избыточного хранилища с доступом на чтение (RA-GZRS).