练习 - 连接到 Azure 数字孪生 REST API 以解决警报

已完成

在现实条件下,风力发电场并不会持续运作。 有时,涡轮机资产会遇到可能超过运行阈值的异常。 在这些情况下,涡轮机资产会发送警报信号,而操作员和工程师会接收、分析并采取措施。 为了从混合现实应用中解决 Azure 数字孪生上的涡轮机资产警报,需要向 Azure 数字孪生 REST API 发送请求。

要向 REST API 发送请求,需要进行身份验证。 在此学习模块的上下文中,你将使用与 应用注册对应的应用凭据进行身份验证。 这些凭据表示应用,而不是个体,需要复制到 Unity 项目中。 当应用生成后,这些凭据将直接编译到应用中。 不建议将这种身份验证方法用于生产系统,因为它不需要用户登录。 因此,它不会阻止未经授权的用户访问。 为简单起见,在此学习模块中使用此方法。

此外,ARM 模板还创建所需的应用注册。 作为输出的一部分,你创建了 AppCredentials.txtAzure_config_settings.txt 文本文件,其中包含配置 Unity 可脚本对象所需的重要变量。 使用这些变量映射,将值输入到 Unity 中:

Azure_config_settings.txt 统一
adtHostName Adt 实例 URL
AppCredentials.txt 统一
应用程序ID 客户端 ID
密码 客户端机密
租户 租户 ID

需要将这些凭据和 URL 传输到 Unity 项目,以便应用可以进行身份验证,并与 Azure 数字孪生交互。 具体来说,需要将这些值分配给项目中的脚本化对象,并从场景中的特定 ScriptableObject 中引用该 GameObject

添加 Azure 数字孪生凭据

  1. 导航到 Unity 项目面板中的 “凭据 ”文件夹: Assets>ScriptableObjects>AzureDigitalTwin>凭据

  2. 选择“资产”>“创建”>“ScriptableObjects”>“凭据”>“ADT Rest API 凭据”,为凭据创建可编写脚本的对象。

    打开的 Unity 资产菜单的屏幕截图,其中显示了“创建”>“脚本化对象”>“凭据”>“ADT Rest API 凭据”菜单选项。

  3. 在项目面板中选择新建的可脚本对象,在 检查器 面板中查看其配置参数。 根据上一部分中的变量映射,从 AppCredentials.txt 文件中传输值。

    “检查器”中“ADT Rest API 凭据”的屏幕截图。

添加涡轮机警报控制器

要向场景添加涡轮机警报控制器并进行身份验证:

  1. ADTTurbineAlertController更改特定涡轮机的数字孪生体上的警报属性。 在 Azure 数字孪生上更改此属性后, ADTConnection prefab 会在本地接收通知并更新相应的警报值。

  2. Assets>ADTPrefabs>ADTTurbineAlertControllerProject 面板拖到列表底部的 Hierarchy 面板。

    Unity 项目面板中 ADT prefab 对象的屏幕截图。

    添加到 Unity 层次结构面板的 ADT prefab 对象的屏幕截图。

  3. 检查器中,找到 ADT 涡轮机警报控制器(脚本) 组件。 对于名为“Adt 连接信息”的字段,选择值框内的圆形图标。

    Unity 检查器中 ADT 涡轮机警报控制器的屏幕截图。

  4. 选择“Adt 连接信息”属性,并分配 ADTRestAPICredentials 可编写脚本的对象。

    Unity 资产文件夹中 ADT Rest API 凭据可编写脚本对象的屏幕截图。

  5. 使用“文件”>“保存”保存文件。