【Azure 媒体服务】Media Service的编码示例 -- 创建缩略图子画面的.NET代码调试问题

这篇具有很好参考价值的文章主要介绍了【Azure 媒体服务】Media Service的编码示例 -- 创建缩略图子画面的.NET代码调试问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述

在中国区Azure上,使用Media Service服务,想要使用.NET的代码来对上传视频创建缩略图(Thumbnail) 。

【Azure 媒体服务】Media Service的编码示例 -- 创建缩略图子画面的.NET代码调试问题

通过官网文档(https://docs.azure.cn/zh-cn/media-services/latest/samples/samples-encoding-reference#create-a-thumbnail-sprite)下载.NET示例,配置 appsettings.json 中的参数,运行却出现(Azure.Identity.AuthenticationFailedException: 'ClientSecretCredential authentication failed: AADSTS90002: )异常。

【Azure 媒体服务】Media Service的编码示例 -- 创建缩略图子画面的.NET代码调试问题

Azure.Identity.AuthenticationFailedException: 'ClientSecretCredential authentication failed: AADSTS90002: Tenant '********-****-****-****-************' not found. Check to make sure you have the correct tenant ID and are signing into the correct cloud. Check with your subscription administrator, this may happen if there are no active subscriptions for the tenant.

Trace ID: 99b963f7-86a5-4cde-a890-8828eff73000

Correlation ID: 62d4fa3b-92ad-4411-850c-87f562a256b3

Timestamp: 2023-05-10 07:25:55Z'

问题解答

查看.NET项目中的源码,发现获取Credential的代码使用的是 DefaultAzureCredential()。并且 ArmClient 对象也没有指定Azure的运行环境。

var mediaServicesResourceId = MediaServicesAccountResource.CreateResourceIdentifier(
    subscriptionId: options.AZURE_SUBSCRIPTION_ID.ToString(),
    resourceGroupName: options.AZURE_RESOURCE_GROUP,
    accountName: options.AZURE_MEDIA_SERVICES_ACCOUNT_NAME);

var credential = new DefaultAzureCredential(includeInteractiveCredentials: true);
var armClient = new ArmClient(credential);
var mediaServicesAccount = armClient.GetMediaServicesAccountResource(mediaServicesResourceId);

默认情况下,它们都是指向Global Azure,而非China Azure。

所以,解决当前问题的方法就是在DefaultAzureCredential和ArmClient方法中指定中国区Azure为运行环境。

修改这部分代码为为:

var mediaServicesResourceId = MediaServicesAccountResource.CreateResourceIdentifier(
    subscriptionId: options.AZURE_SUBSCRIPTION_ID.ToString(),
    resourceGroupName: options.AZURE_RESOURCE_GROUP,
    accountName: options.AZURE_MEDIA_SERVICES_ACCOUNT_NAME);

DefaultAzureCredentialOptions dacOptions = new DefaultAzureCredentialOptions() { AuthorityHost = AzureAuthorityHosts.AzureChina };
var credential = new DefaultAzureCredential(dacOptions);

ArmClientOptions armOptions = new ArmClientOptions() { Environment = ArmEnvironment.AzureChina};
var armClient = new ArmClient(credential, options.AZURE_SUBSCRIPTION_ID.ToString(), armOptions);

var mediaServicesAccount = armClient.GetMediaServicesAccountResource(mediaServicesResourceId);

注意:使用 DefaultAzureCredential 认证,需要设置以下的环境变量

  1. AZURE_CLIENT_ID
  2. AZURE_TENANT_ID
  3. AZURE_CLIENT_SECRET

变量说明: https://learn.microsoft.com/en-us/dotnet/api/overview/azure/identity-readme?view=azure-dotnet#environment-variables

关于DefaultAzureCredential方法获取认证参数的顺序,如下图所示:

【Azure 媒体服务】Media Service的编码示例 -- 创建缩略图子画面的.NET代码调试问题

参考资料

DefaultAzureCredential : https://learn.microsoft.com/en-us/dotnet/api/overview/azure/identity-readme?view=azure-dotnet#defaultazurecredential

 文章来源地址https://www.toymoban.com/news/detail-438232.html

到了这里,关于【Azure 媒体服务】Media Service的编码示例 -- 创建缩略图子画面的.NET代码调试问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux系统媒体播放器(media player)大全

    是一种软件程序,可以使用它来播放多种类型的媒体文件,如音频和视频等。 常见的媒体播放器有 Windows Media Player、QuickTime Player、iTunes、RealPlayer 等。它们通常可以播放多种格式的音视频文件,如 MP3、WMA、AAC、AVI、MP4、FLV 等等,为用户提供各种音视频娱乐体验。 媒体播放器

    2024年02月11日
    浏览(42)
  • Media3:Android下一代媒体框架

    无论您是在构建音乐播放器、视频流应用程序还是其他需要播放媒体内容的 Android 应用程序,拥有可靠的媒体播放库都是必不可少的。 这就是 Media3 发挥作用的地方。 Media3 是由 Google 作为 AndroidX 的一部分推出的强大媒体播放库。它提供了一个易于使用的 API,简化了 Android 应

    2024年02月16日
    浏览(58)
  • 3.17 Bootstrap 多媒体对象(Media Object)

    下面我们将讲解 Bootstrap 中的多媒体对象(Media Object)。这些抽象的对象样式用于创建各种类型的组件(比如:博客评论),我们可以在组件中使用图文混排,图像可以左对齐或者右对齐。媒体对象可以用更少的代码来实现媒体对象与文字的混排。 媒体对象轻量标记、易于扩

    2024年02月16日
    浏览(32)
  • RK3568-mpp(Media Process Platform)媒体处理软件平台

    概述 系统架构

    2024年02月09日
    浏览(38)
  • 【Microsoft Azure 的1024种玩法】五十四. 十分钟快速上手创建部署Azure speech服务

    Azure语音服务是Microsoft提供稳定可靠的云通信服务,其在单个 Azure 订阅中统合了语音转文本、文本转语音以及语音翻译功能,我们可以通过各种方式(语音 CLI、语音 SDK、Speech Studio )来实现语音转文本、文本转语音等功能,本篇文档主要介绍了如何快速上手创建部署Azure sp

    2024年02月12日
    浏览(43)
  • 【Azure 存储服务】Java Storage SDK 调用 uploadWithResponse 代码示例(询问ChatGTP得代码原型后人力验证)

    查看Java Storage SDK,想找一个 uploadWithResponse  的示例代码,但是通过全网搜索,结果没有任何有帮助的代码。使用最近ChatGPT来寻求答案,得到非常有格式的内容: 问:java azure storage account to use uploadWithResponse 答:To use the uploadWithResponse method with the Azure Blob Storage client library

    2024年02月03日
    浏览(49)
  • Docker RTMP服务器搭建与视频流推送示例(流媒体服务器tiangolo/nginx-rtmp,推流客户端ffmpeg)

    在这篇文章中,我将详述如何搭建一个RTMP(Real-Time Messaging Protocol)服务器,并使用ffmpeg技术进行本地视频的推流。最后,我们将使用VLC播放器来播放这个RTMP流。 首先,我们需要搭建一个RTMP服务器。为了方便起见,我们将选择Docker作为服务器的环境。Docker的轻量化和可移植

    2024年01月17日
    浏览(52)
  • 【Microsoft Azure 的1024种玩法】三十三.十分钟快速部署 Azure Kubernetes Service 群集

    Azure Kubernetes 服务 (AKS) 通过将操作开销卸载到 Azure,简化了在 Azure 中部署托管 Kubernetes 群集的过程。 作为一个托管的 Kubernetes 服务,Azure 可以自动处理运行状况监视和维护等关键任务,本篇文章要分享的内容是如何在Azure中使用十分钟快速部署 Azure Kubernetes Service 群集 【Mi

    2024年02月05日
    浏览(45)
  • 社交媒体中的表情符号结合大数据 AI 的研究 Analyzing Emoji Use in Social Media Posts Insights

    作者:禅与计算机程序设计艺术 在社交媒体中,由于使用了表情符号表述自己的情感,使得用户对某类产品或服务表达出的态度更加直观、生动。在这一领域,研究人员需要收集和分析社交媒体上的文字和图片数据,以此探索用户对于 popular emojis 的态度倾向及其产生的影响

    2024年02月08日
    浏览(41)
  • Azure Kubernetes Service中重写规则踩坑小记录

    最近在做标准产品在不同云平台中的部署验证,有幸体验了一下微软的Azure。负责采购的运维部门这次采用了 Application Gateway 来搭配 AKS ( Azure Kubernetes Service )对外暴露服务,正好借着这个机会来体验一下 Application Gateway 。 域名 api.demo.com 指向 Application Gateway 的IP地址 在 AKS 内部

    2024年02月07日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包