你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

适用于 .NET 的 Azure IoT 数字孪生客户端库 - 版本 1.4.0

此库提供到 Azure Digital Twins 服务的访问权限,以便管理孪生体、模型、关系等。

源代码 | 包 (nuget)

入门

可以从 Microsoft Azure 下载页下载完整的 Microsoft Azure SDK,它附带了对生成部署包、与工具集成、丰富的命令行工具等的支持。

为了获得最佳开发体验,开发人员应使用库的官方 Microsoft NuGet 包。 NuGet 包会定期更新新功能和修补程序。

安装包

使用 NuGet 安装适用于 .NET 的 Azure 数字孪生客户端库:

dotnet add package Azure.DigitalTwins.Core

nuget.org 查看包详细信息。

先决条件

  • 一个 Microsoft Azure 订阅
    • 若要调用 Microsoft Azure 服务,请创建 Azure 订阅
  • Azure 数字孪生实例
    • 若要使用 Azure 数字孪生 SDK,请先使用以下选项之一创建数字孪生实例:

对客户端进行身份验证

若要与 Azure 数字孪生服务交互,需要创建 TokenCredential 类 的实例,并将其传递给 DigitalTwinsClient 的构造函数。

关键概念

Azure 数字孪生预览版是一种 Azure IoT 服务,用于创建物理环境的综合性模型。 它可以创建空间智能图,为人员、空间和设备之间的关系和交互建模。

若要详细了解 Azure 数字孪生,请访问 Azure 数字孪生文档

线程安全

我们保证所有客户端实例方法都是线程安全的,并且彼此独立 (准则) 。 这可确保重用客户端实例的建议始终是安全的,即使在线程之间也是如此。

其他概念

客户端选项 | 访问响应 | 长时间运行的操作 | 处理失败 | 诊断 | 嘲笑 | 客户端生存期

示例

可以使用 数字孪生的示例熟悉不同的 API。

源代码文件夹结构

/Src

数字孪生公共客户端 DigitalTwinsClient和可发送到数字孪生服务的其他配置选项 DigitalTwinsClientOptions

/src/Generated

autorest 使用 autorest 配置文件中定义的 swagger 文件生成的代码。

若要重新生成代码,请 运行 powershell 脚本generate.ps1

每当更新客户端库代码时,都需要运行以下脚本:

/src/Customized

为替代自动生成代码的以下行为而编写的自定义代码:

  • 重命名某些生成的类型,例如 GetModelsOptions
  • 将一些生成的类型声明为 内部类型,而不是将自动引入默认值声明 为 public
  • 声明一些方法以接受输入参数作为 字符串 而不是 对象
  • 声明一些方法,以 字符串 而不是 对象的形式返回响应。

/src/Models

可用于数字孪生客户端操作的模型类。

/src/Properties

运行单元测试所需的程序集属性。

/src/Serialization

提供的序列化帮助程序可帮助序列化/反序列化数字孪生服务中的常用类型。

故障排除

所有服务操作都会在服务报告的故障时引发 RequestFailedException,并附带有用的错误代码和其他信息。

例如,使用 GetModelAsync 操作在创建模型之前检查模型是否存在,仅在指定了该特定 HttpStatusCode 时进行捕获。

try
{
    Response<ModelData> desiredModel = await DigitalTwinsClient.GetModelAsync(desiredModelId);
}
catch (RequestFailedException ex) when (ex.Status == (int)HttpStatusCode.NotFound)
{
    // Model does not exist, so create it.
}

后续步骤

请参阅 代码示例的实现示例。

贡献

本项目欢迎贡献和建议。 大多数贡献要求你同意贡献者许可协议 (CLA),并声明你有权(并且确实有权)授予我们使用你的贡献的权利。 有关详细信息,请访问 https://cla.microsoft.com.

提交拉取请求时,CLA 机器人将自动确定你是否需要提供 CLA,并相应地修饰 PR(例如标签、注释)。 直接按机器人提供的说明操作。 只需使用 CLA 对所有存储库执行一次这样的操作。

此项目采用了 Microsoft 开放源代码行为准则。 有关详细信息,请参阅行为准则常见问题解答,或如果有任何其他问题或意见,请与 联系。