У меня есть функция Azure, которая должна обрабатывать zip-файлы, преобразовывать их содержимое в csv-файлы и сохранять их в Data Lake gen 1.
Я включил управляемую идентификацию этих функций Azure. Затем я добавил это управляемое удостоверение как ВЛАДЕЛЕЦ в элемент управления доступом (IAM) озера данных.
Первый сценарий:
Я вызываю эту функцию Azure с Фабрика данных Azure и отправка fileuri zip-файлов, которые сохраняются в учетной записи хранения из фабрики данных Azure, в функции Azure. Функция Azure обрабатывает файлы, сохраняя файлы csv в озере данных. Я получаю эту ошибку:
Ошибка при создании файла root \ folder1 \ folder2 \ folder3 \ folder4 \ test.csv.
Операция: Сбой CREATE с HttpStatus: Длина неавторизованного токена: 1162
НеизвестноОшибка: непредвиденный тип исключения в выводе ошибки JSON. Ожидаемое: RemoteException Фактическое: ошибка Источник: Microsoft.Azure.DataLake.Store StackTrace: at Microsoft.Azure.DataLake.Store.WebTransport.ParseRemoteError (Byte [] errorBytes, Int32 errorBytesLength, OperationResponse или String contentType).
RemoteJsonErrorResponse: Content-Type ответа об ошибке: application / json;кодировка = UTF-8.
Ошибка: {"error": {"code": "AuthenticationFailed", "message": "Срок действия маркера доступа в заголовке 'Authorization' истек.
Второй сценарий
Я установил сетку событий для этих функций Azure. После удаления zip-файлов в учетную запись хранения, которая связана с функциями Azure, zip-файлы обрабатываются и csv-файлы успешно сохраняются вData Lake.
Полезно знать, что функция Azure и Data Lake находятся в одном и том же vnet
Может кто-нибудь объяснить мне, почему моя функция хорошо работает с сеткой событий, но не работает, если явызывать его из фабрики данных Azure? (сохранение CSV-файлов в Data Lake Gen 1)