0

我正在尝试使用以下 git repo 来连接到 azure ams,上传视频并进行流式传输: https ://github.com/Azure-Samples/media-services-v3-node-tutorials/blob/main/ AMSv3Samples/StreamFilesSample/index.ts

出于某种原因,我不断收到以下错误:

The client 'XXX' with object id 'XXX' does not have authorization to perform action 'Microsoft.Media/mediaServices/transforms/write' over scope '/subscriptions/XXX/resourceGroups/TEST-APP/providers/Microsoft.Media/mediaServices/TESTAMP/transforms/ContentAwareEncoding' or the scope is invalid. If access was recently granted, please refresh your credentials

AD 用户是所有者,但我知道这是权限问题。我在网上搜索了几个小时我需要授予什么权限以及在哪里但找不到任何解决方案

错误在这里抛出:

    let encodingTransform = await mediaServicesClient.transforms.createOrUpdate(resourceGroup, accountName, encodingTransformName, {
  name: encodingTransformName,
  outputs: [
    {
      preset: adaptiveStreamingTransform
    }
  ]
});

当然,我已将 .env 文件更新为我的 azure 帐户的正确数据。谁能指出我缺少什么以及如何授予此权限?

谢谢!

4

1 回答 1

1

该错误消息是指您的服务主体,该服务主体用于针对 AMS SDK 进行身份验证。

仔细检查您是否输入了服务主体 ID 和密钥的 GUID 值,并确保您没有在其中使用友好名称。

AADCLIENTID="00000000-0000-0000-0000-000000000000" AADSECRET="00000000-0000-0000-0000-000000000000"

此外,在门户中的 IAM 访问控制中仔细检查服务主体是否存在于您的媒体服务账户的角色分配下,并且首先具有贡献者或所有者权限角色。

如果您所在的企业锁定了 AAD 访问权限 - 您可能需要与您的 AAD 所有者/管理员合作以进行这些更改并为服务主体授予您帐户的正确角色。这有点超出媒体服务的范围,只是一般的 Azure AAD 应用程序创建权限和角色分配。如果您仍然遇到问题,我会提交支持票证并要求您的 AAD 管理员将角色权限分配给您的服务主体。

顺便说一句,我们还在为即将发布的 10.0.0 Javascript SDK (即将发布!)更新 Node.js SDK 示例。在此处查看测试版示例 - https://github.com/Azure-Samples/media-services-v3-node-tutorials/tree/10.0.0-beta.1

于 2021-12-13T18:43:54.193 回答