Azure 媒体服务 - 下载暂时性错误

Azure Media Services - Download Transient Error

我的数据库中有很多音频,其 URL 如下:

https://mystorage.blob.core.windows.net/mycontainer/uploaded%2F735fe9dc-e568-4920-a3ed-67230ce01991%2F5998d1f8-1795-4776-a19c-f1bc4a0d4786%2F2020-08-13T13%3A09%3A13.0996703Z?sv=2020-02-10&se=2022-01-05T16%3A58%3A50Z&sr=b&sp=r&sig=hQBPyOE92%2F67MqU%2Fe5V2NsqGzgPxogVeXQT%2BOlvbayw%3D

我正在使用这些 URL 作为我的 JobInput,并提交编码作业,因为我想将音频分发迁移到流媒体方法。 但是,每次我使用这种 URL 时,它都会因 DownloadTransientError 而失败,并出现类似 while trying to download the input files, the files were not acessible.

的消息

如果我使用更简单的 URL (https://mystorage.blob.core.windows.net/mycontainer/my-audio.wav) 手动将文件上传到 blob 存储,并将其用作 JobInput,它可以无缝运行。我怀疑这与较大 URL 上的特殊字符有关,但我不确定。可能是什么问题?

这是提交作业的代码部分:

            var jobInput = new JobInputHttp(new[]
            {
                audio.AudioUrl.ToString()
            });
            JobOutput[] jobOutput =
            {
                new JobOutputAsset(outputAssetName),
            };


            var job = await client.Jobs.CreateAsync(
                    resourceGroupName: _azureMediaServicesSettings.ResourceGroup,
                    accountName: _azureMediaServicesSettings.AccountName,
                    transformName: TransformName,
                    jobName: jobName,
                    new Job
                    {
                        Input = jobInput,
                        Outputs = jobOutput
                    });

您需要在提供的 URL 中包含文件名。我将以您的 URL 为例,但也将其取消转义以使其更加清晰。 URL 应该类似于 https://mystorage.blob.core.windows.net/mycontainer/uploaded/735fe9dc-e568-4920-a3ed-67230ce01991/5998d1f8-1795-4776-a19c-f1bc4a0d4786/2020-08-13T13:09:13.0996703Z/my-audio.wav?sv=2020-02-10&se=2022-01-05T16:58:50Z&sr=b&sp=r&sig=hQBPyOE92/67MqU/e5V2NsqGzgPxogVeXQT+Olvbayw= 只需包含输入视频或音频文件的实际 blob 名称以及关联的文件扩展名。