你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 数字孪生已知问题
可在本文了解与 Azure 数字孪生相关的已知问题。
Azure Digital Twins Explorer 不支持专用终结点
问题描述:尝试将 Azure Digital Twins Explorer 与使用专用链接禁用公共访问的 Azure 数字孪生实例一起使用时,Azure Digital Twins Explorer 会显示错误。 你可能会看到一个弹出窗口,显示“提取模型时出错”。
这是否会影响我? | 原因 | 解决方法 |
---|---|---|
如果将 Azure 数字孪生与专用终结点/专用链接配合使用,则尝试在 Azure Digital Twins Explorer 中查看实例时会受到此问题的影响。 | Azure Digital Twins Explorer 不支持专用终结点。 | 但是,你可以在云中私下部署专属版本的 Azure Digital Twins Explorer 代码库。 有关如何执行此操作的说明,请参阅 Azure Digital Twins Explorer:在云中运行。 也可改为使用 API 和 SDK 来管理 Azure 数字孪生实例。 |
Cloud Shell 中的“400 客户端错误: 错误请求”
问题描述:在 https://shell.azure.com 运行的 Cloud Shell 中的命令可能会间歇性失败,并出现错误“400 客户端错误: 对 URL http://localhost:50342/oauth2/token
的请求错误”,后面接完整的堆栈跟踪。
这是否会影响我? | 原因 | 解决方法 |
---|---|---|
在 Azure 数字孪生中,此问题会影响以下命令组:az dt route az dt model az dt twin |
这是 Cloud Shell 中的一个已知问题导致的:从 Cloud Shell 获取令牌时会间歇性失败,出现“400 客户端错误: 错误请求”。 这会影响 Azure 数字孪生实例身份验证令牌和 Cloud Shell 默认的基于托管标识的身份验证。 这不会影响来自 az dt 或 az dt endpoint 命令组的 Azure 数字孪生命令,原因是它们使用不同类型的身份验证令牌(基于 Azure 资源管理器),这不会对 Cloud Shell 的托管标识身份验证造成问题。 |
解决此问题的一种方法是在 Cloud Shell 中重新运行 az login 命令并完成后续登录步骤。 该操作将使会话脱离托管标识身份验证,从而避免了根本问题。 之后就能重新运行该命令。或者,你可在 Azure 门户中打开 Cloud Shell 窗格,在这里完成 Cloud Shell 工作。 最后,还有一种解决方案是在计算机上安装 Azure CLI,以便可在本地运行 Azure CLI 命令。 本地 CLI 不会遇到此问题。 |
Azure.Identity 1.2.0 上的交互式浏览器身份验证存在问题
问题描述:使用 Azure.Identity 库的 1.2.0 版本在 Azure 数字孪生应用程序中编写验证码时,可能会遇到与 InteractiveBrowserCredential 方法相关的问题。 当尝试在浏览器窗口中进行身份验证时,此问题将显示为错误响应“Azure.Identity.AuthenticationFailedException”。 浏览器窗口可能无法完全启动,或者貌似对用户的身份验证已成功,但客户端应用程序仍然失败并出现错误。
这是否会影响我? | 原因 | 解决方法 |
---|---|---|
以下文章中使用了受影响的方法: 为客户端应用编写代码 编写应用身份验证码 Azure 数字孪生 API 和 SDK |
某些用户在 Azure.Identity 库的 1.2.0 版本中遇到了此问题。 |
若要解决它,请更新应用程序以使用 Azure.Identity 的更高版本。 更新库版本后,浏览器应会按预期方式进行加载和身份验证。 |
Azure.Identity 1.3.0 上的默认 Azure 凭据身份验证出现问题
问题描述:当使用 Azure.Identity 库的 1.3.0 版本编写验证码时,某些用户在这些 Azure 数字孪生文档的许多示例中遇到了与 DefaultAzureCredential 方法相关的问题。当代码尝试进行身份验证时,此问题将显示为错误响应“Azure.Identity.AuthenticationFailedException: SharedTokenCacheCredential 身份验证失败”。
这是否会影响我? | 原因 | 解决方法 |
---|---|---|
此服务包含身份验证的大多数文档示例中都使用了 DefaultAzureCredential 。 如果使用 DefaultAzureCredential 和 1.3.0 版的 Azure.Identity 库编写验证码,并看到此错误消息,那么此问题会影响你。 |
这可能是由于 Azure.Identity 库及其身份验证类 DefaultAzureCredential 的某些配置问题造成的。 此类是一个包装器,其中包含按顺序尝试的几种凭证类型。 当身份验证流到达 SharedTokenCacheCredential 类型时,可能会发生此问题。 |
解决此问题的一种策略是从凭证中排除 SharedTokenCacheCredential ,如 Azure.Identity 出现的当前待解决的 DefaultAzureCredential 问题中所述。 可以通过使用以下可选参数实例化 DefaultAzureCredential 类从凭证中排除 SharedTokenCacheCredential :new DefaultAzureCredential(new DefaultAzureCredentialOptions { ExcludeSharedTokenCacheCredential = true }); 还有一种方法是更改应用程序以使用更低版本的 Azure.Identity ,例如版本 1.2.3。 使用早期版本对 Azure 数字孪生没有功能上的影响,因此也是公认的解决方案。 |
后续步骤
阅读有关 Azure 数字孪生的安全性和权限的详细信息: