API Microsoft Graph: загрузка приложения Intune Win32 — ошибка commitFileFailed после успешных вызовов APIPython

Программы на Python
Anonymous
 API Microsoft Graph: загрузка приложения Intune Win32 — ошибка commitFileFailed после успешных вызовов API

Сообщение Anonymous »

У меня возникают постоянные ошибки commitFileFailed при загрузке файлов .intunewin в Microsoft Intune через Graph API. Все вызовы API возвращают коды состояния успеха, но внутренняя обработка окончательной фиксации завершается сбоем.
Рабочий процесс API
Следует стандартной последовательности API Microsoft Graph для загрузки приложений Win32:
  • Код: Выделить всё

    POST /deviceAppManagement/mobileApps
    (Создать Win32LobApp)
  • Код: Выделить всё

    POST /mobileApps/{id}/contentVersions
    (Создать версию контента)
  • Код: Выделить всё

    POST /contentVersions/{version}/files
    (Создать запись файла)
  • Подождите URI хранилища Azure (опрос до тех пор, пока azureStorageUriRequestSuccess)
  • в URI хранилища Azure (загрузить файл .intunewin)
  • Код: Выделить всё

    POST /files/{fileId}/commit
    (файл фиксации) (возвращает HTTP 200)
Шаблон проблемы
  • Шаги 1–5: все успешно с правильными ответами HTTP 201/200
  • Шаг 6: API фиксации возвращает HTTP 200 OK
  • Окончательный результат: uploadState: commitFileFailed
Ошибка происходит во время внутренней обработки Intune после успешного завершения API фиксации.
Полезная нагрузка FileEncryptionInfo Структура

Код: Выделить всё

{
"fileEncryptionInfo": {
"encryptionKey": "base64-encoded-32-bytes",
"macKey": "base64-encoded-32-bytes",
"initializationVector": "base64-encoded-16-bytes",
"mac": "base64-encoded-32-bytes",
"profileIdentifier": "ProfileVersion1",
"fileDigest": "base64-encoded-32-bytes",
"fileDigestAlgorithm": "SHA256",
"@odata.type": "microsoft.graph.fileEncryptionInfo"
},
"size": 3064190,
"name": "example-installer.intunewin"
}

Проверка выполнена

Проверка полей: все поля base64 декодируются до необходимой длины в байтах Microsoft: Создание файла.: с использованием официального средства подготовки содержимого Microsoft Win32 v1.8.7.
Метаданные шифрования.: извлекаются непосредственно из .intunewin Detection.xml.
Хранилище Azure: правильные заголовки, проверка MD5, успешная загрузка с соответствующим ETag
Соответствие API: точное соответствие документации Microsoft Graph API

Сведения о среде

  • Версия API: Microsoft Graph v1.0
  • Аутентификация: регистрация приложения с помощью DeviceManagementApps.ReadWrite.All
  • Метод загрузки: одиночный PUT (файлы < 4 МБ в соответствии с рекомендациями Microsoft)
  • Формат файла: пакеты .intunewin, созданные с помощью Microsoft официальный инструмент
Кто-нибудь сталкивался с подобными проблемами, когда API фиксации завершается успешно, но обработка завершается неудачно?
Существуют ли дополнительные заголовки или поля, необходимые для запроса на фиксацию, которые не документированы?

Что я пробовал

  • Все проверено Поля шифрования соответствуют требованиям Microsoft к двоичной длине.
  • Подтверждено, что структура файла .intunewin соответствует формату Microsoft.
  • Протестировано с различными размерами и типами файлов.
  • Добавлены задержки для внутренней обработки.
  • Проверена целостность загрузки в хранилище Azure с помощью контрольных сумм MD5.
Проблема постоянно возникает в разных файлах .intunewin. Все проверки на стороне клиента соответствуют спецификациям Microsoft, что позволяет предположить, что это может быть проблема обработки на стороне службы.
Спасибо за любую помощь!

Подробнее здесь: https://stackoverflow.com/questions/797 ... after-succ

Вернуться в «Python»