你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于 .NET 的 Azure IoT 时序见解客户端库 - 版本 1.0.0-beta.1
此库提供对 Azure 时序见解 服务的访问权限。
入门
可以从 Microsoft Azure 下载页下载完整的 Microsoft Azure SDK,它附带了对生成部署包、与工具集成、丰富的命令行工具等的支持。
为了获得最佳开发体验,开发人员应使用库的官方 Microsoft NuGet 包。 NuGet 包会定期更新新功能和修补程序。
安装包
尚未为此客户端库发布任何包。
先决条件
- 一个 Microsoft Azure 订阅
- 若要调用 Microsoft Azure 服务,请创建 Azure 订阅。
对客户端进行身份验证
若要与 Azure 时序见解 服务交互,需要创建 TokenCredential 类的实例,并将其传递给 TimeSeriesInsightsClient 的构造函数。
关键概念
时序见解客户端main概念包括:
- 实例客户端:执行创建、列出、替换和删除时序实例等操作。
- 类型客户端:执行创建、列出、替换和删除时序类型等操作。
- 层次结构客户端:执行创建、列出、替换和删除时序层次结构等操作。
- 模型设置客户端:执行获取和更新时序模型配置设置等操作。
- 查询客户端:在时序见解上查询事件、序列和聚合系列。
线程安全
我们保证所有客户端实例方法都是线程安全的,并且彼此独立 (准则) 。 这可确保重用客户端实例始终是安全的,即使在线程之间也是如此。
其他概念
客户端选项 | 访问响应 | 长时间运行的操作 | 处理失败 | 诊断 | 嘲笑 | 客户端生存期
示例
可以使用 时序见解的示例熟悉不同的 API。
源代码文件夹结构
/Src
时序见解公共客户端 TimeSeriesInsightsClient
和可发送到时序见解服务的其他配置选项 TimeSeriesInsightsClientOptions
。
/src/Generated
autorest 使用 autorest 配置文件中定义的 swagger 文件生成的代码。
若要重新生成代码,请 运行 powershell 脚本generate.ps1。
每当更新客户端库代码时,都需要运行以下脚本:
- Export-AdtApis.ps1,它将更新 API 图面文档。
- Update-Snippets.ps1,它将更新自述文件和客户端文档注释中的所有代码片段。
/src/Customized
为替代自动生成代码的以下行为而编写的自定义代码:
- 将一些生成的类型声明为 内部类型,而不是将自动引入默认值声明 为 public。
/src/Models
可用于时序见解客户端操作的模型类。
/src/Properties
运行单元测试所需的程序集属性。
疑难解答
时序见解服务操作失败通常作为 TimeSeriesOperationError 返回给用户。 TimeSeriesOperationError 响应由客户端库 API 直接返回,或作为客户端库 API 的实际响应中的嵌套属性返回。 例如,属于层次结构客户端的 DeleteByName API 直接返回 TimeSeriesOperationError。 而作为实例客户端一部分的 Replace API 将返回 InstancesOperationResult,其中包含嵌套的 TimeSeriesOperationError 属性。
下面的示例演示如何使用 TimeSeriesInsightsSampleGetTypeById 操作,循环访问响应错误,以确定类型是否不存在。
// Code snippet below shows getting a default Type using Id
// The default type Id can be obtained programmatically by using the ModelSettings client.
TimeSeriesInsightsModelSettings modelSettingsClient = client.GetModelSettingsClient();
TimeSeriesModelSettings modelSettings = await modelSettingsClient.GetAsync();
Response<TimeSeriesTypeOperationResult[]> getTypeByIdResults = await typesClient
.GetByIdAsync(new string[] { modelSettings.DefaultTypeId });
// The response of calling the API contains a list of type or error objects corresponding by position to the input parameter array in the request.
// If the error object is set to null, this means the operation was a success.
for (int i = 0; i < getTypeByIdResults.Value.Length; i++)
{
if (getTypeByIdResults.Value[i].Error == null)
{
Console.WriteLine($"Retrieved Time Series type with Id: '{getTypeByIdResults.Value[i].TimeSeriesType.Id}'.");
}
else
{
Console.WriteLine($"Failed to retrieve a Time Series type due to '{getTypeByIdResults.Value[i].Error.Message}'.");
}
}
后续步骤
请参阅 代码示例的实现示例。
贡献
本项目欢迎贡献和建议。 大多数贡献要求你同意贡献者许可协议 (CLA),并声明你有权(并且确实有权)授予我们使用你的贡献的权利。 有关详细信息,请访问 https://cla.microsoft.com.
提交拉取请求时,CLA 机器人将自动确定你是否需要提供 CLA,并相应地修饰 PR(例如标签、注释)。 直接按机器人提供的说明操作。 只需使用 CLA 对所有存储库执行一次这样的操作。
此项目采用了 Microsoft 开放源代码行为准则。 有关详细信息,请参阅行为准则常见问题解答;若有其他任何问题或意见,请联系 opencode@microsoft.com。