你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于 Java 的 Azure IoT 数字孪生客户端库 - 版本 1.3.14
此库提供到 Azure Digital Twins 服务的访问权限,以便管理孪生体、模型、关系等。
入门
可以从 Microsoft Azure 下载页下载完整的 Microsoft Azure SDK,它附带了对生成部署包、与工具集成、丰富的命令行工具等的支持。
为了获得最佳开发体验,开发人员应使用适用于库的官方 Microsoft Maven 包。 Maven 包会定期更新新功能和修补程序。
包括包
包括 BOM 文件
请将 azure-sdk-bom 包含在项目中,以依赖于库的 GA 版本。 在以下代码段中,将 {bom_version_to_target} 占位符替换为版本号。 若要详细了解 BOM,请参阅 AZURE SDK BOM 自述文件。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-sdk-bom</artifactId>
<version>{bom_version_to_target}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
然后在没有版本标记的依赖项部分中包含直接依赖项。
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-digitaltwins-core</artifactId>
</dependency>
</dependencies>
包括直接依赖项
如果要依赖于 BOM 中不存在的特定库版本,请将直接依赖项添加到项目,如下所示。
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-digitaltwins-core</artifactId>
<version>1.3.14</version>
</dependency>
先决条件
- 一个 Microsoft Azure 订阅
- 若要调用 Microsoft Azure 服务,请创建 Azure 订阅。
- Azure 数字孪生实例
- 若要使用 Azure 数字孪生 SDK,请先使用以下选项之一创建数字孪生实例:
- 使用 Azure 门户
- 使用 Azure 管理 API
- 使用 Azure CLI
- 需要安装 Azure cli 和适用于 Azure CLI 的 Azure IoT 扩展 。
- 有关如何创建数字孪生实例并与之交互的详细信息,请参阅 IoT CLI 文档 。
- 若要使用 Azure 数字孪生 SDK,请先使用以下选项之一创建数字孪生实例:
对客户端进行身份验证
若要与 Azure 数字孪生服务交互,需要创建 TokenCredential 类 的实例,并将其传递给 DigitalTwinsClientBuilder 的构造函数。
关键概念
Azure 数字孪生是一种 Azure IoT 服务,用于创建物理环境的综合性模型。 它可以创建空间智能图,为人员、空间和设备之间的关系和交互建模。
可以通过访问 Azure 数字孪生文档了解有关 Azure 数字孪生的详细信息
示例
可以使用 数字孪生的示例来熟悉不同的 API。
源代码文件夹结构
/src/main/java/com/azure/digitaltwins/core
- 数字孪生客户端生成器
DigitalTwinsClientBuilder
- 数字孪生公共同步和异步客户端
DigitalTwinsClient
,DigitalTwinsAsyncClient
models
包
客户端库的某些部分通过 Autorest 生成,所使用的 swagger 文件在 Autorest 配置文件中定义。
若要重新生成代码,请 generate.ps1运行 Powershell 脚本。
/src/samples
此目录包含演示此客户端库的基本用法的示例代码。 有关其他信息,请参阅 示例自述文件
疑难解答
所有服务操作都会在服务报告的故障时引发 ErrorResponseException,并附带有用的错误代码和其他信息。
例如,使用 getModel
操作在创建模型之前检查模型是否存在。
try {
syncClient.getModel("someRandomModelId");
}
catch (ErrorResponseException ex) {
if (ex.getResponse().getStatusCode() == HttpURLConnection.HTTP_NOT_FOUND) {
return id;
} else {
// This request should not retried if it encounters a 401 error, for instance
throw new IllegalStateException("Encountered unexpected error while searching for unique id", ex);
}
}
后续步骤
请参阅我们的 代码示例中的实现示例。
贡献
本项目欢迎贡献和建议。 大多数贡献要求你同意贡献者许可协议 (CLA),并声明你有权(并且确实有权)授予我们使用你的贡献的权利。 有关详细信息,请访问 https://cla.microsoft.com 。
提交拉取请求时,CLA 机器人将自动确定你是否需要提供 CLA,并相应地修饰 PR(例如标签、注释)。 直接按机器人提供的说明操作。 只需使用 CLA 对所有存储库执行一次这样的操作。
此项目采用了 Microsoft 开放源代码行为准则。 有关详细信息,请参阅行为准则常见问题解答;若有其他任何问题或意见,请联系 opencode@microsoft.com。