Создание задания из REST API возвращает ошибку имени свойства запроса

У меня есть актив и медиапроцессор. Теперь я пытаюсь закодировать свой актив. Когда я отправляю запрос, указанный в руководстве (http://msdn.microsoft.com/en-us/library/jj129574.aspx):

{
   "Name":"CurlTestJob",
   "InputMediaAssets":[
      {
         "__metadata":{
            "uri":"https://wamsbluclus001rest-hs.cloudapp.net/api/Assets('nb%3Acid%3AUUID%3A429967f5-4709-4377-bab2-4680ae2a0dd87')"
         }
      }
   ],
   "Tasks":[
      {
         "Configuration":"H.264 HD 720p VBR",
         "MediaProcessorId":"nb%3Ampid%3AUUID%3A2e7aa8f3-4961-4e0c-b4db-0e0439e524f5",
         "TaskBody":"<?xml version=\"1.0\" encoding=\"utf-8\"?><taskBody><inputAsset>JobInputAsset(0)</inputAsset><outputAsset>JobOutputAsset(0)</outputAsset></taskBody>"
}
]
}

получаю следующий ответ

{
    "odata.error":
    {
        code: "";
        message:
        {
            lang: "en-US";
            value: "Parsing request content failed due to: Make sure to only use property names that are defined by the type";
        };
    };
}

Я использую API версии 2.2.

Может кто-нибудь объяснить мне, где я не прав?


person Dmitry Harnitski    schedule 29.05.2014    source источник
comment
Вы поняли, что было не так   -  person Bjarke    schedule 11.02.2015


Ответы (2)


Попробуйте установить заголовок "DataServiceVersion: 2.0"

Я столкнулся с той же проблемой при использовании «DataServiceVersion: 3.0».

person Nima Jalali    schedule 12.11.2014

Ошибка говорит о том, что свойства в файле json не соответствуют свойствам в десериализованном типе. http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.mediaservices.client.iasset.aspx показывает, что IAsset имеет свойство Uri, но ничего не говорит о __metadata. Вы можете попробовать изменить свой json на

 "InputMediaAssets":[{
        "Uri":"https://wamsbluclus001rest-hs.cloudapp.net/api/Assets('nb%3Acid%3AUUID%3A429967f5-4709-4377-bab2-4680ae2a0dd87')"
  }],
person Sergey Zhukov    schedule 11.06.2014
comment
Вы предоставили ссылку на .NET SDK, но мы используем RESTFULL API. __метаданные определены в образце RESTFULL msdn.microsoft.com/en-us/library/ jj129574.aspx - person Dmitry Harnitski; 11.06.2014
comment
Я видел этот образец. Классы SDK и REST API должны быть синхронизированы с точки зрения публичных свойств, поэтому я указал на разницу между классами и примером в MSDN. - person Sergey Zhukov; 11.06.2014