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

已完成

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

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

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

Azure_config_settings.txt Unity
adtHostName Adt 实例 URL
AppCredentials.txt Unity
appId 客户端 ID
password 客户端机密
tenant 租户 ID

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

添加 Azure 数字孪生凭据

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

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

    Screenshot of the Unity assets menu open showing Create > ScriptableObjects > Credentials > ADT Rest API Credentials menu selection.

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

    Screenshot of the ADT Rest API Credentials in the Inspector.

添加涡轮机警报控制器

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

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

  2. 选择“资产>”“ADTPrefabs>”“ADTTurbineAlertController”,将其从“项目”面板拖到列表底部的“层次结构”面板中。

    Screenshot of the ADT prefab objects in the Unity project panel.

    Screenshot of the ADT prefab objects added to the Unity hierarchy panel.

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

    Screenshot of the ADT turbine alert controller in the Unity inspector.

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

    Screenshot of the ADT Rest API Credentials scriptable object in the Unity assets folder.

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