你当前正在访问 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 dtaz dt endpoint 命令组的 Azure 数字孪生命令,原因是它们使用不同类型的身份验证令牌(基于 Azure 资源管理器),这不会对 Cloud Shell 的托管标识身份验证造成问题。
解决此问题的一种方法是在 Cloud Shell 中重新运行 az login 命令并完成后续登录步骤。 该操作将使会话脱离托管标识身份验证,从而避免了根本问题。 之后就能重新运行该命令。

或者,你可在 Azure 门户中打开 Cloud Shell 窗格,在这里完成 Cloud Shell 工作。
Azure 门户图标栏中的 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 类从凭证中排除 SharedTokenCacheCredentialnew DefaultAzureCredential(new DefaultAzureCredentialOptions { ExcludeSharedTokenCacheCredential = true });
还有一种方法是更改应用程序以使用更低版本的 Azure.Identity,例如版本 1.2.3。 使用早期版本对 Azure 数字孪生没有功能上的影响,因此也是公认的解决方案。

后续步骤

阅读有关 Azure 数字孪生的安全性和权限的详细信息: