Azure Media Service CreateWithHttpMessagesAsync-操作返回了无效的状态码:“ BadRequest”-

问题描述 投票:0回答:1

我正在将Azure Media Services v3Azure Function v3应用程序一起使用,并且尝试从https网址创建新作业时遇到问题。

我在提交作业的Azure Function中具有以下方法。

private static async Task<Job> SubmitJobAsync(IAzureMediaServicesClient client, string transformNam, string jobName, string fileUrl) {
    JobInputHttp jobInput = new JobInputHttp(files: new [] { fileUrl });
    JobOutput[] jobOutputs = 
    {
        new JobOutputAsset(jobName)
    }

    Job job = await client.Jobs.CreateAsync(
        _resourceGroupName,
        _accountName,
        transformName,
        jobName,
        new Job
        {
            Input = jobInput,
            Outputs = jobOutputs
        },
        CancellationToken.None);

    return job;
}

在实际创建作业await client.Jobs.CreateAsync(...的行上失败了并返回带有以下消息的异常:

操作返回了无效的状态代码'BadRequest'

堆栈跟踪:

在Microsoft.Azure.Management.Media.JobsOperations.CreateWithHttpMessagesAsync(字符串resourceGroupName,字符串accountName,字符串transformName,字符串jobName,作业参数,字典2 customHeaders,CancellationToken cancelToken)在Microsoft.Azure.Management.Media.JobsOperationsExtensions.CreateAsync(IJobsOperations操作,字符串resourceGroupName,字符串accountName,字符串transformName,字符串jobName,作业参数,CancellationToken cancelledToken)

任何想法,这意味着什么,或者我如何进一步调试它?

azure azure-functions azure-media-services
1个回答
0
投票

我认为问题出在您在创建作业之前没有创建输出资产这一事实。尝试在创建工作之前添加以下行:

string outputAssetName = jobName;

Asset outputAsset = await client.Assets.CreateOrUpdateAsync(_resourceGroupName, _accountName, outputAssetName, new Asset());

JobOutput[] jobOutputs = 
        {
            new JobOutputAsset(outputAssetName)
        }

另请参见:https://github.com/Azure-Samples/media-services-v3-dotnet-core-functions-integration/blob/master/LiveAndVodDRMOperationsV3/LiveAndVodDRMOperationsV3/VodFunctions/submit-job.cs

© www.soinside.com 2019 - 2024. All rights reserved.