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 名称以及关联的文件扩展名。
我的数据库中有很多音频,其 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 名称以及关联的文件扩展名。