azureStorageUri не создается при создании файла mobileAppContentFile в Microsoft Intune

Я хочу создать mobileAppContentFile . Для этого я отправляю POST-запрос на:

https://graph.microsoft.com/beta/deviceAppManagement/mobileApps/0122f94e-45c4-458a-a25a-c08135a036fc/microsoft.graph.windowsMobileMSI/contentVersions/1/files

с этим телом запроса:

{
    "@odata.type": "#microsoft.graph.mobileAppContentFile",
    "azureStorageUri": "https://NAME.blob.core.windows.net/intune/TestApp.msi",
    "name": "TestApp.msi",
    "isCommitted": false,
    "uploadState": "azureStorageUriRequestPending"
}

Я получаю 201 Created ответ, но azureStorageUri null:

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#deviceAppManagement/mobileApps('0122f94e-45c4-458a-a25a-c08135a036fc')/microsoft.graph.windowsMobileMSI/contentVersions('1')/files/$entity",
    "azureStorageUri": null,
    "azureStorageUriExpirationDateTime": null,
    "createdDateTime": "0001-01-01T00:00:00Z",
    "id": "ca57173c-5f67-4048-90bf-3bac136de964",
    "isCommitted": false,
    "manifest": "bWFuaWZlc3Q=",
    "name": "TestApp.msi",
    "size": 0,
    "sizeEncrypted": 0,
    "uploadState": "azureStorageUriRequestPending"
}

В чем может быть проблема?

введите описание изображения здесь


person John    schedule 24.01.2018    source источник
comment
Похоже, вы передаете URI в каталог https://NAME.blob.core.windows.net/intune/, а не в фактический файл https://NAME.blob.core.windows.net/intune/TestApp.msi.   -  person Marc LaFleur    schedule 24.01.2018
comment
@MarcLaFleur, вы имеете в виду, что мне нужно установить для azureStorageUri: https://NAME.blob.core.windows.net/intune/TestApp.msi в теле запроса или PUT-файла значение https://NAME.blob.core.windows.net/intune/TestApp.msi?   -  person John    schedule 25.01.2018
comment
Насколько я понимаю, вам нужно сначала загрузить файл в хранилище Azure, а затем предоставить API URL-адрес этого файла.   -  person Marc LaFleur    schedule 25.01.2018
comment
@MarcLaFleur Я так и сделал, загрузил файл в хранилище Azure, а затем предоставил API с URL-адресом этого файла. Я изменил описание, вы можете увидеть   -  person John    schedule 25.01.2018


Ответы (1)


Fisrt, как сказал @Marc Lafleur, вам нужно сначала загрузить файл в хранилище Azure, а затем указать для них требуемое значение свойства. Во-вторых, в теле запроса вы не указали полные требуемые свойства.

Следуйте этому примеру, чтобы создать один файл содержимого мобильного приложения:

POST https://graph.microsoft.com/beta/deviceAppManagement/mobileApps/{mobileAppId}/contentVersions/{mobileAppContentId}/files
Content-type: application/json
Content-length: 342

{
  "@odata.type": "#microsoft.graph.mobileAppContentFile",
  "azureStorageUri": "Azure Storage Uri value",
  "isCommitted": true,
  "name": "Name value",
  "size": 4,
  "sizeEncrypted": 13,
  "azureStorageUriExpirationDateTime": "2017-01-01T00:00:08.4940464-08:00",
  "manifest": "bWFuaWZlc3Q=",
  "uploadState": "transientError"
}
person Wayne Yang    schedule 30.01.2018
comment
Я сделал все, как вы описали. Я получаю ответ 201 Created, но значение azureStorageUri равно нулю. - person John; 30.01.2018
comment
У меня есть подозрение, что дело находится в каталоге моей учетной записи MS. В моей учетной записи есть два каталога A и B. В каталоге A я зарегистрировал приложение в Azure AD и сам Intune. В каталоге A я создаю мобильное приложение, содержимое и файл содержимого через Graph API, но у меня нет доступа к хранилищу. У меня есть доступ к хранилищу в каталоге B, и файл загружается с помощью каталога B. - person John; 30.01.2018
comment
Возможно, что из-за того, что в каталоге A в хранилище нет файла (и самого файла в каталоге хранилища B), у меня есть значение azureStorageUri - null.? - person John; 30.01.2018