Azure Media Servicdes: client.Assets.CreatOrUpdateAsync results in error: The resource Type is invalid

Azure Media Servicdes: client.Assets.CreatOrUpdateAsync results in error: The resource Type is invalid

基于此处的文档:https://docs.microsoft.com/en-us/azure/media-services/latest/stream-files-tutorial-with-api

我已经创建了一个媒体服务客户端,并且正在尝试创建新的资产以将视频文件上传到其中。

当我使用相关媒体服务的 API 访问选项卡上提供的信息执行此操作时,行:client.Assets.CreateOrUpdateAsync 失败并显示“资源类型无效”。

有人知道是什么原因造成的以及如何解决吗?该样本与凭证管理严重过时,作者在一年多的时间里完全没有反应。

我自己再次克隆了 repo,转到门户网站并从 API 访问 blade 中抓取了 JSON 并替换了 appsettings.json 文件(点击保存),然后按 F5 就可以了 运行。

您能否再次尝试清理该文件夹和 re-clone github 项目。

git clone https://github.com/Azure-Samples/media-services-v3-dotnet-tutorials.git

Re-grab 您的凭据并替换它们。

确保您也从“UploadEncodeAndStreamFile”文件夹中打开 vscode。似乎在为我工作。 不确定为什么您实际上会看到“资源类型无效”。听起来您的 appsettings.json 文件中的某些内容命名有误。

还要注意资产命名约定,需要注意字符限制和长度 - 请参见此处。 https://docs.microsoft.com/en-us/azure/media-services/latest/media-services-apis-overview#naming-conventions

命名约定

Azure 媒体服务 v3 资源名称(例如,资产、作业、转换)受 Azure 资源管理器命名限制。根据 Azure 资源管理器,资源名称始终是唯一的。因此,您可以使用任何唯一标识符字符串(例如 GUID)作为您的资源名称。

媒体服务资源名称不能包括:“<”、“>”、“%”、“&”、“:”、“”、“?”、“/”、“*”、“ +'、'.'、单引号字符或任何控制字符。允许所有其他字符。资源名称的最大长度为 260 个字符。

所以我发现这个错误对于遇到同样问题的任何人来说实际上意味着什么:

这是资产名称。它必须符合 Windows 文件命名标准,否则你会得到这个无用的错误。

当然应该将错误消息更新为“无效的资产名称,请确保它符合 windows 文件命名约定”,但这是给 Microsoft 的单独错误报告。