public async Task <IActionResult> AMS_EncodingStart(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "AMS/StartEncode")]
            [RequestBodyType(typeof(DFJobInputDTO), "CreateLesson request")] HttpRequest req,
            [DurableClient] IDurableOrchestrationClient starter,
            [SwaggerIgnore] ILogger log)
        {
            string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            var    reqBody     = JsonConvert.DeserializeObject <DFJobInputDTO>(requestBody);

            var assetAMS = await _amsService.GetAssetAMS(reqBody.AssetId);

            var configAsset = new ConfigAssetDTO()
            {
                AssetID     = reqBody.AssetId,
                InputName   = string.Format(_configAsset.InputName, assetAMS.ContentAddress),
                OutputName  = string.Format(_configAsset.OutputName, assetAMS.ContentAddress),
                JobName     = string.Format(_configAsset.JobName, assetAMS.ContentAddress),
                LocatorName = string.Format(_configAsset.LocatorName, assetAMS.ContentAddress)
            };
            var inputConfigAsset = JsonConvert.SerializeObject(configAsset);

            var instanceId = await starter.StartNewAsync("AMS_EncodeOrchestrator", input : inputConfigAsset);

            var payload = starter.CreateHttpManagementPayload(instanceId);

            return(new OkObjectResult(new
            {
                instanceId,
                terminatePostUri = payload.TerminatePostUri,
                sendEventPostUri = payload.SendEventPostUri,
                purgeHistoryDeleteUri = payload.PurgeHistoryDeleteUri,
            }));
        }