【问题标题】:Job fail when uploading file from system to stream in Azure Media Service将文件从系统上传到 Azure 媒体服务中的流时作业失败
【发布时间】:2019-09-05 06:32:47
【问题描述】:

我正在尝试使用 node.js 在 Azure 媒体服务上设置 VOD 服务,但作业无法从容器访问文件。

这适用于运行节点 v10 的 Linux 服务器。适用于节点的 Azure 教程适用于示例 URL,但不适用于系统中的文件。该文件存储在输入 blob 容器中,但不要超过该容器。

当运行 AMS 教程时,节点从教程中的 URL 获取示例视频的流式端点,而没有更改时,我得到了流的端点,但是当尝试将文件从我的系统上传到 Azure 时媒体服务,文件被上传到 blob 容器,但该作业显然无法在输入资产容器中找到视频并返回 ErrorDownloadingInputAssetServiceFailure 错误,消息显示:

容器中不存在文件: 2019-09-05T05:36:10.775Z-big_buck_bunny_480p_2mb.mp431 \n容器 文件:10.775Z-big_buck_bunny_480p_2mb.mp431

我不知道我在哪里弄错了,但从消息看来,该作业正在尝试在不存在的 blob 容器中查找文件。

编辑: 教程链接:https://docs.microsoft.com/en-us/azure/media-services/latest/stream-files-nodejs-quickstart 教程GitHub:https://github.com/Azure-Samples/media-services-v3-node-tutorials.git 这段代码的 GitHub:https://github.com/DiegoAntonioli/azure-test.git

我使用 multer 作为中间件来获取文件,所以我通过 multer 将文件保存在系统中并上传到 azure 上的 blob 容器。 输入资产 blob 容器中的文件以我正在寻找的名称“2019-09-05T05:36:10.775Z-big_buck_bunny_480p_2mb.mp431”保存,而不是错误消息中显示的名称“10.775Z-big_buck_bunny_480p_2mb .mp431"。

编辑 2: 问题已解决,似乎 azure 在 blob 容器中搜索不带“:”字符的文件,所以当我在开始时使用 isosstring 日期上传时,他们只在最后一个“:”字符之后查找名称的文件,所以它永远找不到文件。我不知道它是否在文档中,但如果是,他们应该让它更清楚,因为我在寻找我的错误时迷路了,它只是文件名。

【问题讨论】:

  • 可以分享教程链接吗
  • 请同时分享您用于上传文件的代码。服务正在查找的文件名与存储容器中的实际文件不匹配。对于上述情况,该服务正在寻找“2019-09-05T05:36:10.775Z-big_buck_bunny_480p_2mb.mp431”。而实际预设的文件似乎是“10.775Z-big_buck_bunny_480p_2mb.mp431”。此外,您想要上传的是一个名为“big_buck_bunny_480p_2mb.mp4”的文件,没有前缀/后缀。
  • 抱歉拖了这么久,不得不关注一个工作项目。我用你们俩要求的@MohitVerma 和 AnilMurching 的信息编辑了这个问题

标签: node.js azure-media-services


【解决方案1】:

根本原因是 blob/文件名包含不受支持的字符“:”。有关允许名称的限制,请参阅this 页面。但是,您的帖子确实揭示了我们在解压错误消息时的一个错误 - 该错误已移交给工程部门以在即将到来的 sprint 中修复。

【讨论】:

  • 如果我可以只添加一条评论,也许你不应该让文件被存储并在尝试使用保留字符之一将文件上传到容器时发送错误消息,就这样该人知道文件名具有这样的字符。感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-20
  • 1970-01-01
  • 2015-12-12
  • 1970-01-01
  • 2015-07-21
  • 1970-01-01
相关资源
最近更新 更多